108 lines
2.6 KiB
Lua
108 lines
2.6 KiB
Lua
|
if not Framework.QBCore() then return end
|
||
|
|
||
|
local client = client
|
||
|
|
||
|
local QBCore = exports["qb-core"]:GetCoreObject()
|
||
|
|
||
|
local PlayerData = QBCore.Functions.GetPlayerData()
|
||
|
|
||
|
local function getRankInputValues(rankList)
|
||
|
local rankValues = {}
|
||
|
for k, v in pairs(rankList) do
|
||
|
rankValues[#rankValues + 1] = {
|
||
|
label = v.name,
|
||
|
value = k
|
||
|
}
|
||
|
end
|
||
|
return rankValues
|
||
|
end
|
||
|
|
||
|
local function setClientParams()
|
||
|
client.job = PlayerData.job
|
||
|
client.gang = PlayerData.gang
|
||
|
client.citizenid = PlayerData.citizenid
|
||
|
end
|
||
|
|
||
|
function Framework.GetPlayerGender()
|
||
|
if PlayerData.charinfo.gender == 1 then
|
||
|
return "Female"
|
||
|
end
|
||
|
return "Male"
|
||
|
end
|
||
|
|
||
|
function Framework.UpdatePlayerData()
|
||
|
PlayerData = QBCore.Functions.GetPlayerData()
|
||
|
setClientParams()
|
||
|
end
|
||
|
|
||
|
function Framework.HasTracker()
|
||
|
return QBCore.Functions.GetPlayerData().metadata["tracker"]
|
||
|
end
|
||
|
|
||
|
function Framework.CheckPlayerMeta()
|
||
|
return PlayerData.metadata["isdead"] or PlayerData.metadata["inlaststand"] or PlayerData.metadata["ishandcuffed"]
|
||
|
end
|
||
|
|
||
|
function Framework.IsPlayerAllowed(citizenid)
|
||
|
return citizenid == PlayerData.citizenid
|
||
|
end
|
||
|
|
||
|
function Framework.GetRankInputValues(type)
|
||
|
local grades = QBCore.Shared.Jobs[client.job.name].grades
|
||
|
if type == "gang" then
|
||
|
grades = QBCore.Shared.Gangs[client.gang.name].grades
|
||
|
end
|
||
|
return getRankInputValues(grades)
|
||
|
end
|
||
|
|
||
|
function Framework.GetJobGrade()
|
||
|
return client.job.grade.level
|
||
|
end
|
||
|
|
||
|
function Framework.GetGangGrade()
|
||
|
return client.gang.grade.level
|
||
|
end
|
||
|
|
||
|
RegisterNetEvent("QBCore:Client:OnJobUpdate", function(JobInfo)
|
||
|
PlayerData.job = JobInfo
|
||
|
client.job = JobInfo
|
||
|
ResetBlips()
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("QBCore:Client:OnGangUpdate", function(GangInfo)
|
||
|
PlayerData.gang = GangInfo
|
||
|
client.gang = GangInfo
|
||
|
ResetBlips()
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("QBCore:Client:SetDuty", function(duty)
|
||
|
if PlayerData and PlayerData.job then
|
||
|
PlayerData.job.onduty = duty
|
||
|
client.job = PlayerData.job
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("QBCore:Client:OnPlayerLoaded", function()
|
||
|
InitAppearance()
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("qb-clothes:client:CreateFirstCharacter", function()
|
||
|
QBCore.Functions.GetPlayerData(function(pd)
|
||
|
PlayerData = pd
|
||
|
setClientParams()
|
||
|
InitializeCharacter(Framework.GetGender(true))
|
||
|
end)
|
||
|
end)
|
||
|
|
||
|
function Framework.CachePed()
|
||
|
return nil
|
||
|
end
|
||
|
|
||
|
function Framework.RestorePlayerArmour()
|
||
|
Framework.UpdatePlayerData()
|
||
|
if PlayerData and PlayerData.metadata then
|
||
|
Wait(1000)
|
||
|
SetPedArmour(cache.ped, PlayerData.metadata["armor"])
|
||
|
end
|
||
|
end
|