Project Zomboid

Project Zomboid

Proper Vehicle Injuries for MP
 Tämä aihe on kiinnitetty, joten se on todennäköisesti tärkeä
Fluffy89  [kehittäjä] 23.7.2023 klo 9.02
Bugs & Issues
Please report bugs and potential issues here!
< >
Näytetään 1-13 / 13 kommentista
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  [kehittäjä] 29.8.2023 klo 13.01 
Rabbit lähetti viestin:
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.
Viimeisin muokkaaja on Fluffy89; 29.8.2023 klo 13.01
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  [kehittäjä] 29.8.2023 klo 22.00 
Rabbit lähetti viestin:
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!
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  [kehittäjä] 30.8.2023 klo 17.10 
Rabbit lähetti viestin:
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 :)
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)
Viimeisin muokkaaja on Agitatio; 4.12.2023 klo 10.08
Fluffy89  [kehittäjä] 4.12.2023 klo 11.21 
Agitatio lähetti viestin:
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  [kehittäjä] 4.12.2023 klo 15.40 
Agitatio lähetti viestin:
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.
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.
Viimeisin muokkaaja on Bambino; 13.12.2023 klo 8.58
Fluffy89  [kehittäjä] 13.12.2023 klo 10.53 
Bambino lähetti viestin:
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!
Viimeisin muokkaaja on Fluffy89; 13.12.2023 klo 10.54
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  [kehittäjä] 28.5. klo 21.36 
Foxenn lähetti viestin:
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.
< >
Näytetään 1-13 / 13 kommentista
Sivua kohden: 1530 50