Jump to content

lemmy101

The Indie Stone
  • Posts

    2051
  • Joined

  • Last visited

Everything posted by lemmy101

  1. that system needs a total rewrite for various reasons. Certainly not gonna be before NPCs I doubt very much
  2. I'm doin NPCS, I had like practically nothing to do with this update until the run up to release a couple of days ago, congrats to everyone else. thanks tho!
  3. Be VERY careful speider In short, GODDAMN why is everyone SO OBSESSED with what the version number is????
  4. Just to find out if there's a link, as I suspect there may be.
  5. I had this same problem in 2.9.9.10, so I kinda avoid Hardcore mode these days I just downloaded & ran 2.9.9.13 without having to put my desura key in.... I see some people were talking about keys earlier in the thread but are you sure the copy protection is on this version? once you log in once all versions are pre logged in
  6. REMEMBER: This is a forum test release because it may have new bugs or other serious issues, in fact a few we're aware of already and this latest build hasn't had a huge amount of closed testing. However we'd like to extend it to a forum test to get any remaining issues as quickly as possible. If not comfortable with that, please wait until official release on Desura, which should hopefully be for Mondoid if it goes well. REMEMBER, it's always advised to manually back up your saves (C:\Users\<username>\Zomboid\<gamemode>) when using forum builds. Version 2.9.9.15 : http://theindiestone.com/forums/index.php/topic/763-forum-test-release-project-zomboid-version-29915/ HOT FIX FOR GOD MODE (sorry for that) : go in media/lua/camping/camping.lua and replace everything with that : ----------------------------------------------------------------------- -- CAMPING MOD -- -- CODE BY ROBERT JOHNSON -- -- TEXTURE BY THUZTOR -- ----------------------------------------------------------------------- -- OFFICIAL TOPIC -- -- http://theindiestone.com/community/viewtopic.php?f=31&t=8968 -- -- -- ----------------------------------------------------------------------- require 'luautils' camping = {}; gameTime = {}; camping.player = {}; camping.playerData = {}; camping.tick = 0; camping.currentGridSquare = {}; camping.campfires = {}; camping.tents = {}; camping.cookingFood = {}; camping.upHeatOk = false; camping.hourElapsed = 0; camping.previousHour = 0; camping.campfireXp = 0; camping.forcedSleep = false; camping.tentClicked = {}; camping.mouseLeftClicked = false; camping.mouseRightClicked = false; camping.doCamping = function(character, item) camping.currentGridSquare = camping.player:getCurrentSquare(); if(item:getType() == "FireWoodKit") then camping.lightFireWithWoodKit(); elseif(item:getType() == "SteelAndFlint") then camping.lightFireWithSteelAndFlint(); end end camping.lightFireWithSteelAndFlint = function() -- fireSteelAndFlintAction end function fireSteelAndFlintAction() local currentCampfire = camping.getCurrentCampfire(); -- 1 to 3 chance to start fire with wood kit ! local randFireNumber = 3 - camping.campfireXp; if(randFireNumber < 1) then randFireNumber = 1; end local randFire = ZombRand(randFireNumber); if(randFire == 0) then currentCampfire.fireLvl = 2; camping.changeFireLvl(currentCampfire); camping.gainXp(); end end camping.lightFireWithWoodKit = function() --fireWoodAction end -- light the campfire with wood (Kindling) function fireWoodAction(currentCampfire, player, isOutdoorsMan) -- 1 to 5 chance to start fire with wood kit ! -- a outdoorsman have a greater chance to light the fire local randNumber = 6; if isOutdoorsMan then randNumber = 2; end if ZombRand(randNumber) == 0 then currentCampfire.fireLvl = 2; camping.changeFireLvl(currentCampfire); else -- fail ? Maybe the wood kit will broke... if ZombRand(randNumber) == 0 then player:Say("I broke my kindling..."); player:getInventory():Remove("FireWoodKit"); else player:Say("Crap, I fail..."); end end end -- The Doors FTW ! camping.lightMyFire = function(campfire, player) local lighter = player:getInventory():FindAndReturn("Lighter"); lighter:Use(); campfire.fireLvl = 2; camping.changeFireLvl(campfire); end -- edit the sprite according to the fire lvl camping.changeFireLvl = function(campFire) if campFire.gridSquare then local previousCont = campFire.tile:getItemContainer() or ItemContainer.new(); camping.removeTileFromGrid(campFire.gridSquare); local tile = IsoObject.new(campFire.gridSquare, "TileThuztorFirePit_0", "Campfire"); if(campFire.fireLvl == 1) then tile = IsoObject.new(campFire.gridSquare, "TileThuztorFirePitMedium_0", "Campfire"); elseif(campFire.fireLvl == 2) then tile = IsoObject.new(campFire.gridSquare, "TileThuztorFirePitBig_0", "Campfire"); getSoundManager():PlayWorldSound("campfire", false, campFire.gridSquare, 0, 10, 1, true); end campFire.tile = tile; campFire.tile:setOutlineOnMouseover(true); campFire.tile:setContainer(previousCont); campFire.gridSquare:AddTileObject(tile); camping.saveData(campFire); end end -- add petrol (from petrol can) over the campfire camping.addPetrol = function(campfire, player) local petrolCan = player:getInventory():FindAndReturn("PetrolCan"); petrolCan:Use(); campfire.hasPetrol = true; camping.saveData(campfire); end -- add a campfire to the ground camping.addCampfire = function(grid) local id = #camping.campfires + 1; local newCampFire = {}; local tile = {}; if grid then tile = IsoObject.new(grid, "TileThuztorFirePit_0", "Campfire"); grid:AddTileObject(tile); newCampFire.tile = tile; newCampFire.tile:setOutlineOnMouseover(true); newCampFire.tile:setContainer(ItemContainer.new()); newCampFire.gridSquare = grid; newCampFire.x = grid:getX(); newCampFire.y = grid:getY(); newCampFire.z = grid:getZ(); newCampFire.addTile = "false"; else newCampFire.addTile = "true"; end --tile:AttachAnim( "Smoke", "01", 4, IsoFireManager.SmokeAnimDelay, 0, 12, true, 0, false, 0.7f,IsoFireManager.SmokeTintMod ); --tile:AttachAnim( "Fire", "01", 4, IsoFireManager.FireAnimDelay, -16, -72, true, 0, false, 0.7f,IsoFireManager.FireTintMod ); newCampFire.id = id; newCampFire.fireLvl = 0; newCampFire.hasPetrol = false; table.insert(camping.campfires, id, newCampFire); camping.saveData(newCampFire); return newCampFire; end -- add a tent to the ground camping.addTent = function(grid) local id = #camping.tents + 1; local newTent = {}; if grid then grid:AddTileObject(IsoObject.new(grid, "TileIndieStoneTentFrontLeft", "Tent")); newTent.gridSquare = grid; newTent.x = grid:getX(); newTent.y = grid:getY(); newTent.z = grid:getZ(); newTent.addTile = "false"; else newTent.addTile = "true"; end newTent.id = id; table.insert(camping.tents, id, newTent); camping.saveData(nil, newTent); return newTent; end -- remove a tent camping.removeTent = function(tent) -- we start to remove it from our tent list (camping.tents) local tentNew = {}; for iN,vN in pairs(camping.tents) do if(iN ~= tent.id) then tentNew[iN] = vN; end end camping.tents = tentNew; -- then remove it physically from the ground camping.removeTileFromGrid(tent.gridSquare); -- we notice into our modata that we don't have a tent here anymore camping.playerData["tent:" .. tent.id .. ":x"] = -1; -- we give back the tent kit to the player camping.player:getInventory():AddItem("camping.CampingTentKit"); end -- remove a camp fire camping.removeCampfire = function(campfire) -- we start to remove it from our campfire list (camping.campfires) local campfireNew = {}; for iN,vN in pairs(camping.campfires) do if(iN ~= campfire.id) then campfireNew[iN] = vN; end end camping.campfires = campfireNew; -- then remove it physically from the ground camping.removeTileFromGrid(campfire.gridSquare); -- we notice into our modata that we don't have a campfire here anymore camping.playerData["campfire:" .. campfire.id .. ":x"] = -1; -- we give back the campfire kit to the player camping.player:getInventory():AddItem("camping.CampfireKit"); end -- return the campfire on the gridSquare the player is standing on -- or from the gridsquare in parameter (if from context menu for example) camping.getCurrentCampfire = function(square) if not square then return nil; end for iCur,vCur in pairs(camping.campfires) do -- we test if the x,y,z of our currentGridSquare exist in the list of the campfires tile list if vCur.gridSquare and (vCur.gridSquare:getX() == square:getX() and vCur.gridSquare:getY() == square:getY() and vCur.gridSquare:getZ() == square:getZ()) then return vCur; end end return nil; end -- return the tent on the gridSquare the player is standing on -- or from the gridsquare in parameter (if from context menu for example) camping.getCurrentTent = function(grid) if not grid then return nil; end for iCur,vCur in pairs(camping.tents) do -- we test if the x,y,z of our currentGridSquare exist in the list of the tents tile list if vCur.gridSquare and (vCur.gridSquare:getX() == grid:getX() and vCur.gridSquare:getY() == grid:getY() and vCur.gridSquare:getZ() == grid:getZ()) then return vCur; end end return nil; end -- remove the campfire or tent (sprite) from the grid camping.removeTileFromGrid = function(grid) for i,v in pairs(grid:getLuaTileObjectList()) do if luautils.stringStarts(v:getObjectName(), "Campfire") then grid:RemoveTileObject(v); elseif luautils.stringStarts(v:getObjectName(), "Tent") then grid:RemoveTileObject(v); end end end camping.saveData = function(camp, tent) if(camp ~= nil) then if camp.gridSquare then camping.playerData["campfire:" .. camp.id .. ":x"] = camp.gridSquare:getX(); camping.playerData["campfire:" .. camp.id .. ":y"] = camp.gridSquare:getY(); camping.playerData["campfire:" .. camp.id .. ":z"] = camp.gridSquare:getZ(); end camping.playerData["campfire:" .. camp.id .. ":fireLvl"] = camp.fireLvl; camping.playerData["campfire:" .. camp.id .. ":hasPetrol"] = camp.hasPetrol; camping.playerData["campfire:" .. camp.id .. ":id"] = camp.id; camping.playerData["campfire:" .. camp.id .. ":addTile"] = camp.addTile; camping.saveItem(camp); end if(tent ~= nil) then if tent.gridSquare then camping.playerData["tent:" .. tent.id .. ":x"] = tent.gridSquare:getX(); camping.playerData["tent:" .. tent.id .. ":y"] = tent.gridSquare:getY(); camping.playerData["tent:" .. tent.id .. ":z"] = tent.gridSquare:getZ(); end camping.playerData["tent:" .. tent.id .. ":id"] = tent.id; camping.playerData["tent:" .. tent.id .. ":addTile"] = tent.addTile; end end -- load all our tent and campfire camping.loadDatas = function() camping.player = getPlayer(); camping.playerData = gameTime:getModData(); local sec = math.floor(gameTime:getTimeOfDay() * 3600); camping.previousHour = math.floor(sec / 3600); camping.campfireXp = camping.playerData["campfireXp"] or 0; -- first we check in our table PlayerData all the thing starting with "campfire:" because they are my saving grid system -- with that we gonna make an unique array with the id of the index after campfire: (one index per campfire) local indexes = {}; -- load our campfire for iPData,vPData in pairs(camping.playerData) do for index in string.gmatch(iPData, "^campfire:(.+):") do if tonumber(index) then if indexes[tonumber(index)] == nil then indexes[tonumber(index)] = index; end end end end -- now we fetch our indexes array to get all our grid information (x,y,z etc.) for ind,var in ipairs(indexes) do local x = camping.playerData["campfire:" .. ind .. ":x"]; -- if it's -1 it's because we have remove the tile, but I can't find a way to remove infos from the playerData... if(x > -1) then local y = camping.playerData["campfire:" .. ind .. ":y"]; local z = camping.playerData["campfire:" .. ind .. ":z"]; local grid = getWorld():getCell():getGridSquare(x, y, z); local fireLvl = camping.playerData["campfire:" .. ind .. ":fireLvl"]; local hasPetrol = camping.playerData["campfire:" .. ind .. ":hasPetrol"]; local newcampFire = camping.addCampfire(grid); if not newcampFire.gridSquare then --~ print("no grid " .. x .. " " .. y); newcampFire.x = x; newcampFire.y = y; newcampFire.z = z; end newcampFire.fireLvl = fireLvl; newcampFire.hasPetrol = hasPetrol; camping.changeFireLvl(newcampFire); camping.loadItem(newcampFire); end end -- load our tents indexes = {}; for iPData,vPData in pairs(camping.playerData) do for index in string.gmatch(iPData, "^tent:(.+):") do if tonumber(index) then if indexes[tonumber(index)] == nil then indexes[tonumber(index)] = index; end end end end -- now we fetch our indexes array to get all our grid information (x,y,z etc.) for ind,var in ipairs(indexes) do local x = camping.playerData["tent:" .. ind .. ":x"]; -- if it's -1 it's because we have remove the tile, but I can't find a way to remove infos from the playerData... if x > -1 then local y = camping.playerData["tent:" .. ind .. ":y"]; local z = camping.playerData["tent:" .. ind .. ":z"]; local grid = getWorld():getCell():getGridSquare(x, y, z); local newTent = camping.addTent(grid); if not newTent.gridSquare then newTent.x = x; newTent.y = y; newTent.z = z; end end end end -- we lower by 1 the firelvl (every 3 hours if no more wood) camping.lowerFirelvl = function() for iCamp, vCamp in pairs(camping.campfires) do if(vCamp.fireLvl > 0) then vCamp.fireLvl = vCamp.fireLvl - 1; camping.changeFireLvl(vCamp); end end end -- every tick we gonna check things camping.checkCamping = function() if getCore():isDedicated() then return end -- maybe we have to wake up if we are sleeping in a tent ! if(camping.player:isAsleep() and camping.forcedSleep) then if(camping.player:getStats():getFatigue() == 0) then camping.player:setAsleep(false); camping.forcedSleep = false; end end camping.tick = camping.tick + 1; -- 30 ticks ~= 1s if(camping.tick == 60) then local sec = math.floor(gameTime:getTimeOfDay() * 3600); local currentHour = math.floor(sec / 3600); -- an hour as passed if(currentHour ~= camping.previousHour) then camping.previousHour = currentHour; camping.hourElapsed = camping.hourElapsed + 1; -- every 3 hours elapsed, we lower by 1 the fire lvl if(camping.hourElapsed == 3) then camping.lowerFirelvl(); camping.hourElapsed = 0; end end camping.tick = 0; -- we search in all our firecamp if they are food to cook for iCamp, vCamp in pairs(camping.campfires) do -- if it's raining, we set the firelvl to 0 if RainManager.isRaining() and vCamp.fireLvl > 0 then vCamp.fireLvl = 0; camping.changeFireLvl(vCamp); end -- add fire sound around the campfire if vCamp.fireLvl > 0 then --getSoundManager():PlayWorldSound("campfire", false, vCamp.gridSquare, 0, 10, 1, true); end if vCamp.tile and vCamp.gridSquare and vCamp.tile:getItemContainer():getItems() ~= nil and vCamp.fireLvl > 0 then for i = 0, vCamp.tile:getItemContainer():getItems():size() - 1 do local vItem = vCamp.tile:getItemContainer():getItems():get(i); if luautils.stringStarts(vItem:toString(), "zombie.inventory.types.Food") then -- if food is already cooked, we gonna set the cooking minute = time to cook it if vItem:getLastCookMinute() == 0 and vItem:isCooked() then vItem:setLastCookMinute(vItem:getMinutesToCook()); end if not vItem:isBurnt() then -- fireLvl = 2 (great fire) : cooking time normal (1s = 1minute) -- fireLvl = 1, we gonna up 1 time on 2 the cooking time. if vCamp.fireLvl == 2 or camping.upHeatOk then vItem:setLastCookMinute(vItem:getLastCookMinute() + 1); vItem:setHeat(vItem:getHeat() + 0.09); if vItem:getHeat() > 2 then vItem:setHeat(2); end camping.isCooked(vItem); camping.isBurnt(vItem); vItem:update(); camping.upHeatOk = false; else camping.upHeatOk = true; end end -- if we try to add wood to our fire with woodenPlank elseif (vItem:getName() == "Wooden Plank" or vItem:getName() == "Log") and vCamp.fireLvl < 2 then vCamp.fireLvl = vCamp.fireLvl + 1; vCamp.tile:getItemContainer():Remove(vItem); camping.changeFireLvl(vCamp); camping.hourElapsed = 0; elseif vItem:getCategory() == "Literature" and vCamp.fireLvl < 2 then vCamp.fireLvl = vCamp.fireLvl + 1; vCamp.tile:getItemContainer():Remove(vItem); camping.changeFireLvl(vCamp); camping.hourElapsed = camping.hourElapsed - 1; if camping.hourElapsed < 0 then camping.hourElapsed = 0; end -- if we try to stop our fire with water -- the waterSource must be not empty (that's why I test the usedDelta) elseif vItem:isWaterSource() and math.floor(vItem:getUsedDelta()/vItem:getUseDelta()) > 0 then vCamp.fireLvl = 0; camping.changeFireLvl(vCamp); vCamp.hasPetrol = false; vItem:Use(); camping.hourElapsed = 0; end end end camping.saveItem(vCamp); end end end -- sleep into the tent camping.sleep = function() camping.player:setAsleep(true); camping.forcedSleep = true; end -- attract the zombie to the campfire and warm the player camping.nearCamp = function(delay) local playerSquare = camping.player:getCurrentSquare(); local findCloseCampfire = false; for iCamp, vCamp in pairs(camping.campfires) do -- if campfire is burning (and still there, I mean not destroy because of streaming) if vCamp.fireLvl > 0 and vCamp.addTile == "false" then -- zombie are attracted 10 from the 10 next tile if fireLvl is at 1, or 20 if it's at 2 local squareAround = luautils.getNextTiles(getWorld():getCell(), vCamp.gridSquare, vCamp.fireLvl * 10); for u,j in pairs(squareAround) do for k,l in pairs(j:getLuaMovingObjectList()) do if luautils.stringStarts(l:toString(), "zombie.characters.IsoZombie") then l:PathTo(vCamp.gridSquare:getX(), vCamp.gridSquare:getY(), vCamp.gridSquare:getZ(), false, delay); end end end end for i,vPlayer in IsoPlayer.getPlayers() do -- warm the player if he's less than 3 tile from the fire -- can up the maximum body T� only by 10 (so you can't set up 50 campfire and be always hot, even during high winter) if vPlayer:getCurrentSquare():DistTo(vCamp.gridSquare) <= 3 and season.temperatureModifier <= 10 then -- if the fire lvl of the campfire is 1, up by 2 the body t�, otherwise by 4 season.temperatureModifier = season.temperatureModifier + (2 * vCamp.fireLvl); findCloseCampfire = true; end -- the player getting dry faster when around a campfire if vPlayer:getCurrentSquare():DistTo(vCamp.gridSquare) <= 3 then vPlayer:getBodyDamage():setWetness(vPlayer:getBodyDamage():getWetness() - ((vPlayer:getBodyDamage():getWetnessReductionValue() * GameTime:getInstance():getMultiplier()) * vCamp.fireLvl)); end end end -- if we haven't find any closed campfire, we nullify the temperatureModifier if not findCloseCampfire then season.temperatureModifier = 0; end end -- cook the food camping.isCooked = function(food) if(not food:isCooked()) then if(food:getLastCookMinute() >= food:getMinutesToCook()) then food:setCooked(true); end end end -- burn the food camping.isBurnt = function(food) if(not food:isBurnt()) then if(food:getLastCookMinute() >= food:getMinutesToBurn()) then food:setBurnt(true); end end end -- save all the items in the camp container camping.saveItem = function(camp) if camp.tile and camp.gridSquare then for i = 0, camp.tile:getItemContainer():getItems():size() - 1 do local item = camp.tile:getItemContainer():getItems():get(i); camping.playerData["campfire:" .. camp.id .. ":item:" .. i] = item:getModule() .. "." .. item:getType(); end end end -- load the item in the camp container camping.loadItem = function(camp) local indexesItem = {}; -- we fetch all the index for the item (like campfire:1:item:[1], etc.) for iPData,vPData in pairs(camping.playerData) do for index in string.gmatch(iPData, "campfire:" .. camp.id .. ":item:(.+)") do if(indexesItem[index] == nil) then indexesItem[index] = index; end end end -- then get all the items (items are save with module.name like Base.Carrots) for indItem,varItem in pairs(indexesItem) do if camping.playerData["campfire:" .. camp.id .. ":item:" .. indItem] then camp.tile:getContainer():AddItem(camping.playerData["campfire:" .. camp.id .. ":item:" .. indItem]); camping.playerData["campfire:" .. camp.id .. ":item:" .. indItem] = nil; end end end camping.reuseGridsquare = function(sq) --~ print("grid : " .. sq:getX() .. " " .. sq:getY() .. " is reused"); for i,tent in pairs(camping.tents) do if tent.x == sq:getX() and tent.y == sq:getY() and tent.z == sq:getZ() then --~ print("FOUND A TENT REUSE : " .. tent.x .. " " .. tent.y); tent.addTile = "true"; tent.gridSquare = nil; camping.saveData(nil, tent); end end for i,campfire in pairs(camping.campfires) do if campfire.x == sq:getX() and campfire.y == sq:getY() and campfire.z == sq:getZ() then --~ print("FOUND A CAMPFIRE REUSE : " .. campfire.x .. " " .. campfire.y); campfire.addTile = "true"; campfire.gridSquare = nil; camping.saveData(campfire, nil); end end end camping.loadGridsquare = function(sq) for i,tent in pairs(camping.tents) do if tent.x == sq:getX() and tent.y == sq:getY() and tent.z == sq:getZ() then if tent.addTile == "true" then --~ print("FOUND A TENT LOADED : " .. tent.x .. " " .. tent.y); tent.addTile = "false"; tent.gridSquare = sq; local tile = IsoObject.new(sq, "TileIndieStoneTentFrontLeft", "Tent"); sq:AddTileObject(tile); camping.saveData(nil, tent); break; end end end for i,campfire in pairs(camping.campfires) do if campfire.x == sq:getX() and campfire.y == sq:getY() and campfire.z == sq:getZ() then --~ print("FOUND A CAMPFIRE LOADED : " .. campfire.x .. " " .. campfire.y); if campfire.addTile == "true" then campfire.addTile = "false"; local tile = IsoObject.new(sq, "TileThuztorFirePit_0", "Campfire"); campfire.gridSquare = sq; sq:AddTileObject(tile); campfire.tile = tile; campfire.tile:setOutlineOnMouseover(true); campfire.tile:setContainer(ItemContainer.new()); camping.changeFireLvl(campfire); -- now load all the item camping.loadItem(campfire); camping.saveData(campfire, nil); break; end end end end camping.attractZed = function() camping.nearCamp(0); end Events.EveryTenMinutes.Add(camping.attractZed); Events.OnTick.Add(camping.checkCamping); Events.OnGameStart.Add(camping.loadDatas); Events.ReuseGridsquare.Add(camping.reuseGridsquare); Events.LoadGridsquare.Add(camping.loadGridsquare); Fixed shader issue stopping a bunch of people running the game.Lowered zombie numbers (seems something's gone amiss there)Fixed food name.Removed the number of read page in the name of the book (now it's only in the tooltip).You can now fast forward when you read a skill book and still have the multiplier.Removed some unintended output console message.When you craft, the crafted item will have the condition of the required item, same for age/rotten stuff.Tweaked the crawler fight a bit, they now have a chance to miss you while attacking, and the fighting will be easier.Lot of lua stuff (see Lua request thread).Some code improvement.Fix : The torch/light source won't be used if they are turned off.No more "running on the spot" zombies.Can't push crawler with a weapon no more.Crawler won't try to break window/door (thump) no more.
  7. Black screen bug is still present, unfortunately. can you pm me your backed up save pls?
  8. its done via ant build on a PC so fook knows how I'd do that files there now
  9. tried 13? (using backup save, chances are its fubarred by that)
  10. we can look at rebalancing the difficulty to account for wandering zoms and such, but most of the other things you mention have gone completely unaltered. the zombie kills count is a bug, as it's counting any zombies placed pre-dead into the world by mistake.
  11. New rule, ANYONE who complains about a version number in future gets instabanned. Sick to the back TEETH of it. In short, no. The version numbers are too long as it is. I tried to shorten them so we could have more leeway, since 3.0 is the NPC build, but got nothing but shit for it because I tried to sneak it back a bit so I could shorten it, so this is the best we can do at the moment.
  12. REMEMBER: This is a forum test release because it may have new bugs or other serious issues, in fact a few we're aware of already and this latest build hasn't had a huge amount of closed testing. However we'd like to extend it to a forum test to get any remaining issues as quickly as possible. If not comfortable with that, please wait until official release on Desura, which should hopefully be for Mondoid if it goes well. REMEMBER, it's always advised to manually back up your saves (C:\Users\<username>\Zomboid\<gamemode>) when using forum builds. (if file is not present, please try again in 10-20 mins) [removed outdated links] Changelist: Fixed world version conversion to solve crash problems with loading worlds (you may need to use original backups of build 10 saves for this to work properly, but maybe not)Added world version to be saved with every chunk of world, to prevent future problems.Increased hammer spawn chances a bit.
  13. that would be cool, if you could send to me and RJ thanks!
  14. wait are these bugs when loading a game? Please start a new game, we're still investigating the load errors.
  15. I got the same bug, but I don't use any mod. Where is this mystical 'no error log' comment?
  16. If it crashes PLEASE put the error output in here otherwise it's literally of no use to us?
  17. REMEMBER: This is a forum test release because it may have new bugs or other serious issues, in fact a few we're aware of already and this latest build hasn't had a huge amount of closed testing. However we'd like to extend it to a forum test to get any remaining issues as quickly as possible. If not comfortable with that, please wait until official release on Desura, which should hopefully be for Mondoid if it goes well. REMEMBER, it's always advised to back up your saves when using forum builds. [removed outdated links] Changelist: Optimizations - FPS comparisons would be ace.Fixed flickering roofsPossible invisible wall fix? (again)Can now see zombies at maximum range instead of them fading in before edge of screen (may have balance ramifications since they can see you at any range u can see them, albiet with falloff chance)Various crash fixesOther stuff I forget.
×
×
  • Create New...