Main/resources/[jobs]/[police]/loaf_spikestrips/server/framework/esx.lua
2025-06-07 08:51:21 +02:00

83 lines
1.6 KiB
Lua

if Config.Framework ~= "esx" then
return
end
debugprint("Loading ESX")
local export, obj = pcall(function()
return exports.es_extended:getSharedObject()
end)
if export then
ESX = obj
else
TriggerEvent("esx:getSharedObject", function(esx)
ESX = esx
end)
end
debugprint("ESX loaded")
function HasItem(source, item)
local xPlayer = ESX.GetPlayerFromId(source)
return (xPlayer?.getInventoryItem(item)?.count or 0) > 0
end
function RemoveItem(source, item)
local xPlayer = ESX.GetPlayerFromId(source)
if xPlayer and HasItem(source, item) then
xPlayer.removeInventoryItem(item, 1)
return true
end
return false
end
function AddItem(source, item)
local xPlayer = ESX.GetPlayerFromId(source)
if not xPlayer then
return false
end
if xPlayer.canCarryItem and not xPlayer.canCarryItem(item, 1) then
return false
elseif not xPlayer.canCarryItem then
local itemData = xPlayer.getInventoryItem(item)
if itemData.limit ~= -1 and itemData.count + 1 > itemData.limit then
return false
end
end
xPlayer.addInventoryItem(item, 1)
return true
end
function IsPolice(source)
local xPlayer = ESX.GetPlayerFromId(source)
if not xPlayer then
return false
end
return PoliceJobsLookup[xPlayer.job.name] == true
end
---@param command string
---@param description string
---@param cb fun(source: number)
function RegisterAdminCommand(command, description, cb)
ESX.RegisterCommand(command, "admin", function(xPlayer)
cb(xPlayer.source)
end, false, {
help = description
})
end
function CreateUsableItem(item, cb)
ESX.RegisterUsableItem(item, cb)
end