Jump to content

Dididice

Member
  • Posts

    4
  • Joined

  • Last visited

Everything posted by Dididice

  1. It turned out to be fixed. I have done several experiments. Version 41.5 remained on Steam, even after reinstallations. I decided to go the other way and run the .exe file of the game from the folder itself. The most amazing thing is that everything started and the spawn points began to be displayed, while there were no errors. After that I tried to run the start button in steam and again - the error of the spawn points. Output. I do not know what exactly, but when launched with a button in Steam, it creates this error. By the way, I have not installed any additional launch functions (-debug, etc.) And thank you very much for your responsiveness!
  2. I will repeat myself. I tested initially two mods on version 41.50, even when I used only 1 mod. On version 39 to 40.30, the template mod, as well as other modifications related to the addition of a spawn point (a random spawn location, another city, etc.), everything works. At 41.50 it no longer works. If required, I can run on versions 40.30, 39 and throw off the logs, if it can help with my problem.
  3. My collection mods https://steamcommunity.com/workshop/filedetails/?id=2404603789 While checking, I turned off all mods except raven creek and template. The rest of the mods from the list remained only in subscriptions and were not activated. Even after unsubscribing from all modifications and leaving only template, a similar error continues. 22-02-21_20-16-06_DebugLog.txt
  4. Good day, I apologize in advance for all the stylistic mistakes in the text. This text was translated with the help of a translator. Build version 41.50. Found an issue in any mod adding new cities and maps, unable to select map data in the start menu for selecting spawn points. In the game itself, these cities appear and work stably. Everything works fine on the stable version of the game. Tried reinstalling mods. Deleted a folder along the way "\\Users\username\zomboid". Completely reinstalled the game, however nothing helped. Can anyone tell me what to do in this case. The check was carried out on mods "mod template" and "raven creek" (https://steamcommunity.com/sharedfiles/filedetails/?id=2196102849&searchtext=raven+) client\OptionScreens\MapSpawnSelect.lua --*********************************************************** --** THE INDIE STONE ** --*********************************************************** require "ISUI/ISScrollingListBox" MapSpawnSelect = ISPanelJoypad:derive("MapSpawnSelect") local FONT_HGT_SMALL = getTextManager():getFontHeight(UIFont.Small) local FONT_HGT_MEDIUM = getTextManager():getFontHeight(UIFont.Medium) function MapSpawnSelect:initialise() ISPanelJoypad.initialise(self) end function MapSpawnSelect:getFixedSpawnRegion() if not isClient() then return nil end local spawnPoint = getServerOptions():getOption("SpawnPoint") if not spawnPoint or #spawnPoint:split(",") ~= 3 then return nil end local xyz = spawnPoint:split(",") local x = tonumber(xyz[1]) local y = tonumber(xyz[2]) local z = tonumber(xyz[3]) if x and y and z and (x ~= 0 or y ~= 0) then local worldX = math.floor(x / 300) local worldY = math.floor(y / 300) local posX = x - worldX * 300 local posY = y - worldY * 300 return { { name = getText("UI_mapspawn_ServerSpawnPoint"), points = { unemployed = { { worldX = worldX, worldY = worldY, posX = posX, posY = posY, posZ = z }, }, } } } end return nil end function MapSpawnSelect:getSafehouseSpawnRegion() if not isClient() then return nil end if not getServerOptions():getBoolean("SafehouseAllowRespawn") then return nil end local username = getClientUsername() if MainScreen.instance.inGame then if CoopCharacterCreation.instance.playerIndex > 0 then username = CoopUserName.instance:getUserName() end end for i=0,SafeHouse.getSafehouseList():size()-1 do local safe = SafeHouse.getSafehouseList():get(i); if safe:getPlayers():contains(username) or safe:getOwner() == username then x = safe:getX() + (safe:getH() / 2); y = safe:getY() + (safe:getW() / 2); z = 0; local worldX = math.floor(x / 300) local worldY = math.floor(y / 300) local posX = x - worldX * 300 local posY = y - worldY * 300 return { { name = getText("UI_mapspawn_Safehouse"), points = { unemployed = { { worldX = worldX, worldY = worldY, posX = posX, posY = posY, posZ = z }, }, } } } end end return nil end function MapSpawnSelect:getChallengeSpawnRegion() if not getCore():isChallenge() then return nil end return LastStandData.getSpawnRegion() end function MapSpawnSelect:getSpawnRegions() return self:getSafehouseSpawnRegion() or self:getFixedSpawnRegion() or self:getChallengeSpawnRegion() or SpawnRegionMgr.getSpawnRegions() end function MapSpawnSelect:hasChoices() local regions = self:getSpawnRegions() return regions and #regions > 1 end function MapSpawnSelect:useDefaultSpawnRegion() self.selectedRegion = nil local regions = self:getSpawnRegions() if not regions or #regions == 0 then return end self.selectedRegion = regions[1] return self.selectedRegion end function MapSpawnSelect:fillList() self.listbox:clear() local regions = self:getSpawnRegions() if not regions then return end for _,v in ipairs(regions) do local info = getMapInfo(v.name) if info then local item = {}; item.name = info.title or "NO TITLE"; item.region = v; item.dir = v.name; item.desc = info.description or "NO DESCRIPTION"; item.worldimage = info.thumb; self.listbox:addItem(item.name, item); else local item = {} item.name = v.name; item.region = v; item.dir = ""; item.desc = ""; item.worldimage = nil; self.listbox:addItem(item.name, item); end end self.listbox:sort() self:hideOrShowSaveName() end function MapSpawnSelect:hideOrShowSaveName() -- There is no "Save Name" field when creating a co-op player if MainScreen.instance.inGame then return end -- When loading an existing save, don't display "Save Name" field if MainScreen.instance.createWorld and not getCore():isChallenge() then self.startY = 110 self.textEntryLabel:setVisible(true) self.textEntry:setVisible(true) else self.startY = 80 self.textEntryLabel:setVisible(false) self.textEntry:setVisible(false) end self.listbox:setY(self.startY) self.listbox:setHeight(self.height-30-30-self.startY) end function MapSpawnSelect:onOptionMouseDown(button, x, y) self:setVisible(false) if button.internal == "BACK" then self:clickBack() elseif button.internal == "NEXT" then self:clickNext() end end function MapSpawnSelect:onDblClick() self.nextButton:forceClick() end function MapSpawnSelect:clickBack() if getWorld():getGameMode() == "Multiplayer" then backToSinglePlayer() getCore():ResetLua("default", "exitJoinServer") elseif self.previousScreen == "LastStandPlayerSelect" then self.previousScreen = nil LastStandPlayerSelect.instance:setVisible(true, self.joyfocus) elseif self.previousScreen == "LoadGameScreen" then MainScreen.resetLuaIfNeeded() self.previousScreen = nil LoadGameScreen.instance:setSaveGamesList() MainScreen.instance.loadScreen:setVisible(true, self.joyfocus) elseif self.previousScreen == "NewGameScreen" then self.previousScreen = nil MainScreen.instance.soloScreen:setVisible(true, self.joyfocus) elseif self.previousScreen == "WorldSelect" then self.previousScreen = nil MainScreen.instance.worldSelect:setVisible(true, self.joyfocus) end end function MapSpawnSelect:clickNext() self.selectedRegion = self.listbox.items[self.listbox.selected].item.region self:setVisible(false) if MainScreen.instance.createWorld then getWorld():setWorld(sanitizeWorldName(self.textEntry:getText())); end if getWorld():getGameMode() == "Sandbox" and not checkSaveFileExists("map_sand.bin") then MainScreen.instance.sandOptions.previousScreen = "MapSpawnSelect"; MainScreen.instance.sandOptions:setVisible(true, self.joyfocus) else MainScreen.instance.charCreationProfession.previousScreen = "MapSpawnSelect"; MainScreen.instance.charCreationProfession:setVisible(true, self.joyfocus) end end function MapSpawnSelect:prerender() ISPanelJoypad.prerender(self) local enable = true if self.textEntry and self.textEntry:isVisible() then local rawText = self.textEntry:getText() local worldName = sanitizeWorldName(rawText) if worldName == "" or worldName ~= rawText or luautils.stringStarts(worldName, ".") or luautils.stringEnds(worldName, ".") then enable = false else local checkExistName = getWorld():getGameMode() .. getFileSeparator() .. worldName if checkExistName ~= self.checkExistsName then self.checkExistsName = checkExistName self.checkExist = checkSaveFolderExists(checkExistName) end if self.checkExist then enable = false end end end if self.textEntry then self.textEntry:setValid(enable) end self.nextButton:setEnable(enable) end function MapSpawnSelect:render() ISPanelJoypad.render(self) self:drawTextCentre(getText("UI_mapspawn_title"), self.width / 2, 10, 1, 1, 1, 1, UIFont.Title) self:drawRectBorder(self.listbox:getX(), self.listbox:getY(), self.listbox:getWidth(), self.listbox:getHeight(), 0.9, 0.4, 0.4, 0.4) local selectedItem = self.listbox.items[self.listbox.selected].item; local thumbHeight = 0; local thumbPadY = 0; if selectedItem.worldimage ~= nil then thumbHeight = selectedItem.worldimage:getHeight(); thumbPadY = 10; local BreakPoint = ((self.width/4)*3) - selectedItem.worldimage:getHeight()/2; self:drawTexture(selectedItem.worldimage, BreakPoint, self.startY, 1, 1, 1, 1); self:drawRectBorder( BreakPoint, self.startY, selectedItem.worldimage:getWidth(), selectedItem.worldimage:getHeight(), 0.3, 1, 1, 1); -- self:drawTexture(item.worldimage, MapSelecter.padXY, y+MapSelecter.padXY, 1, 1, 1, 1); end local descRectWidth = self.width - 37 - (self.width/2 + 30) local descRectHeight = self.height - 60 - (self.startY + thumbHeight + thumbPadY) self.richText:setX(self.width/2 + 30) self.richText:setY(self.startY + thumbHeight + thumbPadY) self.richText:setWidth(descRectWidth) self.richText:setHeight(descRectHeight) self.richText:setVisible(true); self.richText.text = selectedItem.desc or ""; self.richText:paginate(); self:drawRectBorder( self.richText.x, self.richText.y, self.richText:getWidth(), self.richText:getHeight(), 0.3, 1, 1, 1); end function MapSpawnSelect:doDrawItem(y, item, alt) local isMouseOver = self.mouseoverselected == item.index and not self:isMouseOverScrollBar() if self.selected == item.index then self:drawRect(0, (y), self:getWidth(), item.height-1, 0.3, 0.7, 0.35, 0.15) elseif isMouseOver then self:drawRect(1, y + 1, self:getWidth() - 2, item.height - 2, 0.95, 0.05, 0.05, 0.05); end self:drawRectBorder(0, (y), self:getWidth(), item.height, 0.5, self.borderColor.r, self.borderColor.g, self.borderColor.b) local fontHgt = getTextManager():getFontFromEnum(UIFont.Large):getLineHeight() local textY = y + (item.height - fontHgt) / 2 self:drawText(item.text, 15, textY, 0.9, 0.9, 0.9, 0.9, UIFont.Large) y = y + item.height return y end function MapSpawnSelect:onGainJoypadFocus(joypadData) ISPanelJoypad.onGainJoypadFocus(self, joypadData) joypadData.focus = self.listbox updateJoypadFocus(joypadData) self.listbox:setISButtonForA(self.nextButton) self.listbox:setISButtonForB(self.backButton) end function MapSpawnSelect:create() local padX = 16 local btnWid = 100 local btnHgt = math.max(25, FONT_HGT_SMALL + 3 * 2) local btnPadY = 5 local titleHgt = 80 if not MainScreen.instance.inGame then -- don't show savefile entry in splitscreen self.textEntryLabel = ISLabel:new(20, 48, 50, getText("UI_mapselecter_savename"), 1, 1, 1, 1, UIFont.Medium, true); self.textEntryLabel:initialise(); self.textEntryLabel:instantiate(); self.textEntryLabel:setAnchorLeft(true); self.textEntryLabel:setAnchorRight(true); self.textEntryLabel:setAnchorTop(false); self.textEntryLabel:setAnchorBottom(false); self:addChild(self.textEntryLabel); local inset = 2 self.textEntry = ISTextEntryBox:new("", self.textEntryLabel:getRight() + 17, self.textEntryLabel.y + (self.textEntryLabel.height - (FONT_HGT_MEDIUM + inset * 2)) / 2, self.width-(self.textEntryLabel:getRight() + 17) - 16, 18); self.textEntry.font = UIFont.Medium self.textEntry:initialise(); self.textEntry:instantiate(); self.textEntry:setAnchorLeft(true); self.textEntry:setAnchorRight(true); self.textEntry:setAnchorTop(true); self.textEntry:setAnchorBottom(false); self:addChild(self.textEntry); local sdf = SimpleDateFormat.new("dd-MM-yyyy_hh-mm-ss"); self.textEntry:setText(sdf:format(Calendar.getInstance():getTime())); end -- not MainScreen.instance.inGame -- self.listbox = ISScrollingListBox:new(padX, titleHgt, self.width-padX*2, self.height-btnPadY-btnHgt-24-titleHgt) -- self.listbox:initialise() -- self.listbox:setAnchorRight(true) -- self.listbox:setAnchorBottom(true) -- self.listbox.doDrawItem = MapSpawnSelect.doDrawItem -- self.listbox:setOnMouseDoubleClick(self, MapSpawnSelect.onDblClick) -- self:addChild(self.listbox) self.listbox = ISScrollingListBox:new(16, self.startY, self.width/2, self.height-30-30-self.startY); self.listbox:initialise(); self.listbox:instantiate(); self.listbox:setAnchorLeft(true); self.listbox:setAnchorTop(true); self.listbox:setAnchorBottom(true); self:addChild(self.listbox); self.listbox.itemheight = 50; self.listbox.doDrawItem = MapSpawnSelect.doDrawItem self.listbox:setOnMouseDoubleClick(self, MapSpawnSelect.onDblClick) self.listbox.backgroundColor = {r=0, g=0, b=0, a=0.5}; self.richText = ISRichTextPanel:new(16, 10, 500,200); self.richText.marginRight = 20 self.richText.autosetheight = false; self.richText.clip = true self.richText:initialise(); self.richText.background = true; self.richText:setAnchorBottom(true); self.richText:setAnchorRight(true); self.richText:setVisible(false); self.richText.backgroundColor = {r=0, g=0, b=0, a=0.5}; self:addChild(self.richText); self.richText:addScrollBars() self.backButton = ISButton:new(padX, self.height - btnPadY - btnHgt, 100, btnHgt, getText("UI_btn_back"), self, MapSpawnSelect.onOptionMouseDown) self.backButton.internal = "BACK" self.backButton:initialise() self.backButton:instantiate() self.backButton:setAnchorLeft(true) self.backButton:setAnchorTop(false) self.backButton:setAnchorBottom(true) self.backButton.borderColor = {r=1, g=1, b=1, a=0.1} self:addChild(self.backButton) self.nextButton = ISButton:new(self.width - 116, self.height - btnPadY - btnHgt, 100, btnHgt, getText("UI_btn_next"), self, MapSpawnSelect.onOptionMouseDown) self.nextButton.internal = "NEXT" self.nextButton:initialise() self.nextButton:instantiate() self.nextButton:setAnchorLeft(false) self.nextButton:setAnchorRight(true) self.nextButton:setAnchorTop(false) self.nextButton:setAnchorBottom(true) self.nextButton:setEnable(true) -- sets the hard-coded border color self:addChild(self.nextButton) end function MapSpawnSelect:new(x, y, width, height) local o = ISPanelJoypad.new(self, x, y, width, height) o.selectedRegion = nil o.previousScreen = 'NewGameScreen' o.addY = 0; o.startY = MainScreen.instance.inGame and 80 or 110; MapSpawnSelect.instance = o return o end console.txt 22-02-21_14-59-42_DebugLog.txt
×
×
  • Create New...