[LUA] Use onPlayerDied to trigger server function

Hello everyone,

I’m new to developing and my question is relatively easy, but after 2 days of searching I just can’t find the answer. I want to use onPlayerDied and onPlayerKilled to trigger a server action. Something simple to start with, a print for example. I’ve tried 10 different ways and did not get it to work. Also tried using examples from the ambulance job but still nothing. Here is just 1 example of what I tried so far:

_resource.lua

server_script "server.lua"
client_script "client.lua"

client.lua

RegisterClientEvent('baseevents:onPlayerDied')
AddEventHandler('baseevents:onPlayerDied', function()
    TriggerServerEvent('baseevents:onPlayerDied')
end)

server.lua

RegisterServerEvent('baseevents:onPlayerDied')
AddEventHandler('baseevents:onPlayerDied', function()
        print("DIED")
end)

I’ve tried doing client and server side, just server side, RegisterNetEvent, RegisterClientEvent, RegisterServerEvent, with baseevents:, without baseevents:, onPlayerDied or just PlayerDied. I just can’t figure it out on my own. So anyone that can tell me what the correct way is to trigger a server event onPlayerDied ?

Hi,

you don’t need to trigger the server event by yourself, baseevents do it for you :wink:

From baseevents/deathevents.lua:

if killer == ped or killer == -1 then
                    TriggerEvent('baseevents:onPlayerDied', killertype, { table.unpack(GetEntityCoords(ped)) })
                    TriggerServerEvent('baseevents:onPlayerDied', killertype, { table.unpack(GetEntityCoords(ped)) })
                    hasBeenDead = true
                else
                    TriggerEvent('baseevents:onPlayerKilled', killerid, {killertype=killertype, weaponhash = killerweapon, killerinveh=killerinvehicle, killervehseat=killervehicleseat, killervehname=killervehiclename, killerpos={table.unpack(GetEntityCoords(ped))}})
                    TriggerServerEvent('baseevents:onPlayerKilled', killerid, {killertype=killertype, weaponhash = killerweapon, killerinveh=killerinvehicle, killervehseat=killervehicleseat, killervehname=killervehiclename, killerpos={table.unpack(GetEntityCoords(ped))}})
                    hasBeenDead = true
                end

Then, as you can see, there’re 2 events, baseevents:onPlayerKilled is triggered when killed by another player otherwise baseevents:onPlayerDied is triggered.

Last thing, be sure you to have start baseevents in your server.cfg :wink:

1 Like

start baseevents was not in the server.cfg thanks to the “once click installer” from the hosting service :unamused:

Using that has literally cost me more time in fixing issues than doing the install manually, and then some more.

Thanks for your help.

2 Likes

my problem as well, thank you for saving me some time