Project Zomboid

Project Zomboid

Power Window Controls
FatherSarge 22 Mar, 2022 @ 7:37am
Possible compatibility issues
So I don't clutter your comments section.

Haven't heard or used those patches you mentioned, using this version of Filibusters (https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1510950729). Here's all the information I've got. Might not be your mod but I'm unsure.


The error/stack trace shows when a window is opened or closed (any vehicle):

LOG : General , 1647958637313> 5,779,505,262> ----------------------------------------- STACK TRACE ----------------------------------------- function: perform -- file: Papa_Chad_ISOpenCloseVehicleWindow.lua line # 21 function: perform -- file: ATA_Hack_ISOpenCloseVehicleWindow.lua line # 16 ERROR: General , 1647958637314> 5,779,505,262> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: doDamageOverlay of non-table: null at KahluaThread.tableget line:1689. ERROR: General , 1647958637314> 5,779,505,263> DebugLogStream.printException> Stack trace: java.lang.RuntimeException: attempted index: doDamageOverlay 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.pcall(KahluaThread.java:1782) at se.krka.kahlua.integration.LuaCaller.pcall(LuaCaller.java:85) at zombie.characters.CharacterTimedActions.LuaTimedActionNew.perform(LuaTimedActionNew.java:104) at zombie.characters.IsoGameCharacter.updateInternal(IsoGameCharacter.java:9745) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.characters.IsoGameCharacter.update(IsoGameCharacter.java:9483) at zombie.characters.IsoPlayer.updateInternal1(IsoPlayer.java:1879) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.characters.IsoPlayer.update(IsoPlayer.java:1863) at zombie.MovingObjectUpdateSchedulerUpdateBucket.update(MovingObjectUpdateSchedulerUpdateBucket.java:79) at zombie.MovingObjectUpdateScheduler.update(MovingObjectUpdateScheduler.java:145) at zombie.iso.IsoCell.ProcessObjects(IsoCell.java:2927) at zombie.iso.IsoCell.updateInternal(IsoCell.java:5716) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.iso.IsoCell.update(IsoCell.java:5662) at zombie.iso.IsoWorld.updateInternal(IsoWorld.java:3339) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.iso.IsoWorld.update(IsoWorld.java:3267) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1643) at zombie.gameStates.IngameState.update(IngameState.java:1359) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:289) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:744) at zombie.GameWindow.run_ez(GameWindow.java:660) at zombie.GameWindow.mainThread(GameWindow.java:474) at java.base/java.lang.Thread.run(Unknown Source)

ATA might be Autotsar's bus or jeep
Papa_Chad is his M113 mod

This error will pop with any vehicle though, when opening/closing a remote window or when opening "your" window. Tested the Filibuster RV as well, the seats on the left side of the vehicle that aren't the driver seat cannot be fired from. On the APC (KI5's Commando) you can only fire from driver's seat and passenger seat. Though this might fully be an issue with those mods and not yours. The Commando's windows do visually open and close just fine.

I'm not well versed in the various errors, let me know if this is something you can fix on your end, if not I can go bug papa or ibrrus or whoever else haha
< >
Showing 1-3 of 3 comments
Wolf  [developer] 23 Mar, 2022 @ 4:38am 
@FatherSarge
Alright, so I've conducted plenty of testing today and I think I can say the following quite confidently:
  • First things first, the errors thrown on car windows opening/closing are caused by the Military Tool Kit, the dependency to Papa_Chad's M113 mod.
  • My script has nothing to do with those errors as they literally keep hapenning when my script is not even loaded in a game.
  • The "ATA_Hack" that gets cited in the log is a part of Tsar's Common Library. It causes no issues on its own or with my mod; it's probably brought up because Military Tool Kit messes with its code and it starts malfunctioning as well.
  • Weird shooting-from-window patterns on the Commando and the RV are just the results of how those vehicles are configured. Can't blame the makers though, Indie Stone's code is ridiculously arbitrary about which parts correspond to which - the same reason this script was created in the first place. Vehicles that do not abide by the "each seat has a door which has a window" equation are stuck for proper functionality.
So, in conclusion, you'll have to take the script error grievances up with Papa_Chad. Military Tool Kit is either faulty on its own, or has an incompatiblity with Tsar's Common Library.
The one fix that I will implement in an update is to make this script ignore the middle windows on Tsar's Jeeps. I didn't use that mod before, so I haven't seen this, but those windows are the ones in the tent and, obviousy, it doesn't make much sense to give their controls to the driver.
Last edited by Wolf; 23 Mar, 2022 @ 4:45am
Wolf  [developer] 23 Mar, 2022 @ 4:42am 
The shooting patterns with the Commando and the RV I might theoretically be able to improve by just writing custom script hooks that would manually redefine shooting and window controlling permissions for those vehicles specifically. At least I have an idea how to implement it, but I've yet to look at the code that handles shooting permissions. But it should be doable. This would go a fair bit beyond the scope of this mod and I don't really have time to work on it at this time, I'm quite busy with an important project unrelated to Zomboid.
However, I will be coming back to PZ later this spring, once I'm done with that, and the first thing that I will be continuing to work on is a functionality patch for Filibuster's RV. It's a pretty thorough overhaul, implementing appliances, layout tweaks, UI and other things and I will be looking at the window shooting situation as well. If I do manage to make an elegant solution for it (which, again, so far I'm optimistic about), well, that patch will fix the RV. I'd then make a separate patch for the Commando to allow the middle passengers (that are actually next to the doors) to control those doors' windows (they are coded as front windows in front doors, which is why the forward seats get to shoot right now) and maybe the rear right seat to do the same with its rear right window.
Last edited by Wolf; 23 Mar, 2022 @ 4:44am
FatherSarge 23 Mar, 2022 @ 10:21am 
And here I was hoping it was a trivial fix that might have had to do with shooting positions somehow not recognizing they could shoot! I will def take the script errors to papa in case he wants to fix them. Thanks for the detailed reply!

Good luck with your other projects, looking forward to using the RV gunboat with the boyz once you come back to PZ :P
< >
Showing 1-3 of 3 comments
Per page: 1530 50