1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/um-idcard/bridge/framework/esx.lua
2025-08-04 05:39:52 +02:00

69 lines
2.1 KiB
Lua

if GetResourceState('es_extended') ~= 'started' then return end
ESX = exports['es_extended']:getSharedObject()
local hasQs = GetResourceState('qs-inventory') == 'started'
local metadata = {}
--- Get badge for license
---@param src number Source number
---@param itemName string
---@return string | table
local function GetBadge(src, itemName)
if not Config.Licenses[itemName].badge then return 'none' end
local xPlayer = ESX.GetPlayerFromId(src)
local badgeTable = {
img = Config.Licenses[itemName].badge,
grade = xPlayer.getJob().grade_label
}
return badgeTable
end
--- Create metadata for license
---@param src number Source number
---@param itemTable string | table Item name or table of item names
local function CreateMetaLicense(src, itemTable)
local xPlayer = ESX.GetPlayerFromId(src)
if type(itemTable) == 'string' then
itemTable = { itemTable }
end
if type(itemTable) == 'table' then
for _, v in pairs(itemTable) do
metadata = {
cardtype = v,
identifier = xPlayer.getIdentifier(),
firstname = xPlayer.variables.firstName,
lastname = xPlayer.variables.lastName,
birthdate = xPlayer.variables.dateofbirth,
sex = xPlayer.variables.sex,
nationality = 'Los Santos',
mugShot = 'none',
badge = GetBadge(src, v)
}
if hasQs then return exports['qs-inventory']:AddItem(src, v, 1, false, metadata) end
exports.ox_inventory:AddItem(src, v, 1, metadata)
end
else
print('Invalid parameter type')
end
end
exports('CreateMetaLicense', CreateMetaLicense)
--- Create metadata for license
---@param k string item name
function CreateRegisterItem(k)
if hasQs then
ESX.RegisterUsableItem(k, function(source, item)
TriggerEvent('um-idcard:server:sendData', source, item.info)
end)
return
end
ESX.RegisterUsableItem(k, function(source, _, item)
TriggerEvent('um-idcard:server:sendData', source, item.metadata)
end)
end