54 lines
1.6 KiB
Lua
Raw Normal View History

2025-04-07 01:41:12 +00:00
local isEscorting = false
---@param bool boolean
---TODO: this event name should be changed within qb-policejob to be generic
AddEventHandler('hospital:client:SetEscortingState', function(bool)
isEscorting = bool
end)
---Use first aid pack on nearest player.
lib.callback.register('hospital:client:UseFirstAid', function()
if isEscorting then
exports.qbx_core:Notify(locale('error.impossible'), 'error')
return
end
local player = GetClosestPlayer()
if player then
local playerId = GetPlayerServerId(player)
TriggerServerEvent('hospital:server:UseFirstAid', playerId)
end
end)
lib.callback.register('hospital:client:canHelp', function()
return exports.qbx_medical:IsLaststand() and exports.qbx_medical:GetLaststandTime() <= 300
end)
---@param targetId number playerId
RegisterNetEvent('hospital:client:HelpPerson', function(targetId)
if GetInvokingResource() then return end
if lib.progressCircle({
duration = math.random(30000, 60000),
position = 'bottom',
label = locale('progress.revive'),
useWhileDead = false,
canCancel = true,
disable = {
move = false,
car = false,
combat = true,
mouse = false,
},
anim = {
dict = HealAnimDict,
clip = HealAnim,
},
})
then
exports.qbx_core:Notify(locale('success.revived'), 'success')
TriggerServerEvent('hospital:server:RevivePlayer', targetId)
else
exports.qbx_core:Notify(locale('error.canceled'), 'error')
end
end)