Merge pull request #57 from thelindat/master

refactor+fix(server/main): Check if using Legacy; use ternary to define xPlayers; fixed incorrect values when defining xPlayer
This commit is contained in:
Taso
2021-06-05 18:23:41 -04:00
committed by GitHub
+5 -14
View File
@@ -1,21 +1,17 @@
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
local isLegacy = not not ESX.GetExtendedPlayers
AddEventHandler('onResourceStart', function(resourceName)
if (GetCurrentResourceName() ~= resourceName) then
return
end
local xPlayers
if ESX.GetExtendedPlayers then
xPlayers = ESX.GetExtendedPlayers() -- Retrieve all xPlayer data directly (ESX Legacy)
else
xPlayers = ESX.GetPlayers() -- Retrieves player ids and gets xPlayer data one-by-one (ESX 1.2 support)
end
local xPlayers = isLegacy and ESX.GetExtendedPlayers() or ESX.GetPlayers()
for k,v in pairs(xPlayers) do
local xPlayer = type(v) ~= 'table' and v or ESX.GetPlayerFromId(k)
local xPlayer = type(v) == 'table' and v or ESX.GetPlayerFromId(v)
MySQL.Async.fetchAll('SELECT status FROM users WHERE identifier = @identifier', {
['@identifier'] = xPlayer.identifier
}, function(result)
@@ -104,15 +100,10 @@ function SaveData()
local firstItem = true
local playerCount = 0
local xPlayers
if ESX.GetExtendedPlayers then
xPlayers = ESX.GetExtendedPlayers() -- Retrieve all xPlayer data directly (ESX Legacy)
else
xPlayers = ESX.GetPlayers() -- Retrieves player ids and gets xPlayer data one-by-one (ESX 1.2 support)
end
local xPlayers = isLegacy and ESX.GetExtendedPlayers() or ESX.GetPlayers()
for k,v in pairs(xPlayers) do
local xPlayer = type(v) ~= 'table' and v or ESX.GetPlayerFromId(k)
local xPlayer = type(v) == 'table' and v or ESX.GetPlayerFromId(v)
local status = xPlayer.get('status')
whenList = whenList .. string.format('when identifier = \'%s\' then \'%s\' ', xPlayer.identifier, json.encode(status))