5 Commits

Author SHA1 Message Date
d21d04f606 Add debug logging to onClientResourceStop cleanup, bump to 1.1.5
Temporary tracing to diagnose why safe props still show after
resource stop despite DeleteObject being called.
2026-08-03 11:58:50 +00:00
091e4864f1 Unfreeze safe props before deleting, bump to 1.1.4
Deleting a frozen object left a stale rendered mesh on screen until
the area re-streamed. Unfreezing right before DeleteObject clears it
immediately, matching how safe:despawn already looked to behave.
2026-08-03 11:52:59 +00:00
55b4506225 Clean up spawned safe props on resource stop, bump to 1.1.3
The cleanup loop ran on onClientResourceStart, but spawnedSafes is
already a fresh empty table by then, so it never actually deleted
anything. Props from before a restart stayed orphaned in the world
and got duplicated by the requestSync on start. Moved the cleanup to
onClientResourceStop, which runs while the entities are still known.
2026-08-03 11:38:57 +00:00
781607a434 Improve notify messages and fix premature pickup success notice
Distance rejection now says exactly why, the PIN rate-limit shows
remaining seconds, and the client no longer announces pickup success
before the server validates it.
2026-08-03 11:05:37 +00:00
849663708a Add safe stash resource with security hardening
Adds distance validation on placement, PIN attempt rate limiting,
proximity checks on open/pickup, and prevents item loss on pickup
when the safe still has contents.
2026-08-03 10:57:14 +00:00