From 42cd797cc0bb6860e230f60330e1a5d682bd330c Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Sun, 24 Sep 2023 11:13:31 +0200 Subject: [PATCH] tweak(server/functions): get players by id --- server/functions.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/functions.lua b/server/functions.lua index 6721992..fd0b19b 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -7,16 +7,22 @@ end ---@param metadata string ---@param data any ---@return table -function NDCore.getPlayers(key, value) +function NDCore.getPlayers(key, value, returnArray) if not key or not value then return NDCore.players end local players = {} - local keyTypes = {firstname = "firstname", lastname = "lastname", gender = "gender", groups = "groups"} + local keyTypes = {id = "id", firstname = "firstname", lastname = "lastname", gender = "gender", groups = "groups"} local findBy = keyTypes[key] or "metadata" - for src, info in pairs(NDCore.players) do - if info[findBy][key] == value then - players[src] = info + if findBy then + for src, info in pairs(NDCore.players) do + if findBy == "metadata" and info["metadata"][key] == value or info[findBy] == value then + if returnArray then + players[#players+1] = info + else + players[src] = info + end + end end end return players