diff --git a/client/functions.lua b/client/functions.lua index df20632..12fcc11 100644 --- a/client/functions.lua +++ b/client/functions.lua @@ -10,6 +10,28 @@ function NDCore.Functions.GetCharacters() return NDCore.Characters end + +function NDCore.Functions.GetPlayersFromCoords(coords, distance) + local players = GetActivePlayers() + local ped = PlayerPedId() + if coords then + coords = type(coords) == 'table' and vec3(coords.x, coords.y, coords.z) or coords + else + coords = GetEntityCoords(ped) + end + distance = distance or 5 + local closePlayers = {} + for _, player in pairs(players) do + local target = GetPlayerPed(player) + local targetCoords = GetEntityCoords(target) + local targetdistance = #(targetCoords - coords) + if targetdistance <= distance then + closePlayers[#closePlayers + 1] = player + end + end + return closePlayers +end + -- Callbacks are licensed under LGPL v3.0 -- NDCore.callback = {} @@ -56,4 +78,4 @@ function NDCore.callback.register(name, callback) RegisterNetEvent(("ND:%s_cb"):format(name), function(key, ...) TriggerServerEvent("ND:callbacks", key, callback(...)) end) -end \ No newline at end of file +end