diff --git a/server/functions.lua b/server/functions.lua index da20289..e325d48 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -76,6 +76,13 @@ function QBCore.Functions.GetOfflinePlayerByCitizenId(citizenid) return QBCore.Player.GetOfflinePlayer(citizenid) end +---Get player by license +---@param license string +---@return table? +function QBCore.Functions.GetPlayerByLicense(license) + return QBCore.Player.GetPlayerByLicense(license) +end + ---Get player by phone number ---@param number number ---@return table? diff --git a/server/player.lua b/server/player.lua index 2c454c0..cff52e9 100644 --- a/server/player.lua +++ b/server/player.lua @@ -38,7 +38,28 @@ end function QBCore.Player.GetOfflinePlayer(citizenid) if citizenid then - local PlayerData = MySQL.Sync.prepare('SELECT * FROM players where citizenid = ?', {citizenid}) + local PlayerData = MySQL.prepare.await('SELECT * FROM players where citizenid = ?', {citizenid}) + if PlayerData then + PlayerData.money = json.decode(PlayerData.money) + PlayerData.job = json.decode(PlayerData.job) + PlayerData.position = json.decode(PlayerData.position) + PlayerData.metadata = json.decode(PlayerData.metadata) + PlayerData.charinfo = json.decode(PlayerData.charinfo) + if PlayerData.gang then + PlayerData.gang = json.decode(PlayerData.gang) + else + PlayerData.gang = {} + end + + return QBCore.Player.CheckPlayerData(nil, PlayerData) + end + end + return nil +end + +function QBCore.Player.GetPlayerByLicense(license) + if license then + local PlayerData = MySQL.prepare.await('SELECT * FROM players where license = ?', {license}) if PlayerData then PlayerData.money = json.decode(PlayerData.money) PlayerData.job = json.decode(PlayerData.job)