From 211c2531cc9e8550107eda667c7cde875336b749 Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Wed, 30 Nov 2022 04:04:48 +0100 Subject: [PATCH] feat: get players by data values --- server/functions.lua | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/server/functions.lua b/server/functions.lua index 804f31e..3d3059b 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -6,8 +6,32 @@ function NDCore.Functions.GetPlayer(player) end -- Get all active players character data. -function NDCore.Functions.GetPlayers(players, cb) - return NDCore.Players +function NDCore.Functions.GetPlayers(getBy, value) + if not getBy or not value then + return NDCore.Players + end + local players = {} + + if getBy == "groups" then + for player, playerInfo in pairs(NDCore.Players) do + if playerInfo.data.groups then + local valueGroup = value:lower() + for group, _ in pairs(playerInfo.data.groups) do + if group.lower() == valueGroup then + players[player] = playerInfo + end + end + end + end + else + for player, playerInfo in pairs(NDCore.Players) do + if playerInfo[getBy] == value then + players[player] = playerInfo + end + end + end + + return players end local discordErrors = {