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