diff --git a/server/main.lua b/server/main.lua index 27f29eb9..d966d528 100644 --- a/server/main.lua +++ b/server/main.lua @@ -41,14 +41,16 @@ elseif ESX.GetConfig().Multichar == true then if next(ESX.Players) then for k, v in pairs(ESX.Players) do - ESX.Players[k] = GetIdentifier(v.source) + ESX.Players[GetIdentifier(v.source)] = true end else ESX.Players = {} end local function SetupCharacters(source) while not FETCH do Citizen.Wait(100) end local identifier = GetIdentifier(source) - local slots = MySQL.Sync.fetchScalar("SELECT slots FROM multicharacter_slots WHERE identifier = ?", { + ESX.Players[identifier] = true + + local slots = MySQL.Sync.fetchScalar("SELECT slots FROM multicharacter_slots WHERE identifier = ?", { identifier }) or SLOTS identifier = PREFIX..'%:'..identifier @@ -90,11 +92,14 @@ elseif ESX.GetConfig().Multichar == true then deferrals.defer() local identifier = GetIdentifier(source) Citizen.Wait(100) - if ESX.Players[identifier] then - deferrals.done('A player is already connected to the server with this identifier.') + if identifier then + if ESX.Players[identifier] then + deferrals.done(('A player is already connected to the server with this identifier.\nYour identifier: %s:%s'):format(PRIMARY_IDENTIFIER, identifier) + else + deferrals.done() + end else - ESX.Players[identifier] = true - deferrals.done() + deferrals.done(('Unable to retrieve player identifier.\nIdentifier type: %s'):format(PRIMARY_IDENTIFIER) end end) @@ -173,7 +178,7 @@ elseif ESX.GetConfig().Multichar == true then awaitingRegistration[source] = charid else TriggerEvent('esx:onPlayerJoined', source, PREFIX..charid) - ESX.Players[GetIdentifier(source)] = source + ESX.Players[GetIdentifier(source)] = true end end end) @@ -181,7 +186,7 @@ elseif ESX.GetConfig().Multichar == true then AddEventHandler('esx_identity:completedRegistration', function(source, data) TriggerEvent('esx:onPlayerJoined', source, PREFIX..awaitingRegistration[source], data) awaitingRegistration[source] = nil - ESX.Players[GetIdentifier(source)] = source + ESX.Players[GetIdentifier(source)] = true end) AddEventHandler('playerDropped', function(reason) @@ -203,4 +208,4 @@ elseif ESX.GetConfig().Multichar == true then else assert(nil, '^3WARNING: Multicharacter is disabled - please check your ESX configuration^0') -end \ No newline at end of file +end