Eep² Posted March 11, 2019 Posted March 11, 2019 (edited) This game's interface seems heavily influenced from Wurm (also a Java game). While that's good in some respects, it's bad in others. From https://steamcommunity.com/app/108600/discussions/0/1837937637881281572/: Why can't items be combined outside of the main player inventory container? So annoying having to move everything just to combine them! Certain items can't be combined. Seems silly to me why thread, twine, and wire can't be combined individually (obviously not different materials on the same reel/spool). It's especially odd that wire can't be combined considering other types of wire (copper, steel, etc) can. I just checked \media\scripts\items.txt and it shows thread as "type = drainable" and newitems.txt (same folder) shows twine and wire as drainable too so why aren't these items able to be "poured" (combined) together (individually)?! Maybe Hydrocraft is screwing it up? I couldn't find these items listed (aside from in recipes) in any of Hydrocraft's \media\scripts\*.txt so maybe something else is overriding the "drainability" of these items? I see a red box appear in the bottom right corner at times while right-clicking things in my inventory so I checked console.txt and perhaps these errors are causing a problem with combining certain items? Spoiler 1552153797354 ----------------------------------------- 1552153797355 STACK TRACE 1552153797355 ----------------------------------------- 1552153797355 function: createMenuEntries -- file: ISCompassMenu.lua line # 138 1552153797355 Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@ad39dc6e 1552153797355 function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 207 1552153797355 function: onRightMouseUp -- file: ISInventoryPane.lua line # 1075 java.lang.RuntimeException: __len not defined for operand at se.krka.kahlua.vm.KahluaUtil.fail(KahluaUtil.java:83) at se.krka.kahlua.vm.KahluaUtil.luaAssert(KahluaUtil.java:71) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:750) at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:167) at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1922) at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1777) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:67) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:130) at zombie.Lua.Event.trigger(Event.java:37) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:148) at zombie.Lua.LuaEventManager.triggerEventGarbage(LuaEventManager.java:159) at zombie.Lua.LuaManager$GlobalObject.triggerEvent(LuaManager.java:2382) at sun.reflect.GeneratedMethodAccessor512.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:61) at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:199) at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:55) at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:186) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1009) at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:167) at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1922) at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1747) at se.krka.kahlua.integration.LuaCaller.pcall(LuaCaller.java:77) at zombie.ui.UIElement.onRightMouseUp(UIElement.java:1206) at zombie.ui.UIElement.onRightMouseUp(UIElement.java:1168) at zombie.ui.UIManager.update(UIManager.java:1257) at zombie.GameWindow.logic(GameWindow.java:630) at zombie.GameWindow.run(GameWindow.java:1315) at zombie.GameWindow.maina(GameWindow.java:1091) at zombie.gameStates.MainScreenState.main(MainScreenState.java:184) Why is combining non-liquid things still called "pour"? Seems "combine" or "mix" would be a better general-purpose term for everything... From https://steamcommunity.com/app/108600/discussions/2/1842440600603024214/ : Craft window: the left-side list of things to craft is VERY cluttered. Why not have expandable menus that have the root action/function (box, build, bury, clean, close, craft, drill, jar, make, open, pack, place, refill, remove, stack, take, unbox, unpack, unstack, wash, etc) listed that right-expand with all the additional functions? Having to use the name filter all the time gets annoying fast. An option to list/sort by item would also be nice instead of only listing alphabetically by action/function so instead of listing by action/function the list is by item (ammo, logs, seeds, etc). Clicking the scrollbar should move the window pane position down and clicking the scrollbar down arrow does nothing. Tab should move between form fields (text input, radio, checkbox, etc) and double-clicking a word should select it (triple-click selects all text in field). Mousewheel scrolling in a pane, then alt-tabbing out of and back into the game should not reset the pane position to the selected item and instead leave the pane scrolled to where it was before alt-tabbing. New: Craft window needs a global tab search instead of only each tab. So annoying especially with Hydrocraft! Pinned status of craft and health windows isn't remembered on game load. Inventory columns need to be thinner and need a weight column. Stack tooltip should show quantity. Can't always see quantity with narrow columns and small font. Favoriting (starring) a craft recipe scrolls list all the way to top. List position should remain and not reset, requiring having to scroll all the way BACK to where the still-selected recipe is. Edited March 11, 2019 by Eep²
Shamanu Posted March 11, 2019 Posted March 11, 2019 1552153797355 function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 207 Clearly not a PZ issue, but Hydrocraft instead. I've also runned upon this thing. And... No solution yet. Once again: issue with a Hydrocraft mod.
Eep² Posted March 11, 2019 Author Posted March 11, 2019 How is it "clearly not a PZ issue" when ISInventoryPaneContextMenu.lua is not in any Hydrocraft mod folder but is in Project Zomboid\media\lua\client\ISUI\ISInventoryPaneContextMenu.lua?
Shamanu Posted March 11, 2019 Posted March 11, 2019 Sorry. Wrong line copied. 1552153797355 function: createMenuEntries -- file: ISCompassMenu.lua line # 138 This. And... If you want to workaround it... (Not sure it correct, yet it works and not gives error anymore): File "media\lua\client\ISUI\ISCompassMenu.lua" on line 138 contains text "for i = 1,#v.items do" which should be "for i = 1,v.items do" (no # symbol)
Shamanu Posted March 11, 2019 Posted March 11, 2019 11 hours ago, Eep² said: I just checked \media\scripts\items.txt and it shows thread as "type = drainable" and newitems.txt (same folder) shows twine and wire as drainable too so why aren't these items able to be "poured" (combined) together (individually)?! And those items clearly have the parameter cantBeConsolided = TRUE, This param is obviously why they can't be poured together. Not sure why devs set it up.
Eep² Posted March 11, 2019 Author Posted March 11, 2019 Wow, thanks! Now I can finally combine and "consolided" (is that even a word? I think they mean "consolidate") these things that annoyingly take up precious inventory space (and database bytes). As for the right-click errors, now I'm getting lots of these: 1552334027419 STACK TRACE 1552334027419 ----------------------------------------- 1552334027419 function: createMenuEntries -- file: ISCompassMenu.lua line # 138 1552334027419 Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@70ee0a6e 1552334027419 function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 207 1552334027419 function: onRightMouseUp -- file: ISInventoryPane.lua line # 1075 ...which is the same line in ISCompassMenu.lua as before.
Shamanu Posted March 11, 2019 Posted March 11, 2019 Have you removed "#" symbol from the line I've mentioned above?
Eep² Posted March 11, 2019 Author Posted March 11, 2019 (edited) Yes, the line is: for i = 1,v.items do Also, regarding the craft window, I don't know LUA but looking at \media\lua\client\ISUI\ISCraftingUI.lua do you know what to edit to get the ingredients list box to be bigger (wider and taller) so it doesn't require scrolling so much? I tend to have the craft window as tall as my screen (1200px) but the ingredients list is so small in comparison and doesn't use up all available space (but does widen a bit if the craft window is REALLY wide--but that's impractical). I also want to reduce the font and space (margin/padding) in the recipe list. It's so horribly designed and requires SO much scrolling instead of being more organized by function (as I described in this topic's 1st post). Any ideas? Thanks. Edited March 11, 2019 by Eep²
Shamanu Posted March 12, 2019 Posted March 12, 2019 (edited) About bunch of errors in ISCompass.lua on line 138: for i,v in ipairs(clickedItems) do local inv = getPlayer():getInventory() for i = 1,#v.items do local item = v.items[i]; should look like local inv = getPlayer():getInventory() for i,v in ipairs(clickedItems) do if v.items and #v.items > 0 then for j = 1,#v.items do local item = v.items[j]; Plus you need to add one more line end somewhere near other 5 such lines at lines 156-161. This solution fixed this debug message on my side. Now regarding the rescaling of the Ingredients list frame: File \media\lua\client\ISUI\ISCraftingUI.lua line 563 (Didn't checked this part up) self.ingredientListbox:setHeight(self.ingredientListbox.itemheight * 8) replace with line self.ingredientListbox:setHeight(self:getHeight() - (4 + y + rh)) line 581 (This part was checked) self.ingredientPanel:setHeight(self.ingredientListbox.itemheight * 8) replace with lines if selectedItem.recipe:getRequiredSkills() then SkillsSize = 4 + ISCraftingUI.mediumFontHeight + ISCraftingUI.smallFontHeight * selectedItem.recipe:getRequiredSkills():size(); else SkillsSize = 0; end self.ingredientPanel:setHeight(self:getHeight() - (70 + y + rh + ISCraftingUI.mediumFontHeight * 2 + ISCraftingUI.bottomInfoHeight + SkillsSize + self.craftAllButton:getHeight())) Enjoy! p.s. Regarding the scrolling of recipes list - it's size defined by the icon size of recipe. I can't imagine how to possibly fix it. Upd: I don't mind if devs will include it in original code. Edited March 12, 2019 by Shamanu Fix of errors
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now