User interface annoyances/issues
1 1

9 posts in this topic

Recommended Posts

Posted (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 by Eep²

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Posted (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 by Eep²

Share this post


Link to post
Share on other sites
Posted (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 by Shamanu
Fix of errors

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
1 1