Summary
OnPlayerLoaded is triggered too early during character selection, causing metadata-driven Save() to store hidden multichar coordinates instead of the player’s actual position.
Reproduction
- Join the server and select a character.
- Move to a different location or world.
- Logout.
- Rejoin and select the same character.
- Player respawns at multichar hidden coordinates instead of the last saved location.
Expected behavior
Player position should only be saved after the final spawn location is applied, not during character selection or hidden multichar transitions.
Actual behavior
During character selection, OnPlayerLoaded triggers metadata updates (e.g. isdead/inlaststand) which call Save() before the spawn is finalized, overwriting the last valid position with multichar hidden coordinates.
Additional context
This is caused by qbx_medical scripts updating death-related metadata (isdead / inlaststand) immediately after OnPlayerLoaded.
Those metadata updates call Save() while the player is still at multichar hidden coords.
A simple delay (e.g. ~3 seconds) before triggering OnPlayerLoaded on the client side resolves the issue and ensures Save() runs after the final spawn.
Current Version
main branch (latest)
Custom Resources
qbx_medical, qbx_core
Summary
OnPlayerLoaded is triggered too early during character selection, causing metadata-driven Save() to store hidden multichar coordinates instead of the player’s actual position.
Reproduction
Expected behavior
Player position should only be saved after the final spawn location is applied, not during character selection or hidden multichar transitions.
Actual behavior
During character selection, OnPlayerLoaded triggers metadata updates (e.g. isdead/inlaststand) which call Save() before the spawn is finalized, overwriting the last valid position with multichar hidden coordinates.
Additional context
This is caused by qbx_medical scripts updating death-related metadata (isdead / inlaststand) immediately after OnPlayerLoaded.
Those metadata updates call Save() while the player is still at multichar hidden coords.
A simple delay (e.g. ~3 seconds) before triggering OnPlayerLoaded on the client side resolves the issue and ensures Save() runs after the final spawn.
Current Version
main branch (latest)
Custom Resources
qbx_medical, qbx_core