Implemented dead player blips, closes #46 (read desc)

- Fixed vehicles in vehicle shop not unloading
- Use busy spinner instead of drawing when loading vehicles
This commit is contained in:
ElPumpo
2020-01-19 17:14:33 +01:00
parent ecb553f23c
commit 6f8587b391
11 changed files with 102 additions and 64 deletions
+42 -8
View File
@@ -1,8 +1,12 @@
ESX = nil
local playersHealing = {}
local playersHealing, deadPlayers = {}, {}
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
TriggerEvent('esx_phone:registerNumber', 'ambulance', _U('alert_ambulance'), true, true)
TriggerEvent('esx_society:registerSociety', 'ambulance', 'Ambulance', 'society_ambulance', 'society_ambulance', 'society_ambulance', {type = 'public'})
RegisterNetEvent('esx_ambulancejob:revive')
AddEventHandler('esx_ambulancejob:revive', function(playerId)
local xPlayer = ESX.GetPlayerFromId(source)
@@ -11,15 +15,49 @@ AddEventHandler('esx_ambulancejob:revive', function(playerId)
local xTarget = ESX.GetPlayerFromId(playerId)
if xTarget then
xPlayer.showNotification(_U('revive_complete_award', xTarget.name, Config.ReviveReward))
xPlayer.addMoney(Config.ReviveReward)
xTarget.triggerEvent('esx_ambulancejob:revive')
if deadPlayers[playerId] then
xPlayer.showNotification(_U('revive_complete_award', xTarget.name, Config.ReviveReward))
xPlayer.addMoney(Config.ReviveReward)
xTarget.triggerEvent('esx_ambulancejob:revive')
deadPlayers[playerId] = nil
else
xPlayer.showNotification(_U('player_not_unconscious'))
end
else
xPlayer.showNotification(_U('revive_fail_offline'))
end
end
end)
RegisterNetEvent('esx:onPlayerDeath')
AddEventHandler('esx:onPlayerDeath', function(data)
deadPlayers[source] = 'dead'
TriggerClientEvent('esx_ambulancejob:setDeadPlayers', -1, deadPlayers)
end)
RegisterNetEvent('esx_ambulancejob:onPlayerDistress')
AddEventHandler('esx_ambulancejob:onPlayerDistress', function()
if deadPlayers[source] then
deadPlayers[source] = 'distress'
TriggerClientEvent('esx_ambulancejob:setDeadPlayers', -1, deadPlayers)
end
end)
RegisterNetEvent('esx_ambulancejob:onPlayerSpawn')
AddEventHandler('esx_ambulancejob:onPlayerSpawn', function()
if deadPlayers[source] then
deadPlayers[source] = nil
TriggerClientEvent('esx_ambulancejob:setDeadPlayers', -1, deadPlayers)
end
end)
AddEventHandler('esx:playerDropped', function(playerId, reason)
if deadPlayers[playerId] then
deadPlayers[playerId] = nil
TriggerClientEvent('esx_ambulancejob:setDeadPlayers', -1, deadPlayers)
end
end)
RegisterNetEvent('esx_ambulancejob:heal')
AddEventHandler('esx_ambulancejob:heal', function(target, type)
local xPlayer = ESX.GetPlayerFromId(source)
@@ -38,10 +76,6 @@ AddEventHandler('esx_ambulancejob:putInVehicle', function(target)
end
end)
TriggerEvent('esx_phone:registerNumber', 'ambulance', _U('alert_ambulance'), true, true)
TriggerEvent('esx_society:registerSociety', 'ambulance', 'Ambulance', 'society_ambulance', 'society_ambulance', 'society_ambulance', {type = 'public'})
ESX.RegisterServerCallback('esx_ambulancejob:removeItemsAfterRPDeath', function(source, cb)
local xPlayer = ESX.GetPlayerFromId(source)