4 Commits

Author SHA1 Message Date
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