From 0104223af455764fc3fc11ecc7e8531f36574dc6 Mon Sep 17 00:00:00 2001 From: MoskalykA <100430077+MoskalykA@users.noreply.github.com> Date: Tue, 27 Jun 2023 14:39:27 +0200 Subject: [PATCH] feat: `GetExtendedPlayers` can take a table as a second parameter --- [core]/es_extended/server/functions.lua | 26 ++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index fbda3d4e..a3a34878 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -221,15 +221,35 @@ end ESX.GetPlayers = GetPlayers +local function checkTable(key, val, player) + for valIndex = 1, #val do + local value = val[valIndex] + if not xPlayers[value] then + xPlayers[value] = {} + end + + if (key == 'job' and player.job.name == value) or player[key] == value then + xPlayers[value][#xPlayers[value] + 1] = v + end + end +end + function ESX.GetExtendedPlayers(key, val) if not key then return ESX.Players end local xPlayers = {} - for k, v in pairs(ESX.Players) do - if (key == 'job' and v.job.name == val) or v[key] == val then - xPlayers[#xPlayers + 1] = v + if type(val) == "table" then + for k, v in pairs(ESX.Players) do + checkTable(key, val, v) + end + else + for k, v in pairs(ESX.Players) do + if (key == 'job' and v.job.name == val) or v[key] == val then + xPlayers[#xPlayers + 1] = v + end end end + return xPlayers end