diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 1d23641f..101835a2 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -709,6 +709,6 @@ for i = 1, #DoNotUse do end end -RegisterNetEvent('esx:updatePlayerData', function(key, val) - ESX.SetPlayerData(key, val) +AddStateBagChangeHandler('metadata', 'player:' .. tostring(GetPlayerServerId(PlayerId())), function(bag, key, val) + ESX.SetPlayerData(key, val) end) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 165b4410..0d2c23ff 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -647,11 +647,10 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.metadata[index] = { } end + self.metadata[index] = type(self.metadata[index]) == 'table' and self.metadata[index] or {} self.metadata[index][value] = subValue end - - self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) Player(self.source).state:set('metadata', self.metadata, true) end @@ -697,7 +696,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, return print(("[^1ERROR^7] xPlayer.clearMeta ^5subValues^7 should be ^5string^7 or ^5table^7, received ^5%s^7!"):format(type(subValues))) end - self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) Player(self.source).state:set('metadata', self.metadata, true) end