Files
sky_phone/sky_phone/source/bridge/server/frameworks/qbox.lua
T
2026-08-17 05:14:34 +02:00

86 lines
2.5 KiB
Lua

if Bridge.Framework.Name ~= "qbox" then
return
end
local function get_player(source)
return exports.qbx_core:GetPlayer(tonumber(source))
end
function Bridge.Framework.GetPlayers()
local players = {}
for _, player_source in ipairs(GetPlayers()) do
players[#players + 1] = tonumber(player_source)
end
return players
end
function Bridge.Framework.GetIdentifier(source)
local player = get_player(source)
return player and player.PlayerData and tostring(player.PlayerData.citizenid) or nil
end
function Bridge.Framework.HasAdminGroup(source, groups)
local player = get_player(source)
if not player then
return false
end
return exports.qbx_core:HasGroup(source, groups)
end
function Bridge.Framework.GetMoney(source, account)
return exports.qbx_core:GetMoney(tonumber(source), account)
end
function Bridge.Framework.AddMoney(source, account, amount)
return exports.qbx_core:AddMoney(tonumber(source), account, amount)
end
function Bridge.Framework.RemoveMoney(source, account, amount)
return exports.qbx_core:RemoveMoney(tonumber(source), account, amount)
end
local function get_character_info(source)
local player = get_player(source)
return player and player.PlayerData and player.PlayerData.charinfo or nil
end
function Bridge.Framework.GetCharacterName(source)
local character = get_character_info(source)
if not character then
return nil, nil
end
return character.firstname, character.lastname
end
function Bridge.Framework.GetFirstname(source)
local character = get_character_info(source)
return character and character.firstname or nil
end
function Bridge.Framework.GetLastname(source)
local character = get_character_info(source)
return character and character.lastname or nil
end
function Bridge.Framework.GetBirthdate(source)
local character = get_character_info(source)
return character and character.birthdate or nil
end
function Bridge.Framework.GetJob(source)
local player = get_player(source)
local job = player and player.PlayerData and player.PlayerData.job
local grade = job and job.grade
return {
name = job and job.name or "",
label = job and job.label or "",
grade = type(grade) == "table" and tonumber(grade.level) or tonumber(grade) or 0,
gradeLabel = type(grade) == "table" and (grade.name or job.label) or (job and job.label or ""),
}
end
function Bridge.Framework.RegisterUsableItem(item_name, callback)
exports.qbx_core:CreateUseableItem(item_name, callback)
return true
end