baseevents:onPlayerDied
The stock provider emits both a local client event and a server report with (killerType, deathCoords). killerType describes the ped type, not a killer’s account or server ID. deathCoords is a three-element coordinate array, not a vector3 object.
For harmless local presentation, start baseevents and add this to client.lua:
AddEventHandler('baseevents:onPlayerDied', function(killerType, deathCoords)
if type(deathCoords) ~= 'table' then return end
-- Clear this resource's local prompt or overlay; do not award anything.
print('[Death observation] Local death notification received.')
end)A server.lua listener uses the same payload plus implicit source for the reporting session. The payload was computed on a client. It does not authorize a reward, identify an attacker account or guarantee an exact cause of death. A custom framework may replace the provider’s death handling entirely.
Test the provider’s self/environmental death path and its separate onPlayerKilled path. Make UI teardown safe to repeat; do not assume that all death-related hooks have identical arguments or ordering. onPlayerWasted is a separate legacy fallback, not a drop-in alias.
Source: death event implementation at the reviewed revision . See stock resource events and authoritative server validation.