From 16b1fc3316277dff341202d3efa1ccbe63f1ec1d Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Sat, 5 Jun 2021 12:35:16 +1000 Subject: [PATCH 1/2] refactor(server/main): Cache if ESX.GetExtendedPlayers() exists; use short-circuit evaluation to define xPlayers --- server/main.lua | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/server/main.lua b/server/main.lua index 7334224b..1b02b173 100644 --- a/server/main.lua +++ b/server/main.lua @@ -1,18 +1,14 @@ 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) @@ -104,12 +100,7 @@ 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) From b3c20e174bcd0f120508d4ff15ecca8b1737749b Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Sun, 6 Jun 2021 05:57:46 +1000 Subject: [PATCH 2/2] fix(server/main): Fix incorrect values (if v is table, xPlayer equals v; else GetPlayerFromId(v)) --- server/main.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/main.lua b/server/main.lua index 1b02b173..0d80cc83 100644 --- a/server/main.lua +++ b/server/main.lua @@ -11,7 +11,7 @@ AddEventHandler('onResourceStart', function(resourceName) 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) @@ -103,7 +103,7 @@ function SaveData() 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))