Skip to content

Commit f1d642d

Browse files
authored
More death reasons (#7)
10 new death reasons - Melee - Bullet - Knife - Car - Animal - Fall damage - Explosion - Gassed - Burned - Drowned Embedded death messages Bold connect Bold disconnect
1 parent f479679 commit f1d642d

File tree

2 files changed

+76
-42
lines changed

2 files changed

+76
-42
lines changed

Serverlogging/client.lua

+70-26
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,75 @@
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

415
Citizen.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

Serverlogging/server.lua

+6-16
Original file line numberDiff line numberDiff line change
@@ -25,37 +25,27 @@ AddEventHandler('chatMessage', function(source, name, message)
2525
PerformHttpRequest('https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=' .. STEAM_KEY .. '&steamids=' .. tonumber(GetIDFromSource('steam', source), 16), function(err, text, headers)
2626
local image = string.match(text, '"avatarfull":"(.-)","')
2727
--print(image) -- DEBUGGING
28-
return PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = name .. " [" .. source .. "]", content = message, avatar_url = image, tts = false}), { ['Content-Type'] = 'application/json' })
28+
PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = name .. " [" .. source .. "]", content = message, avatar_url = image, tts = false}), { ['Content-Type'] = 'application/json' })
2929
end)
3030
end
3131
end)
3232

3333
AddEventHandler('playerConnecting', function()
3434
--PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = DISCORD_NAME, content = "```CSS\n".. GetPlayerName(source) .. " connecting\n```", avatar_url = DISCORD_IMAGE}), { ['Content-Type'] = 'application/json' })
35-
sendToDiscord("Server Login", GetPlayerName(source) .. " is connecting to the server.", 65280)
35+
sendToDiscord("Server Login", "**" .. GetPlayerName(source) .. "** is connecting to the server.", 65280)
3636
end)
3737

3838
AddEventHandler('playerDropped', function(reason)
3939
local color = 16711680
4040
if string.match(reason, "Kicked") or string.match(reason, "Banned") then
41-
color == 16007897
41+
color = 16007897
4242
end
43-
sendToDiscord("Server Logout", GetPlayerName(source) .. " has left the server. \n Reason: " .. reason, color)
43+
sendToDiscord("Server Logout", "**" .. GetPlayerName(source) .. "** has left the server. \n Reason: " .. reason, color)
4444
end)
4545

4646
RegisterServerEvent('playerDied')
47-
AddEventHandler('playerDied',function(killer,reason)
48-
if killer == "**Invalid**" then
49-
reason = 2
50-
end
51-
if reason == 0 then
52-
PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = DISCORD_NAME, content = GetPlayerName(source) .. " committed suicide", avatar_url = DISCORD_IMAGE}), { ['Content-Type'] = 'application/json' })
53-
elseif reason == 1 then
54-
PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = DISCORD_NAME, content = GetPlayerName(source) .. " was killed by: " .. killer, avatar_url = DISCORD_IMAGE}), { ['Content-Type'] = 'application/json' })
55-
else
56-
PerformHttpRequest(DISCORD_WEBHOOK, function(err, text, headers) end, 'POST', json.encode({username = DISCORD_NAME, content = GetPlayerName(source) .. " died", avatar_url = DISCORD_IMAGE}), { ['Content-Type'] = 'application/json' })
57-
58-
end
47+
AddEventHandler('playerDied',function(message)
48+
sendToDiscord("Death log", message, 16711680)
5949
end)
6050

6151
function GetIDFromSource(Type, ID) --(Thanks To WolfKnight [forum.FiveM.net])

0 commit comments

Comments
 (0)