fix(esx_multicharacter/server/modules/functions): store formatted identifier

This commit is contained in:
Kenshin13
2025-06-15 13:02:47 +02:00
parent 822dbf1dae
commit 834e6d5cba
2 changed files with 14 additions and 6 deletions
@@ -16,7 +16,7 @@ function Server:ResetPlayers()
table.wipe(ESX.Players)
for _, v in pairs(players) do
ESX.Players[self:GetIdentifier(v.source)] = true
ESX.Players[self:GetIdentifier(v.source)] = v.identifier
end
else
ESX.Players = {}
@@ -49,7 +49,13 @@ function Server:OnConnecting(source, deferrals)
if ESX.GetConfig().EnableDebug or not ESX.Players[identifier] then deferrals.done() end
local xPlayer = ESX.GetPlayerFromIdentifier(identifier)
if ESX.Players[identifier] == true then
return deferrals.done(
("[ESX Multicharacter] There was an error loading your character!\nError code: identifier-active\n\nThis error is caused by a player on this server who has the same identifier as you have. Make sure you are not playing on the same account.\n\nYour identifier: %s"):format(identifier)
)
end
local xPlayer = ESX.GetPlayerFromIdentifier(ESX.Players[identifier])
if not xPlayer then
return deferrals.done()
end
@@ -78,18 +78,20 @@ function Multicharacter:CharacterChosen(source, charid, isNew)
end
end
TriggerEvent("esx:onPlayerJoined", source, ("%s%s"):format(Server.prefix, charid))
ESX.Players[Server:GetIdentifier(source)] = true
local charIdentifier = ("%s%s"):format(Server.prefix, charid)
TriggerEvent("esx:onPlayerJoined", source, charIdentifier)
ESX.Players[Server:GetIdentifier(source)] = charIdentifier
end
end
function Multicharacter:RegistrationComplete(source, data)
local charId = self.awaitingRegistration[source]
local charIdentifier = ("%s%s"):format(Server.prefix, charId)
self.awaitingRegistration[source] = nil
ESX.Players[Server:GetIdentifier(source)] = true
ESX.Players[Server:GetIdentifier(source)] = charIdentifier
SetPlayerRoutingBucket(source, 0)
TriggerEvent("esx:onPlayerJoined", source, ("%s%s"):format(Server.prefix, charId), data)
TriggerEvent("esx:onPlayerJoined", source, charIdentifier, data)
end
function Multicharacter:PlayerDropped(player)