Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Tchernobill

  1. I noticed that and corrected it with AutoLoot when adding Autloot On/Off button. Violent Advertising => Autloot <= Violent Advertising
  2. Why would this be a bug ? Is everything supposed to be fresh in the wild ?
  3. IsoGameCharacter call from DoDeath to OnDeath could forward its optional parameters (HandWeapon, IsoGameCharacter) to OnCharacterDeath lua event. It is the same for IsoPlayer layer of OnDeath. This would help on statistics tracking from mods.
  4. Do you guys use the Walk To command to navigate the forest ? Never had any problem of the kind since I used it.
  5. see ISInventoryPage.lua line 97 self.toggleStove = ISButton:new(self.lootAll:getRight() + 16, 0, 50, lootButtonHeight, getText("ContextMenu_Turn_On"), self, ISInventoryPage.toggleStove); it makes the access to the button / method dangerous. I guess one of them should have its name changed.
  6. Hi, The following line under IsoGameCharacter class calculateWalkSpeed method prevents having items that increase base speed. It includes vanilla sneakers and modded items, once that other point is handled. var1 = Math.min(1.0F, var1);
  7. Hi, For all clothing except bags and broken/missing shoes, RunSpeedModifier is not taken into account. Movement test done between sneakers (1.1), black boots(0.9), moded "rollerblades"(3.0) Walk speed is not modified. Run speed is not modified. Sprint speed not correctly tested (seems not modified). Reverse engineering on Java code seems to confirm the experience. see IsoGameCharacter class, the most obvious place to do it seems to be updateSpeedModifiers: public void updateSpeedModifiers() { this.runSpeedModifier = 1.0F; this.walkSpeedModifier = 1.0F; this.combatSpeedModifier = 1.0F; this.bagsWorn = new ArrayList(); for(int var1 = 0; var1 < this.getWornItems().size(); ++var1) { InventoryItem var2 = this.getWornItems().getItemByIndex(var1); if (var2 instanceof Clothing) { Clothing var3 = (Clothing)var2; this.combatSpeedModifier += var3.getCombatSpeedModifier() - 1.0F; } if (var2 instanceof InventoryContainer) { InventoryContainer var5 = (InventoryContainer)var2; this.combatSpeedModifier += var5.getScriptItem().combatSpeedModifier - 1.0F; this.bagsWorn.add(var5); } } InventoryItem var4 = this.getWornItems().getItem("Shoes"); if (var4 == null || var4.getCondition() == 0) { this.runSpeedModifier *= 0.85F; this.walkSpeedModifier *= 0.85F; } }
  8. Hi, When I click on "Stash debuggers" of the debug menu, I got an error and no stash debug interface (see following extract of lua code and console.txt). My minimal context: B41.65 -debug run local HOST server no mod StashDebug.lua function StashDebug:populateList() self.datas:clear(); for i=0,StashSystem.getPossibleStashes():size()-1 do --here is the size identified in the console log local stash = StashSystem.getStash(StashSystem.getPossibleStashes():get(i):getName()); self.datas:addItem(stash:getName(), stash); end end console.txt LOG : General , 1640350739716> 585?477?464> ------------------------------------------------------------- attempted index: size of non-table: null LOG : General , 1640350739716> 585?477?464> ----------------------------------------- STACK TRACE ----------------------------------------- function: populateList -- file: StashDebug.lua line # 72 function: initialise -- file: StashDebug.lua line # 66 function: OnOpenPanel -- file: StashDebug.lua line # 146 function: onClick -- file: ISDebugMenu.lua line # 99 function: onMouseUp -- file: ISButton.lua line # 56 ERROR: General , 1640350739717> 585?477?464> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: size of non-table: null at KahluaThread.tableget line:1689. ERROR: General , 1640350739717> 585?477?465> DebugLogStream.printException> Stack trace: java.lang.RuntimeException: attempted index: size of non-table: null at se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1689) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:641) at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163) at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980) at se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1924) at se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104) at zombie.ui.UIElement.onMouseUp(UIElement.java:1228) at zombie.ui.UIElement.onMouseUp(UIElement.java:1183) at zombie.ui.UIManager.update(UIManager.java:808) at zombie.GameWindow.logic(GameWindow.java:253) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:745) at zombie.GameWindow.run_ez(GameWindow.java:661) at zombie.GameWindow.mainThread(GameWindow.java:475) at java.base/java.lang.Thread.run(Unknown Source) LOG : General , 1640350739717> 585?477?465> ----------------------------------------- STACK TRACE ----------------------------------------- function: populateList -- file: StashDebug.lua line # 72 function: initialise -- file: StashDebug.lua line # 66 function: OnOpenPanel -- file: StashDebug.lua line # 146 function: onClick -- file: ISDebugMenu.lua line # 99 function: onMouseUp -- file: ISButton.lua line # 56
  9. I would like a lua Event for each / most messages from Server to Client. Network part of Java code is already very well organized. Forwarding the messages as events would improve mods outlook. Is this good enough for you ?
  10. @leviathan_13 And you are also right for "item categories": they implemented it in vanilla with B41.60. Nonethelss, I am sorry to contradict you but "A mod is doing the trick" is a valid argument for "not uninstalling". You can prefer it in vanilla as much as someone who is close to die from thirst can prefer sparkling water to still water.
  11. 41.60MP is an awesome game-changer version. 41.61 is an awesome patch. You guys rock !
  12. You saved me from insanity, and maybe from prison too, because I was close to murder my mod's users for their logorrhea of complaints.
  13. I do not know for the future but you can start by doing it in the present :D. It's up and running.
  14. You make me sad. All you ask is done by AutoLoot mod. I implemented automatic looting both instant if you wanna cheat, or "as fast as possible" with Vanilla rules by default. I also added the "as fast as possible" storing button with Vanilla rules.
  15. You can also put some items in Z's corpses once you killed them. items they contain will disappear with the corpse over time.
  16. Tchernobill


    Changelog on wiki was last updated for B41.53 in July.
  17. With spears, and very tired or exhausted, most of kills are not counted. Since at least B41.50
  18. Hi, I want to adapt my B41 mods to multiplayer. What can I do ? Will there be some sort of preliminary server that will be open for mod tests a bit before MP release ? Regards
  19. I did something similar for container access in AutoLoot mod. see in AutoLoot.lua file the function AutoLoot_PlunderSquare(playerObj, square)
  20. 1/ Save and Load methods from "Food" Java Class do not save & load fatigueChange and endChange variables from "InventoryItem" class, "InventoryItem" does not save them either. 2/ Also when Coffee2 item is partially used when game is left and reloaded, the remaining uses have upgraded fatigueChange. (the initial -50 is spread on each remaining use.) e.g. Coffee2 with -30 basehunger and -50 fatiguechange is used for a partial use of 5 (that is relative to the -30 basehunger). Remaining hungerchange is -30+5 = -25 Remaining fatigueChange displayed and used in EvolvedRecipe is -50 * (25/30) ~= -41.7. so far so good. But when we leave and come back, fatigueChange displayed and used in EvolvedRecipe is reset to -50 while hungerchange is still -25. So : - Either fatigueChange should be -50 for each use and then EvolvedRecipe:addItem should not take into account the hungerchange/basehunger ratio. - Or remaining fatigueChange should be recomputed from the hungerchange/basehunger ratio in the Coffee2 item when reloading. <= please choose that. In addition to correcting coffee cup, it would open modding perspectives to have these implemented.
  21. 1/ If I set aside the strangeness of your attempt: you could parse all squares and for each of them: parse static objects for containers parse dynamic objects for containers parse vehicles for containers for each of theses containers: remove all items inside them 2/ why would you remove all items from a world ? you'd probably better create a world without items.
  22. Hi, what auto and semi auto gun exists in vanilla ?
  23. on Food you can call whatever you want: getFoodType() isPoison() isSpice() getThirstChange() getHungerChange()
  24. instanceof(item, "Food") returns true if it is Food, and returns false if it is not Food
  • Create New...