Skip to main content

server/classes/player.lua

Ici vous allez ajoutez la faction au player objet & statebags

Etape 1 :

  • Pour commencer il nous faudra remplacer cette ligne :

function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, weight, job, loadout, name, coords)
  • Par ceci :

function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, weight, job, faction, loadout, name, coords)

Etape 2 :

  • En dessous de :

local self = {}
  • Ajoutez ceci :

self.faction = faction

Etape 3 :

  • Au niveau des setting des 'StateBags' ca ressemble a ceci :

Player(self.source).state:set("identifier", self.identifier, true)
Player(self.source).state:set("license", self.license, true)
Player(self.source).state:set("job", self.job, true)
Player(self.source).state:set("group", self.group, true)
-- ...
  • Ajoutez ceci en dessous :

Player(self.source).state:set("faction", self.faction, true)

Etape 4 :

  • Après cette fonction :

function self.triggerEvent(eventName, ...)
TriggerClientEvent(eventName, self.source, ...)
end
  • Ajoutez tout ceci :

function self.getFaction()
return self.faction
end

function self.setFaction(faction, gradef)
gradef = tostring(gradef)
local lastFaction = json.decode(json.encode(self.faction))

if ESX.DoesFactionExist(faction, gradef) then
local factionObject, gradefObject = ESX.Factions[faction], ESX.Factions[faction].grades[gradef]

self.faction.id = factionObject.id
self.faction.name = factionObject.name
self.faction.label = factionObject.label

self.faction.grade = tonumber(gradef)
self.faction.grade_name = gradefObject.name
self.faction.grade_label = gradefObject.label
self.faction.grade_salary = gradefObject.salary

if gradefObject.skin_male then
self.faction.skin_male = json.decode(gradefObject.skin_male)
else
self.faction.skin_male = {}
end

if gradefObject.skin_female then
self.faction.skin_female = json.decode(gradefObject.skin_female)
else
self.faction.skin_female = {}
end

TriggerEvent('esx:setFaction', self.source, self.faction, lastFaction)
self.triggerEvent('esx:setFaction', self.faction)
Player(self.source).state:set("faction", self.faction, true)
else
print(('[es_extended] [^3WARNING^7] Ignoring invalid ^5.setFaction()^7 usage for ID: ^5%s^7, Faction: ^5%s^7'):format(self.source, faction))
end
end