qbx_core
if not GetResourceState('qbx_core') == 'started' then return end
Framework = {
---@param source number
---@return string|nil
getIdentifierBySource = function(source)
if not source or type(source) ~= 'number' or not GetPlayerName(source) then
prints.error('Invalid source provided')
return nil
end
local player = exports.qbx_core:GetPlayer(source)
if not player then
prints.error('Player not found for source: %s', source)
return nil
end
local identifier = player.PlayerData.citizenid
if not identifier then
prints.error('Identifier not found for player: %s', player.PlayerData.citizenid)
return nil
end
return identifier
end,
---@param stateid string
---@return string
getPlayerGender = function(stateid)
local result = MySQL.single.await(
[[
SELECT
JSON_UNQUOTE(JSON_EXTRACT(`charinfo`, '$.gender')) AS gender
FROM
`players`
WHERE
`citizenid` = ?
]], { stateid }
)
if not result or not result.gender then
prints.error('Gender not found for stateid: %s', stateid)
return 'Unknown'
end
local gender = tonumber(result.gender)
if gender == 0 then
return 'Male'
elseif gender == 1 then
return 'Female'
else
prints.error('Invalid gender value for stateid: %s', stateid)
return 'Unknown'
end
end,
---@param stateid string
---@return table A list of jobs with keys: label, value, coords<optional>
getPlayerEmployment = function(stateid)
local result = MySQL.single.await(
[[
SELECT
JSON_UNQUOTE(JSON_EXTRACT(`job`, '$.label')) AS label,
JSON_UNQUOTE(JSON_EXTRACT(`job`, '$.grade.name')) AS value
FROM
`players`
WHERE
`citizenid` = ?
]], { stateid }
)
return { result }
end
}
Last updated
Was this helpful?