Merge pull request #1351 from tomiichx/main

feat(Player): implement `esx:setGroup` event
This commit is contained in:
Gellipapa
2024-05-19 14:43:25 +02:00
committed by GitHub
2 changed files with 16 additions and 4 deletions
+8 -3
View File
@@ -24,7 +24,7 @@ function ESX.SpawnPlayer(skin, coords, cb)
p:resolve()
end)
Citizen.Await(p)
local playerPed = PlayerPedId()
FreezeEntityPosition(playerPed, true)
SetEntityCoordsNoOffset(playerPed, coords.x, coords.y, coords.z, false, false, false, true)
@@ -56,7 +56,7 @@ AddEventHandler("esx:playerLoaded", function(xPlayer, _, skin)
while not DoesEntityExist(ESX.PlayerData.ped) do
Wait(20)
end
ESX.PlayerLoaded = true
local metadata = ESX.PlayerData.metadata
@@ -72,7 +72,7 @@ AddEventHandler("esx:playerLoaded", function(xPlayer, _, skin)
local timer = GetGameTimer()
while not HaveAllStreamingRequestsCompleted(ESX.PlayerData.ped) and (GetGameTimer() - timer) < 2000 do
Wait(0)
end
end
if Config.EnablePVP then
SetCanAttackFriendly(ESX.PlayerData.ped, true, false)
@@ -362,6 +362,11 @@ AddEventHandler("esx:setJob", function(Job)
ESX.SetPlayerData("job", Job)
end)
RegisterNetEvent("esx:setGroup")
AddEventHandler("esx:setGroup", function(group)
ESX.SetPlayerData("group", group)
end)
if not Config.OxInventory then
RegisterNetEvent("esx:createPickup")
AddEventHandler("esx:createPickup", function(pickupId, label, coords, itemType, name, components, tintIndex)
+8 -1
View File
@@ -129,9 +129,16 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
---@param newGroup string
---@return void
function self.setGroup(newGroup)
local lastGroup = self.group
_ExecuteCommand(("remove_principal identifier.%s group.%s"):format(self.license, self.group))
self.group = newGroup
_TriggerEvent("esx:setGroup", self.source, self.group, lastGroup)
self.triggerEvent("esx:setGroup", self.group, lastGroup)
Player(self.source).state:set("group", self.group, true)
_ExecuteCommand(("add_principal identifier.%s group.%s"):format(self.license, self.group))
end
@@ -477,7 +484,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
skin_female = gradeObject.skin_female and json.decode(gradeObject.skin_female) or {},
}
TriggerEvent("esx:setJob", self.source, self.job, lastJob)
_TriggerEvent("esx:setJob", self.source, self.job, lastJob)
self.triggerEvent("esx:setJob", self.job, lastJob)
Player(self.source).state:set("job", self.job, true)
end