107 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			107 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
 |