diff --git a/[core]/esx_multicharacter/server/modules/database.lua b/[core]/esx_multicharacter/server/modules/database.lua index b7f2768f..a71bda7d 100644 --- a/[core]/esx_multicharacter/server/modules/database.lua +++ b/[core]/esx_multicharacter/server/modules/database.lua @@ -101,9 +101,17 @@ function Database:GetPlayerSlots(identifier) end function Database:GetPlayerInfo(identifier, slots) + local placeholders = {} + local identifiers = {} + + for i = 1, slots do + placeholders[i] = "?" + identifiers[i] = ("%s%s:%s"):format(Server.prefix, i, identifier) + end + return MySQL.query.await( - "SELECT identifier, accounts, job, job_grade, firstname, lastname, dateofbirth, sex, skin, disabled FROM users WHERE identifier LIKE ? LIMIT ?", - { identifier, slots }) + ("SELECT identifier, accounts, job, job_grade, firstname, lastname, dateofbirth, sex, skin, disabled FROM users WHERE identifier IN (%s)"):format(table.concat(placeholders, ", ")), + identifiers) end function Database:SetSlots(identifier, slots) diff --git a/[core]/esx_multicharacter/server/modules/multicharacter.lua b/[core]/esx_multicharacter/server/modules/multicharacter.lua index 91d8d839..b4fa7f37 100644 --- a/[core]/esx_multicharacter/server/modules/multicharacter.lua +++ b/[core]/esx_multicharacter/server/modules/multicharacter.lua @@ -14,7 +14,6 @@ function Multicharacter:SetupCharacters(source) ESX.Players[identifier] = source local slots = Database:GetPlayerSlots(identifier) - identifier = Server.prefix .. "%:" .. identifier local rawCharacters = Database:GetPlayerInfo(identifier, slots) local characters