forked from Simnation/Main
72 lines
2.2 KiB
Lua
72 lines
2.2 KiB
Lua
if GetResourceState('qb-core') ~= 'started' or GetResourceState('qbx_core') == 'started' then return end
|
|
|
|
QBCore = exports['qb-core']:GetCoreObject()
|
|
|
|
local metadata = {}
|
|
|
|
--- Convert sex number to string M or F
|
|
---@param sexString number | string
|
|
---@return string
|
|
local function GetStringSex(sexString)
|
|
if sexString ~= 1 then
|
|
sexString = 'M'
|
|
else
|
|
sexString = 'F'
|
|
end
|
|
return sexString
|
|
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 = QBCore.Functions.GetPlayer(src)
|
|
local badgeTable = {
|
|
img = Config.Licenses[itemName].badge,
|
|
grade = Player.PlayerData.job.grade.name
|
|
}
|
|
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 Player = QBCore.Functions.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)
|
|
|
|
|
|
--- Create metadata for license
|
|
---@param k string item name
|
|
function CreateRegisterItem(k)
|
|
QBCore.Functions.CreateUseableItem(k, function(source, item)
|
|
TriggerEvent('um-idcard:server:sendData', source, item.info or item.metadata)
|
|
end)
|
|
end
|