server/classes/player.lua
π«π· Ici vous allez ajoutez le job2 au player objet & statebags
πΊπΈ Here you will add job2 to the player object and statebags
Etape 1:
π«π· Pour commencer il nous faudra remplacer cette ligne:
πΊπΈ To start with, we will need to replace this line:
local xPlayer = CreateExtendedPlayer(playerId, identifier, userData.group, userData.accounts, userData.inventory, userData.weight, userData.job, userData.loadout, GetPlayerName(playerId), userData.coords, userData.metadata)
π«π· Par ceci:
πΊπΈ With this:
local xPlayer = CreateExtendedPlayer(playerId, identifier, userData.group, userData.accounts, userData.inventory, userData.weight, userData.job, userData.job2, userData.loadout, GetPlayerName(playerId), userData.coords, userData.metadata)
Etape 2:
π«π· En dessous de:
πΊπΈ Below:
local self = {}
...
self.job = job
π«π· Ajoutez ceci:
πΊπΈ Add this:
self.job2 = job2
Etape 3:
π«π· Au niveau des setting des "StateBags" Γ§a ressemble a ceci:
πΊπΈ As for the StateBags settings, it looks like this:
stateBag:set("identifier", self.identifier, false)
stateBag:set("license", self.license, false)
stateBag:set("job", self.job, true)
stateBag:set("group", self.group, true)
stateBag:set("name", self.name, true)
π«π· Ajoutez ceci en dessous:
πΊπΈ Add this below:
stateBag:set("job2", self.job2, true)
Etape 4:
π«π· AprΓ¨s cette function:
πΊπΈ After this function:
function self.getJob()
return self.job
end
π«π· Ajoutez tout ceci:
πΊπΈ Add all of this:
function self.getJob2()
return self.job2
end
function self.setJob2(newJob, grade, onDuty)
grade = tostring(grade)
local lastJob = self.job2
if not ESX.DoesJob2Exist(newJob, grade) then
return print(("[ESX] [^3WARNING^7] Ignoring invalid ^5.setJob2()^7 usage for ID: ^5%s^7, Job2: ^5%s^7"):format(self.source, newJob))
end
if newJob == "nogang" then
onDuty = false
end
if type(onDuty) ~= "boolean" then
onDuty = Config.DefaultJobDuty
end
local job2Object, grade2Object = ESX.Jobs2[newJob], ESX.Jobs2[newJob].grades[grade]
self.job2 = {
id = job2Object.id,
name = job2Object.name,
label = job2Object.label,
onDuty = onDuty,
grade = tonumber(grade),
grade_name = grade2Object.name,
grade_label = grade2Object.label,
grade_salary = grade2Object.salary,
skin_male = grade2Object.skin_male and json.decode(grade2Object.skin_male) or {},
skin_female = grade2Object.skin_female and json.decode(grade2Object.skin_female) or {},
}
self.metadata.jobDuty = onDuty
TriggerEvent("esx:setJob2", self.source, self.job2, lastJob)
self.triggerEvent("esx:setJob2", self.job2, lastJob)
Player(self.source).state:set("job2", self.job2, true)
end
Last updated