Merge pull request #57 from Olvidate/patch-1

fix(server): fixed error with identifiers
This commit is contained in:
Linden
2021-11-09 14:12:22 +11:00
committed by GitHub
+14 -9
View File
@@ -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
end