483 lines
17 KiB
Lua
483 lines
17 KiB
Lua
|
local PlayerInjuries = {}
|
||
|
local PlayerWeaponWounds = {}
|
||
|
local QBCore = exports['qb-core']:GetCoreObject()
|
||
|
local doctorCount = 0
|
||
|
local doctorCalled = false
|
||
|
local Doctors = {}
|
||
|
|
||
|
-- Events
|
||
|
|
||
|
-- Compatibility with txAdmin Menu's heal options.
|
||
|
-- This is an admin only server side event that will pass the target player id or -1.
|
||
|
AddEventHandler('txAdmin:events:healedPlayer', function(eventData)
|
||
|
if GetInvokingResource() ~= "monitor" or type(eventData) ~= "table" or type(eventData.id) ~= "number" then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
TriggerClientEvent('hospital:client:Revive', eventData.id)
|
||
|
TriggerClientEvent("hospital:client:HealInjuries", eventData.id, "full")
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SendToBed', function(bedId, isRevive)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
TriggerClientEvent('hospital:client:SendToBed', src, bedId, Config.Locations["beds"][bedId], isRevive)
|
||
|
TriggerClientEvent('hospital:client:SetBed', -1, bedId, true)
|
||
|
Player.Functions.RemoveMoney("bank", Config.BillCost , "respawned-at-hospital")
|
||
|
exports['qb-management']:AddMoney("ambulance", Config.BillCost)
|
||
|
TriggerClientEvent('hospital:client:SendBillEmail', src, Config.BillCost)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:RespawnAtHospital', function()
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.PlayerData.metadata["injail"] > 0 then
|
||
|
for k, v in pairs(Config.Locations["jailbeds"]) do
|
||
|
if not v.taken then
|
||
|
TriggerClientEvent('hospital:client:SendToBed', src, k, v, true)
|
||
|
TriggerClientEvent('hospital:client:SetBed2', -1, k, true)
|
||
|
if Config.WipeInventoryOnRespawn then
|
||
|
Player.Functions.ClearInventory()
|
||
|
MySQL.Async.execute('UPDATE players SET inventory = ? WHERE citizenid = ?', { json.encode({}), Player.PlayerData.citizenid })
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.possessions_taken'), 'error')
|
||
|
end
|
||
|
Player.Functions.RemoveMoney("bank", Config.BillCost, "respawned-at-hospital")
|
||
|
exports['qb-management']:AddMoney("ambulance", Config.BillCost)
|
||
|
TriggerClientEvent('hospital:client:SendBillEmail', src, Config.BillCost)
|
||
|
return
|
||
|
end
|
||
|
end
|
||
|
|
||
|
TriggerClientEvent('hospital:client:SendToBed', src, 1, Config.Locations["jailbeds"][1], true)
|
||
|
TriggerClientEvent('hospital:client:SetBed', -1, 1, true)
|
||
|
if Config.WipeInventoryOnRespawn then
|
||
|
Player.Functions.ClearInventory()
|
||
|
MySQL.Async.execute('UPDATE players SET inventory = ? WHERE citizenid = ?', { json.encode({}), Player.PlayerData.citizenid })
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.possessions_taken'), 'error')
|
||
|
end
|
||
|
Player.Functions.RemoveMoney("bank", Config.BillCost, "respawned-at-hospital")
|
||
|
exports['qb-management']:AddMoney("ambulance", Config.BillCost)
|
||
|
TriggerClientEvent('hospital:client:SendBillEmail', src, Config.BillCost)
|
||
|
else
|
||
|
for k, v in pairs(Config.Locations["beds"]) do
|
||
|
if not v.taken then
|
||
|
TriggerClientEvent('hospital:client:SendToBed', src, k, v, true)
|
||
|
TriggerClientEvent('hospital:client:SetBed', -1, k, true)
|
||
|
if Config.WipeInventoryOnRespawn then
|
||
|
Player.Functions.ClearInventory()
|
||
|
MySQL.update('UPDATE players SET inventory = ? WHERE citizenid = ?', { json.encode({}), Player.PlayerData.citizenid })
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.possessions_taken'), 'error')
|
||
|
end
|
||
|
Player.Functions.RemoveMoney("bank", Config.BillCost, "respawned-at-hospital")
|
||
|
exports['qb-management']:AddMoney("ambulance", Config.BillCost)
|
||
|
TriggerClientEvent('hospital:client:SendBillEmail', src, Config.BillCost)
|
||
|
return
|
||
|
end
|
||
|
end
|
||
|
--print("All beds were full, placing in first bed as fallback")
|
||
|
|
||
|
TriggerClientEvent('hospital:client:SendToBed', src, 1, Config.Locations["beds"][1], true)
|
||
|
TriggerClientEvent('hospital:client:SetBed', -1, 1, true)
|
||
|
if Config.WipeInventoryOnRespawn then
|
||
|
Player.Functions.ClearInventory()
|
||
|
MySQL.update('UPDATE players SET inventory = ? WHERE citizenid = ?', { json.encode({}), Player.PlayerData.citizenid })
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.possessions_taken'), 'error')
|
||
|
end
|
||
|
Player.Functions.RemoveMoney("bank", Config.BillCost, "respawned-at-hospital")
|
||
|
exports['qb-management']:AddMoney("ambulance", Config.BillCost)
|
||
|
TriggerClientEvent('hospital:client:SendBillEmail', src, Config.BillCost)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:ambulanceAlert', function(text)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local players = QBCore.Functions.GetQBPlayers()
|
||
|
for _, v in pairs(players) do
|
||
|
if v.PlayerData.job.name == 'ambulance' and v.PlayerData.job.onduty then
|
||
|
TriggerClientEvent('hospital:client:ambulanceAlert', v.PlayerData.source, coords, text)
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:LeaveBed', function(id)
|
||
|
TriggerClientEvent('hospital:client:SetBed', -1, id, false)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SyncInjuries', function(data)
|
||
|
local src = source
|
||
|
PlayerInjuries[src] = data
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SetWeaponDamage', function(data)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player then
|
||
|
PlayerWeaponWounds[Player.PlayerData.source] = data
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:RestoreWeaponDamage', function()
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
PlayerWeaponWounds[Player.PlayerData.source] = nil
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SetDeathStatus', function(isDead)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player then
|
||
|
Player.Functions.SetMetaData("isdead", isDead)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SetLaststandStatus', function(bool)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player then
|
||
|
Player.Functions.SetMetaData("inlaststand", bool)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SetArmor', function(amount)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player then
|
||
|
Player.Functions.SetMetaData("armor", amount)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:TreatWounds', function(playerId)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
local Patient = QBCore.Functions.GetPlayer(playerId)
|
||
|
if Patient then
|
||
|
if Player.PlayerData.job.name =="ambulance" then
|
||
|
Player.Functions.RemoveItem('bandage', 1)
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items['bandage'], "remove")
|
||
|
TriggerClientEvent("hospital:client:HealInjuries", Patient.PlayerData.source, "full")
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:AddDoctor', function(job)
|
||
|
if job == 'ambulance' then
|
||
|
local src = source
|
||
|
doctorCount = doctorCount + 1
|
||
|
TriggerClientEvent("hospital:client:SetDoctorCount", -1, doctorCount)
|
||
|
Doctors[src] = true
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:RemoveDoctor', function(job)
|
||
|
if job == 'ambulance' then
|
||
|
local src = source
|
||
|
doctorCount = doctorCount - 1
|
||
|
TriggerClientEvent("hospital:client:SetDoctorCount", -1, doctorCount)
|
||
|
Doctors[src] = nil
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
AddEventHandler("playerDropped", function()
|
||
|
local src = source
|
||
|
if Doctors[src] then
|
||
|
doctorCount = doctorCount - 1
|
||
|
TriggerClientEvent("hospital:client:SetDoctorCount", -1, doctorCount)
|
||
|
Doctors[src] = nil
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("hospital:server:addTrunkItems", function(plate, items) exports["ps-inventory"]:addTrunkItems(plate, items) end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:RevivePlayer', function(playerId, isOldMan)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
local Patient = QBCore.Functions.GetPlayer(playerId)
|
||
|
local oldMan = isOldMan or false
|
||
|
if Patient then
|
||
|
if Player.PlayerData.job.name == "ambulance" or QBCore.Functions.HasItem(src, "firstaid", 1) then
|
||
|
if oldMan then
|
||
|
if Player.Functions.RemoveMoney("cash", 5000, "revived-player") then
|
||
|
Player.Functions.RemoveItem('firstaid', 1)
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items['firstaid'], "remove")
|
||
|
TriggerClientEvent('hospital:client:Revive', Patient.PlayerData.source)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_enough_money'), "error")
|
||
|
end
|
||
|
else
|
||
|
Player.Functions.RemoveItem('firstaid', 1)
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items['firstaid'], "remove")
|
||
|
TriggerClientEvent('hospital:client:Revive', Patient.PlayerData.source)
|
||
|
end
|
||
|
else
|
||
|
MySQL.insert('INSERT INTO bans (name, license, discord, ip, reason, expire, bannedby) VALUES (?, ?, ?, ?, ?, ?, ?)', {
|
||
|
GetPlayerName(src),
|
||
|
QBCore.Functions.GetIdentifier(src, 'license'),
|
||
|
QBCore.Functions.GetIdentifier(src, 'discord'),
|
||
|
'0.0.0.0',
|
||
|
"Trying to revive themselves or other players",
|
||
|
2147483647,
|
||
|
'qb-ambulancejob'
|
||
|
})
|
||
|
TriggerEvent('qb-log:server:CreateLog', 'ambulancejob', 'Player Banned', 'red', string.format('%s was banned by %s for %s', GetPlayerName(src), 'qb-ambulancejob', "Trying to revive themselves or other players"), true)
|
||
|
DropPlayer(src, 'You were permanently banned by the server for: Exploiting')
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:SendDoctorAlert', function()
|
||
|
local src = source
|
||
|
if not doctorCalled then
|
||
|
doctorCalled = true
|
||
|
local players = QBCore.Functions.GetQBPlayers()
|
||
|
for _, v in pairs(players) do
|
||
|
if v.PlayerData.job.name == 'ambulance' and v.PlayerData.job.onduty then
|
||
|
TriggerClientEvent('QBCore:Notify', v.PlayerData.source, Lang:t('info.dr_needed'), 'ambulance')
|
||
|
end
|
||
|
end
|
||
|
SetTimeout(Config.DocCooldown * 60000, function()
|
||
|
doctorCalled = false
|
||
|
end)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, 'Læge er allerede underrettet', 'error')
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:UseFirstAid', function(targetId)
|
||
|
local src = source
|
||
|
local Target = QBCore.Functions.GetPlayer(targetId)
|
||
|
if Target then
|
||
|
TriggerClientEvent('hospital:client:CanHelp', targetId, src)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:CanHelp', function(helperId, canHelp)
|
||
|
local src = source
|
||
|
if canHelp then
|
||
|
TriggerClientEvent('hospital:client:HelpPerson', helperId, src)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', helperId, Lang:t('error.cant_help'), "error")
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:removeBandage', function()
|
||
|
local Player = QBCore.Functions.GetPlayer(source)
|
||
|
|
||
|
if not Player then return end
|
||
|
|
||
|
Player.Functions.RemoveItem('bandage', 1)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:removeIfaks', function()
|
||
|
local Player = QBCore.Functions.GetPlayer(source)
|
||
|
|
||
|
if not Player then return end
|
||
|
|
||
|
Player.Functions.RemoveItem('ifaks', 1)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:removePainkillers', function()
|
||
|
local Player = QBCore.Functions.GetPlayer(source)
|
||
|
|
||
|
if not Player then return end
|
||
|
|
||
|
Player.Functions.RemoveItem('painkillers', 1)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('hospital:server:resetHungerThirst', function()
|
||
|
local Player = QBCore.Functions.GetPlayer(source)
|
||
|
|
||
|
if not Player then return end
|
||
|
|
||
|
Player.Functions.SetMetaData('hunger', 100)
|
||
|
Player.Functions.SetMetaData('thirst', 100)
|
||
|
|
||
|
TriggerClientEvent('hud:client:UpdateNeeds', source, 100, 100)
|
||
|
end)
|
||
|
|
||
|
-- Callbacks
|
||
|
|
||
|
QBCore.Functions.CreateCallback('hospital:GetDoctors', function(_, cb)
|
||
|
local amount = 0
|
||
|
local players = QBCore.Functions.GetQBPlayers()
|
||
|
for _, v in pairs(players) do
|
||
|
if v.PlayerData.job.name == 'ambulance' and v.PlayerData.job.onduty then
|
||
|
amount = amount + 1
|
||
|
end
|
||
|
end
|
||
|
cb(amount)
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateCallback('hospital:GetPlayerStatus', function(_, cb, playerId)
|
||
|
local Player = QBCore.Functions.GetPlayer(playerId)
|
||
|
local injuries = {}
|
||
|
injuries["WEAPONWOUNDS"] = {}
|
||
|
if Player then
|
||
|
if PlayerInjuries[Player.PlayerData.source] then
|
||
|
if (PlayerInjuries[Player.PlayerData.source].isBleeding > 0) then
|
||
|
injuries["BLEED"] = PlayerInjuries[Player.PlayerData.source].isBleeding
|
||
|
end
|
||
|
for k, _ in pairs(PlayerInjuries[Player.PlayerData.source].limbs) do
|
||
|
if PlayerInjuries[Player.PlayerData.source].limbs[k].isDamaged then
|
||
|
injuries[k] = PlayerInjuries[Player.PlayerData.source].limbs[k]
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
if PlayerWeaponWounds[Player.PlayerData.source] then
|
||
|
for k, v in pairs(PlayerWeaponWounds[Player.PlayerData.source]) do
|
||
|
injuries["WEAPONWOUNDS"][k] = v
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
cb(injuries)
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateCallback('hospital:GetPlayerBleeding', function(source, cb)
|
||
|
local src = source
|
||
|
if PlayerInjuries[src] and PlayerInjuries[src].isBleeding then
|
||
|
cb(PlayerInjuries[src].isBleeding)
|
||
|
else
|
||
|
cb(nil)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
-- Commands
|
||
|
|
||
|
--[[QBCore.Commands.Add('911e', Lang:t('info.ems_report'), {{name = 'message', help = Lang:t('info.message_sent')}}, false, function(source, args)
|
||
|
local src = source
|
||
|
local message
|
||
|
if args[1] then message = table.concat(args, " ") else message = Lang:t('info.civ_call') end
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local players = QBCore.Functions.GetQBPlayers()
|
||
|
for _, v in pairs(players) do
|
||
|
if v.PlayerData.job.name == 'ambulance' and v.PlayerData.job.onduty then
|
||
|
TriggerClientEvent('hospital:client:ambulanceAlert', v.PlayerData.source, coords, message)
|
||
|
end
|
||
|
end
|
||
|
end)]]
|
||
|
|
||
|
QBCore.Commands.Add("status", Lang:t('info.check_health'), {}, false, function(source, _)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.PlayerData.job.name == "ambulance" then
|
||
|
TriggerClientEvent("hospital:client:CheckStatus", src)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_ems'), "error")
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Commands.Add("heal", Lang:t('info.heal_player'), {}, false, function(source, _)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.PlayerData.job.name == "ambulance" then
|
||
|
TriggerClientEvent("hospital:client:TreatWounds", src)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_ems'), "error")
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Commands.Add("revivep", Lang:t('info.revive_player'), {}, false, function(source, _)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.PlayerData.job.name == "ambulance" then
|
||
|
TriggerClientEvent("hospital:client:RevivePlayer", src)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_ems'), "error")
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Commands.Add("revive", Lang:t('info.revive_player_a'), {{name = "id", help = Lang:t('info.player_id')}}, false, function(source, args)
|
||
|
local src = source
|
||
|
if args[1] then
|
||
|
local Player = QBCore.Functions.GetPlayer(tonumber(args[1]))
|
||
|
if Player then
|
||
|
TriggerClientEvent('hospital:client:Revive', Player.PlayerData.source)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_online'), "error")
|
||
|
end
|
||
|
else
|
||
|
TriggerClientEvent('hospital:client:Revive', src)
|
||
|
end
|
||
|
end, "admin")
|
||
|
|
||
|
QBCore.Commands.Add("setpain", Lang:t('info.pain_level'), {{name = "id", help = Lang:t('info.player_id')}}, false, function(source, args)
|
||
|
local src = source
|
||
|
if args[1] then
|
||
|
local Player = QBCore.Functions.GetPlayer(tonumber(args[1]))
|
||
|
if Player then
|
||
|
TriggerClientEvent('hospital:client:SetPain', Player.PlayerData.source)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_online'), "error")
|
||
|
end
|
||
|
else
|
||
|
TriggerClientEvent('hospital:client:SetPain', src)
|
||
|
end
|
||
|
end, "admin")
|
||
|
|
||
|
QBCore.Commands.Add("kill", Lang:t('info.kill'), {{name = "id", help = Lang:t('info.player_id')}}, false, function(source, args)
|
||
|
local src = source
|
||
|
if args[1] then
|
||
|
local Player = QBCore.Functions.GetPlayer(tonumber(args[1]))
|
||
|
if Player then
|
||
|
TriggerClientEvent('hospital:client:KillPlayer', Player.PlayerData.source)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_online'), "error")
|
||
|
end
|
||
|
else
|
||
|
TriggerClientEvent('hospital:client:KillPlayer', src)
|
||
|
end
|
||
|
end, "admin")
|
||
|
|
||
|
QBCore.Commands.Add('aheal', Lang:t('info.heal_player_a'), {{name = 'id', help = Lang:t('info.player_id')}}, false, function(source, args)
|
||
|
local src = source
|
||
|
if args[1] then
|
||
|
local Player = QBCore.Functions.GetPlayer(tonumber(args[1]))
|
||
|
if Player then
|
||
|
TriggerClientEvent('hospital:client:adminHeal', Player.PlayerData.source)
|
||
|
else
|
||
|
TriggerClientEvent('QBCore:Notify', src, Lang:t('error.not_online'), "error")
|
||
|
end
|
||
|
else
|
||
|
TriggerClientEvent('hospital:client:adminHeal', src)
|
||
|
end
|
||
|
end, 'admin')
|
||
|
|
||
|
-- Items
|
||
|
|
||
|
QBCore.Functions.CreateUseableItem("ifaks", function(source, item)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.Functions.GetItemByName(item.name) ~= nil then
|
||
|
TriggerClientEvent("hospital:client:UseIfaks", src)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateUseableItem("bandage", function(source, item)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.Functions.GetItemByName(item.name) ~= nil then
|
||
|
TriggerClientEvent("hospital:client:UseBandage", src)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateUseableItem("painkillers", function(source, item)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.Functions.GetItemByName(item.name) ~= nil then
|
||
|
TriggerClientEvent("hospital:client:UsePainkillers", src)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateUseableItem("firstaid", function(source, item)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.Functions.GetItemByName(item.name) ~= nil then
|
||
|
TriggerClientEvent("hospital:client:UseFirstAid", src)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
exports('GetDoctorCount', function() return doctorCount end)
|
||
|
|