local function createESXPlayer(identifier, playerId, data)
local accounts = {}
for account, money in pairs(Config.StartingAccountMoney) do
accounts[account] = money
end
local defaultGroup = "user"
if Core.IsPlayerAdmin(playerId) then
print(("[^2INFO^0] Player ^5%s^0 Has been granted admin permissions via ^5Ace Perms^7."):format(playerId))
defaultGroup = "admin"
end
local parameters = Config.Multichar and
{ json.encode(accounts), identifier, Core.generateSSN(data.dateofbirth, data.sex), defaultGroup, data.firstname, data.lastname, data.dateofbirth, data.sex, data.height }
or { json.encode(accounts), identifier, Core.generateSSN(), defaultGroup }
if Config.StartingInventoryItems then
table.insert(parameters, json.encode(Config.StartingInventoryItems))
end
MySQL.prepare(newPlayer, parameters, function()
loadESXPlayer(identifier, playerId, true)
end)
end
function loadESXPlayer(identifier, playerId, isNew)
...
-- Identity
if result.firstname and result.firstname ~= "" then
...
end
xPlayer.set("ssn", result.ssn)
TriggerEvent("esx:playerLoaded", playerId, xPlayer, isNew)
....
end
es_extended/server/functions.lua
---@param dob string?
---@param sex number?
---@return number
function Core.generateSSN(dob, sex)
if dob == nil or sex == nil then
return nil
end
if GetResourceState('vms_cityhall') == 'started' then
return exports['vms_cityhall']:GenerateSSN(dob, sex)
elseif GetResourceState('vms_documentsv2') == 'started' then
return exports['vms_documentsv2']:GenerateSSN(dob, sex)
end
end