Death & New Life Rule
On this page7
If a character dies and is not revived — they respawn at the hospital — they forget the people who were close enough to see them go down. Memories and familiarity. A revive keeps everything.
The basics
| Key | Default | Allowed | What it does |
|---|---|---|---|
Config.Death.Enabled | true | true / false | The whole rule, on or off. |
WitnessRadius | 25.0 | metres | Who counts as a witness around you. |
RequireLineOfSight | true | true / false | Witnesses need a clear view of you. Walls block, windows do not. |
RequireFacing | false | true / false | Witnesses must also be facing you. |
LosFlags | 17 | flags | Line-of-sight test flags: 1 world + 16 objects. Leave as is. |
Snapshot | 'both' | 'down' · 'dead' · 'both' | When the witness list is taken: when you fall, when you fully die, or both lists added together. |
EraseFamiliarity | true | true / false | Also forget familiarity, not just memories. |
NotifyOnRespawn | true | true / false | Show "You don't remember the people around your death." after a respawn. |
IgnoreBuckets | {} | e.g. { 7, 8 } | Routing buckets where deaths never count — arenas, events, minigames. |
Revive versus respawn
The whole rule turns on one question: was this a revive or a respawn?
| Key | Default | Allowed | What it does |
|---|---|---|---|
KeepOnRevive | { 'medic', 'player', 'item', 'npc', 'admin' } | any of those five | Which kinds of revive keep memories. Remove one to make it count as a respawn. |
UnknownOutcome | 'movement' | 'movement' · 'keep' · 'forget' · 'admin' | What to do when the ambulance script cannot be read. |
ReviveSettleSeconds | 3 | seconds | Wait after "alive again" before deciding — server positions arrive late. |
A confirmed revive of an unknown kind always keeps.
The movement rule
With UnknownOutcome = 'movement' (the default), the script watches where a downed
player goes:
While down and on foot, a jump longer than
TeleportJumpMetersbetween two position samples, which starts outside and ends insideHospitalRadiusof a hospital point, is a respawn. Anything else is a revive.
| Key | Default | Allowed | What it does |
|---|---|---|---|
TeleportJumpMeters | 20.0 | metres | How big a jump counts as a teleport. |
HospitalRadius | 60.0 | metres | How wide a hospital point's catchment is. |
SampleMs | 1000 | ms | Time between position samples while someone is down. |
HospitalPoints | five vanilla hospitals | vector3 list | Where hospitals are. |
HospitalPoints = {
vector3(298.6, -584.5, 43.3), -- Pillbox Hill Medical Center
vector3(-449.7, -340.8, 34.5), -- Mount Zonah Medical Center
vector3(340.0, -1396.0, 32.5), -- Central Los Santos Medical Center
vector3(1839.4, 3672.9, 34.3), -- Sandy Shores Medical Center
vector3(-247.8, 6331.2, 32.4), -- Paleto Bay Medical Center
}Disconnects
| Key | Default | Allowed | What it does |
|---|---|---|---|
OfflinePolicy | 'wait' | 'wait' · 'respawn' · 'ignore' · 'timeout' | A player disconnects while down. wait = decide when they come back. respawn = forget now. ignore = never forget. timeout = forget if they are offline longer than OfflineTimeoutMinutes. |
OfflineTimeoutMinutes | 30 | minutes | Used by 'timeout'. |
PendingMaxHours | 72 | hours | A waiting case still open after this long counts as a respawn. |
LoginSettleSeconds | 15 | seconds | After logging back in, how long to wait before checking whether they are still down. |
OpenMaxMinutes | 60 | minutes | Before a long downed scene is looked at again. |
Deaths seen by other players
Nearby players' games also notice a death. These keys decide how such reports are confirmed and who is asked whether they saw it. Leave them as they are unless support asks. Reports from other players alone never make anyone forget anything: the server always has to confirm the death.
| Key | Default | Allowed | What it does |
|---|---|---|---|
ConfirmSeconds | 120 | seconds | How long the server waits to confirm a death that only other players reported, before it drops it. |
ObserverMinReports | 2 | count | How many different players must report a death before its witness list is taken. |
SuppressedWindowMinutes | 10 | minutes | A death only other players reported, followed by a move to a hospital within this time, counts as a respawn. |
MaxProbes | 32 | count | Most players asked "could you see it?" per death — everyone within WitnessRadius, nearest first. |
WitnessAnswerMs | 1500 | ms | How long to wait for the witnesses' line-of-sight answers. |
NoAnswerCountsAsWitness | true | true / false | A player whose game does not answer in time still counts as a witness. Keep it on. |
Admin review
| Key | Default | Allowed | What it does |
|---|---|---|---|
AdminRestore | true | true / false | Admins can undo a wrong erase from the death review list. |
Every erase is written to the admin log with its witness list, its outcome and how that outcome was decided. Restores go to the Deaths webhook when it is configured.
The admin panel's Deaths page lists every case with a short status (Down now, Waiting, Revived, Respawned, Kept by admin, Wiped by admin), the witnesses, and two buttons:
- Keep memories — nobody forgets anything for this death. On a case that was
already wiped, this brings the wiped memories back (Restore memories, needs
AdminRestore = true). - Wipe memories — the person who died forgets the witnesses now.
The buttons need the edit admin level and a written reason
(Config.Admin.RequireReason), and every choice is logged. See
Admin Panel.
Performance
| Key | Default | What it does |
|---|---|---|
Config.Performance.DeathPollMs | 250 | How often the down check runs. |
Config.Performance.ObserveDeathRadius | 25.0 | Metres within which nearby players report a death they see. |
Death scripts
The death selector tells a revive from a respawn using your ambulance script's own signals where it can. Our own detection and the movement rule always run underneath.
| Key | Default | Allowed |
|---|---|---|
Config.DeathSystem | 'auto' | auto · qbx_medical · qb-ambulancejob · esx_ambulancejob · wasabi_ambulance_v2 · wasabi_ambulance · ars_ambulancejob · ars_ambulance · osp_ambulance · brutal_ambulancejob · ak47_ambulancejob · ak47_qb_ambulancejob · randol_medical · visn_are · native · custom · none |
txAdmin heals are always read as an admin revive
(txAdmin:events:healedPlayer), whichever ambulance script you run.
Per-script detail, and the one-line snippets some scripts need in their own open listener file: Ambulance & Death Scripts.