Possible fix for onPlayerKilled event where killer id isn't an active player

This commit is contained in:
ElPumpo
2018-08-28 12:02:05 +02:00
parent 0cac67ef86
commit 7e31fc90f4
2 changed files with 37 additions and 29 deletions
+25 -17
View File
@@ -90,27 +90,35 @@ end)
AddEventHandler('baseevents:onPlayerKilled', function(killerId, data)
local playerPed = PlayerPedId()
local killer = GetPlayerFromServerId(killerId)
-- snake text; killerpos actually is the victim
local victimCoords = data.killerpos
local weaponHash = data.weaponhash
if NetworkIsPlayerActive(killer) then
local victimCoords = data.killerpos
local weaponHash = data.weaponhash
data.killerpos = nil
data.weaponhash = nil
data.killerpos = nil
data.weaponhash = nil
local killerPed = GetPlayerPed(GetPlayerFromServerId(killerId))
local killerCoords = GetEntityCoords(killerPed)
local distance = GetDistanceBetweenCoords(victimCoords[1], victimCoords[2], victimCoords[3], killerCoords, false)
local killerPed = GetPlayerPed(killer)
local killerCoords = GetEntityCoords(killerPed)
local distance = GetDistanceBetweenCoords(victimCoords[1], victimCoords[2], victimCoords[3], killerCoords, false)
table.insert(data, {
victimCoords = victimCoords,
weaponHash = weaponHash,
deathCause = GetPedCauseOfDeath(playerPed),
killed = true,
killerId = killerId,
killerCoords = { table.unpack(killerCoords) },
distance = ESX.Round(distance)
})
table.insert(data, {
victimCoords = victimCoords,
weaponHash = weaponHash,
deathCause = GetPedCauseOfDeath(playerPed),
killed = true,
killerId = killerId,
killerCoords = { table.unpack(killerCoords) },
distance = ESX.Round(distance)
})
else
table.insert(data, {
killed = false,
deathCause = GetPedCauseOfDeath(playerPed)
})
end
TriggerEvent('esx:onPlayerDeath', data)
TriggerServerEvent('esx:onPlayerDeath', data)