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