11-- Made by Tazio
2- -- https://forum.fivem.net/t/release-death-messages-and-join-leave/16467
2+ -- Help by qalle-fivem (esx_checkdeathcause)
3+
4+ local Melee = { - 1569615261 , 1737195953 , 1317494643 , - 1786099057 , 1141786504 , - 2067956739 , - 868994466 }
5+ local Bullet = { 453432689 , 1593441988 , 584646201 , - 1716589765 , 324215364 , 736523883 , - 270015777 , - 1074790547 , - 2084633992 , - 1357824103 , - 1660422300 , 2144741730 , 487013001 , 2017895192 , - 494615257 , - 1654528753 , 100416529 , 205991906 , 1119849093 }
6+ local Knife = { - 1716189206 , 1223143800 , - 1955384325 , - 1833087301 , 910830060 , }
7+ local Car = { 133987706 , - 1553120962 }
8+ local Animal = { - 100946242 , 148160082 }
9+ local FallDamage = { - 842959696 }
10+ local Explosion = { - 1568386805 , 1305664598 , - 1312131151 , 375527679 , 324506233 , 1752584910 , - 1813897027 , 741814745 , - 37975472 , 539292904 , 341774354 , - 1090665087 }
11+ local Gas = { - 1600701090 }
12+ local Burn = { 615608432 , 883325847 , - 544306709 }
13+ local Drown = { - 10959621 , 1936677264 }
314
415Citizen .CreateThread (function ()
5- -- main loop thing
6- alreadyDead = false
16+ local alreadyDead = false
17+
718 while true do
819 Citizen .Wait (50 )
9- local playerPed = GetPlayerPed (- 1 )
10- if IsEntityDead (playerPed ) and not alreadyDead then
11- killer = GetPedKiller (playerPed )
12- killername = false
13- for id = 0 , 64 do
14- if killer == GetPlayerPed (id ) then
15- killername = GetPlayerName (id )
16- end
17- end
18- if killer == playerPed then
19- TriggerServerEvent (' playerDied' ,0 ,0 )
20- elseif killername then
21- TriggerServerEvent (' playerDied' ,killername ,1 )
22- else
23- TriggerServerEvent (' playerDied' ,0 ,2 )
24- end
25- alreadyDead = true
26- end
27- if not IsEntityDead (playerPed ) then
28- alreadyDead = false
29- end
30- end
31- end )
20+ local playerPed = GetPlayerPed (- 1 )
21+ if IsEntityDead (playerPed ) and not alreadyDead then
22+ local playerName = GetPlayerName (PlayerId ())
23+ killer = GetPedKiller (playerPed )
24+ killername = false
25+
26+ for id = 0 , 64 do
27+ if killer == GetPlayerPed (id ) then
28+ killername = GetPlayerName (id )
29+ end
30+ end
31+
32+ local death = GetPedCauseOfDeath (playerPed )
33+
34+ if checkArray (Melee , death ) then
35+ TriggerServerEvent (' playerDied' , killername .. " meleed " .. playerName )
36+ elseif checkArray (Bullet , death ) then
37+ TriggerServerEvent (' playerDied' , killername .. " shot " .. playerName )
38+ elseif checkArray (Knife , death ) then
39+ TriggerServerEvent (' playerDied' , killername .. " stabbed " .. playerName )
40+ elseif checkArray (Car , death ) then
41+ TriggerServerEvent (' playerDied' , killername .. " hit " .. playerName )
42+ elseif checkArray (Animal , death ) then
43+ TriggerServerEvent (' playerDied' , playerName .. " died by an animal" )
44+ elseif checkArray (FallDamage , death ) then
45+ TriggerServerEvent (' playerDied' , playerName .. " died of fall damage" )
46+ elseif checkArray (Explosion , death ) then
47+ TriggerServerEvent (' playerDied' , playerName .. " died of an explosion" )
48+ elseif checkArray (Gas , death ) then
49+ TriggerServerEvent (' playerDied' , playerName .. " died of gas" )
50+ elseif checkArray (Burn , death ) then
51+ TriggerServerEvent (' playerDied' , playerName .. " burned to death" )
52+ elseif checkArray (Drown , death ) then
53+ TriggerServerEvent (' playerDied' , playerName .. " drowned" )
54+ else
55+ TriggerServerEvent (' playerDied' , playerName .. " was killed by an unknown force" )
56+ -- print(death)
57+ end
58+
59+ alreadyDead = true
60+ end
61+
62+ if not IsEntityDead (playerPed ) then
63+ alreadyDead = false
64+ end
65+ end
66+ end )
67+
68+ function checkArray (array , val )
69+ for name , value in ipairs (array ) do
70+ if value == val then
71+ return true
72+ end
73+ end
74+ return false
75+ end
0 commit comments