Project Zomboid

Project Zomboid

Proper Vehicle Injuries for MP
 Este tema se ha marcado como fijo, por lo que probablemente sea importante
Fluffy89  [desarrollador] 23 JUL 2023 a las 9:02
Bugs & Issues
Please report bugs and potential issues here!
< >
Mostrando 1-13 de 13 comentarios
Rabbit 29 AGO 2023 a las 0:14 
Gave myself a medium impact injury just by stopping on a motorcycle. Hit nothing other than the brakes - what setting should I adjust in the sandbox options to make it less likely to think that regular heavy-braking isn't an actual collision?
Fluffy89  [desarrollador] 29 AGO 2023 a las 13:01 
Publicado originalmente por Rabbit:
Gave myself a medium impact injury just by stopping on a motorcycle. Hit nothing other than the brakes - what setting should I adjust in the sandbox options to make it less likely to think that regular heavy-braking isn't an actual collision?

Adjust the interval sandbox option. It changes how many in game ticks must pass by before the mod will check again if you have been in a collision. The lower the number, the more frequent it will check.

By default, an interval of 30 in game ticks per collision check is enough for all vanilla vehicles with speed demon, but modded vehicles can be more touchy when it comes to braking/accelerating.
Última edición por Fluffy89; 29 AGO 2023 a las 13:01
Rabbit 29 AGO 2023 a las 21:06 
So those of us hemorrhaging our guts via our seatbelts need to turn that option to a LOWer number, right?.. So that it sees the braking happen as a curve rather than just assuming that we hit an invisible brick wall, is that the correct direction to go?

Just want to make sure I have it in mind right before I get all zoomie again. I love how the mod works, I just gotta get it set right for these zippy bikes.
Fluffy89  [desarrollador] 29 AGO 2023 a las 22:00 
Publicado originalmente por Rabbit:
So those of us hemorrhaging our guts via our seatbelts need to turn that option to a LOWer number, right?.. So that it sees the braking happen as a curve rather than just assuming that we hit an invisible brick wall, is that the correct direction to go?

Just want to make sure I have it in mind right before I get all zoomie again. I love how the mod works, I just gotta get it set right for these zippy bikes.

On the right track, but only the host/config for the dedicated server needs to change their/its sandbox options.

If you're hosting via the 'Host' button in Zomboid, you can edit the server profile and the mods sandbox options there. If your hosting a dedicated server, you'll need to find and edit the config file, or set the sandbox options via the admin panel in game and restart the server.

When you set the interval lower, it basically lowers the time between checks for a collision. So if you lower it from 30 to say, 15, it will check your speed difference twice as often, meaning you would need to accelerate twice as hard to get the same injuries as you currently have.

Hope this helps!
Rabbit 30 AGO 2023 a las 17:02 
That's basically how I was thinking, but just playing in SP here and speaking in plural because I'm sure there are other player's who'd benefit from the clarification. Great mod, and thank you!
Fluffy89  [desarrollador] 30 AGO 2023 a las 17:10 
Publicado originalmente por Rabbit:
That's basically how I was thinking, but just playing in SP here and speaking in plural because I'm sure there are other player's who'd benefit from the clarification. Great mod, and thank you!

Appreciated! Hope all goes well :)
Agitatio 4 DIC 2023 a las 10:07 
Don't know if these are helpful, but they came up after Working Seatbelts update. On collision. But I bet you already know the issue judging from you conversation with the author.
attempted index: getValue of non-table: null function: initWorkingSeatbeltCompatibility -- file: ProperVehicleInjuries_Client.lua line # 375 | MOD: ProperVehicleInjuriesMP function: initMod -- file: ProperVehicleInjuries_Client.lua line # 478 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: attempted index: getValue 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65) at zombie.gameStates.IngameState.enter(IngameState.java:737) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:145) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)
function: doMultiInjury -- file: ProperVehicleInjuries_Client.lua line # 274 | MOD: ProperVehicleInjuriesMP function: checkCollision -- file: ProperVehicleInjuries_Client.lua line # 345 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: __sub not defined for operands in doMultiInjury at se.krka.kahlua.vm.KahluaUtil.fail(KahluaUtil.java:82) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:676) 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:92) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1624) at zombie.gameStates.IngameState.update(IngameState.java:1333) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)
Última edición por Agitatio; 4 DIC 2023 a las 10:08
Fluffy89  [desarrollador] 4 DIC 2023 a las 11:21 
Publicado originalmente por Agitatio:
Don't know if these are helpful, but they came up after Working Seatbelts update. On collision. But I bet you already know the issue judging from you conversation with the author.
attempted index: getValue of non-table: null function: initWorkingSeatbeltCompatibility -- file: ProperVehicleInjuries_Client.lua line # 375 | MOD: ProperVehicleInjuriesMP function: initMod -- file: ProperVehicleInjuries_Client.lua line # 478 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: attempted index: getValue 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65) at zombie.gameStates.IngameState.enter(IngameState.java:737) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:145) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)
function: doMultiInjury -- file: ProperVehicleInjuries_Client.lua line # 274 | MOD: ProperVehicleInjuriesMP function: checkCollision -- file: ProperVehicleInjuries_Client.lua line # 345 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: __sub not defined for operands in doMultiInjury at se.krka.kahlua.vm.KahluaUtil.fail(KahluaUtil.java:82) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:676) 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:92) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1624) at zombie.gameStates.IngameState.update(IngameState.java:1333) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)

Yes, the issue stems from their major update this morning, the name for sandbox options have changed so PVI is throwing a fit because the options technically no longer exist.

Im at University for another 4 or so hours, but Ill push out an update fixing the issue once Im home.
Fluffy89  [desarrollador] 4 DIC 2023 a las 15:40 
Publicado originalmente por Agitatio:
Don't know if these are helpful, but they came up after Working Seatbelts update. On collision. But I bet you already know the issue judging from you conversation with the author.
attempted index: getValue of non-table: null function: initWorkingSeatbeltCompatibility -- file: ProperVehicleInjuries_Client.lua line # 375 | MOD: ProperVehicleInjuriesMP function: initMod -- file: ProperVehicleInjuries_Client.lua line # 478 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: attempted index: getValue 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65) at zombie.gameStates.IngameState.enter(IngameState.java:737) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:145) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)
function: doMultiInjury -- file: ProperVehicleInjuries_Client.lua line # 274 | MOD: ProperVehicleInjuriesMP function: checkCollision -- file: ProperVehicleInjuries_Client.lua line # 345 | MOD: ProperVehicleInjuriesMP java.lang.RuntimeException: __sub not defined for operands in doMultiInjury at se.krka.kahlua.vm.KahluaUtil.fail(KahluaUtil.java:82) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:676) 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.pcallvoid(KahluaThread.java:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:92) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1624) at zombie.gameStates.IngameState.update(IngameState.java:1333) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:298) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:765) at zombie.GameWindow.run_ez(GameWindow.java:681) at zombie.GameWindow.mainThread(GameWindow.java:495) at java.base/java.lang.Thread.run(Unknown Source)

I'm home and have uploaded a fix so PVI should behave as previously, airbags will have to wait on compatibility as I'm finishing up my term at uni, so this will probably wait until winter break.

The stacktrace you posted is quite helpful by the way, in this case I was already made aware of the issue my the Working Seatbelts author, but the stacktrace otherwise is a huge help in diagnosing issues.
Bambino 13 DIC 2023 a las 8:40 
Currently using an interval of 15 in MP. Players are reporting taking damage for using the handbrake and turning while not colliding with anything. If it matters, we are using Filibuster Rhymes' Used Cars. It's also quite random - I cannot recreate the issue on command.
Última edición por Bambino; 13 DIC 2023 a las 8:58
Fluffy89  [desarrollador] 13 DIC 2023 a las 10:53 
Publicado originalmente por Bambino:
Currently using an interval of 15 in MP. Players are reporting taking damage for using the handbrake and turning while not colliding with anything. If it matters, we are using Filibuster Rhymes' Used Cars. It's also quite random - I cannot recreate the issue on command.

Lowering the interval slightly to 10 should fix the issue, without hitting things at least.

It also appears quite random most likely because slowing down your momentum really quickly is causing a low severity injury, which by default only has like a 30% chance for the scratch to apply.

Hope this helps!
Última edición por Fluffy89; 13 DIC 2023 a las 10:54
Foxenn 28 MAY a las 7:24 
I did you you said, even lowered the interval to 5 but it was still happening, and has caused deaths for some of my server users, the mod is fantastic but because of this issue i have to remove it for the health of my server, im sorry :(
Fluffy89  [desarrollador] 28 MAY a las 21:36 
Publicado originalmente por Foxenn:
I did you you said, even lowered the interval to 5 but it was still happening, and has caused deaths for some of my server users, the mod is fantastic but because of this issue i have to remove it for the health of my server, im sorry :(

Hi! I'm sorry to hear that PVI has caused issues for your server :(

With an interval as low as 5 ticks, unintentional injuries via braking extremely hard is impossible in all my testing. By 'has caused deaths for some of my server users' are you meaning that the injuries from a car crash are causing deaths, they're dying on impact (when the option is unticked and/or chance is at 0%), or they are randomly dying when a vehicle breaks hard?

Since I haven't gotten any widespread reports of this issue past vehicles that accelerate/brake very hard causing low severity injuries, I'd appreciate any and all info you can give me to help diagnose if this is a more widespread issue with PVI, or a more local issue.
< >
Mostrando 1-13 de 13 comentarios
Por página: 1530 50