forked from Simnation/Main
96 lines
No EOL
3 KiB
Lua
96 lines
No EOL
3 KiB
Lua
if GetResourceState('qbx_core') ~= 'started' then return end
|
|
|
|
local metadata = {}
|
|
|
|
--- Convert sex number to string M or F
|
|
---@param sex number
|
|
---@return string
|
|
local function GetStringSex(sex)
|
|
return sex == 1 and 'F' or 'M'
|
|
end
|
|
|
|
--- 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 player = exports.qbx_core:GetPlayer(src)
|
|
return {
|
|
img = Config.Licenses[itemName].badge,
|
|
grade = player.PlayerData.job.grade.name
|
|
}
|
|
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 player = exports.qbx_core:GetPlayer(src)
|
|
|
|
if type(itemTable) == "string" then
|
|
itemTable = {itemTable}
|
|
end
|
|
|
|
if type(itemTable) == "table" then
|
|
for _, v in pairs(itemTable) do
|
|
metadata = {
|
|
cardtype = v,
|
|
citizenid = player.PlayerData.citizenid,
|
|
firstname = player.PlayerData.charinfo.firstname,
|
|
lastname = player.PlayerData.charinfo.lastname,
|
|
birthdate = player.PlayerData.charinfo.birthdate,
|
|
sex = GetStringSex(player.PlayerData.charinfo.gender),
|
|
nationality = player.PlayerData.charinfo.nationality,
|
|
mugShot = 'none',
|
|
badge = GetBadge(src, v)
|
|
}
|
|
player.Functions.AddItem(v, 1, false, metadata)
|
|
end
|
|
else
|
|
print("Invalid parameter type")
|
|
end
|
|
end
|
|
|
|
exports('CreateMetaLicense', CreateMetaLicense)
|
|
|
|
--- Get metadata for license
|
|
---@param src number Source number
|
|
---@param itemTable string | table Item name or table of item names
|
|
local function GetMetaLicense(src, itemTable)
|
|
local player = exports.qbx_core:GetPlayer(src)
|
|
|
|
if type(itemTable) == "string" then
|
|
itemTable = {itemTable}
|
|
end
|
|
|
|
if type(itemTable) == "table" then
|
|
for _, v in pairs(itemTable) do
|
|
metadata = {
|
|
cardtype = v,
|
|
citizenid = player.PlayerData.citizenid,
|
|
firstname = player.PlayerData.charinfo.firstname,
|
|
lastname = player.PlayerData.charinfo.lastname,
|
|
birthdate = player.PlayerData.charinfo.birthdate,
|
|
sex = GetStringSex(player.PlayerData.charinfo.gender),
|
|
nationality = player.PlayerData.charinfo.nationality,
|
|
mugShot = 'none',
|
|
badge = GetBadge(src,v)
|
|
}
|
|
return metadata
|
|
end
|
|
else
|
|
print("Invalid parameter type")
|
|
end
|
|
end
|
|
|
|
exports('GetMetaLicense', GetMetaLicense)
|
|
|
|
--- Create metadata for license
|
|
---@param k string item name
|
|
function CreateRegisterItem(k)
|
|
exports.qbx_core:CreateUseableItem(k, function(source, item)
|
|
TriggerEvent('um-idcard:server:sendData', source, item.info or item.metadata)
|
|
end)
|
|
end |