From ba790f9830e52dbec48381dd6b03812a9d96631c Mon Sep 17 00:00:00 2001 From: Edward <24864616+that-edward@users.noreply.github.com> Date: Wed, 7 May 2025 20:40:33 +0200 Subject: [PATCH] feat(imports/getClosestPlayer): Implement ignorePlayerId on the server (#11) Co-authored-by: Edward <24864616+Edward-Bakker@users.noreply.github.com> --- imports/getClosestPlayer/server.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/imports/getClosestPlayer/server.lua b/imports/getClosestPlayer/server.lua index e45a351..8988cbe 100644 --- a/imports/getClosestPlayer/server.lua +++ b/imports/getClosestPlayer/server.lua @@ -8,25 +8,29 @@ ---@param coords vector3 The coords to check from. ---@param maxDistance? number The max distance to check. +---@param ignorePlayerId? number|false The player server ID to ignore. ---@return number? playerId ---@return number? playerPed ---@return vector3? playerCoords -function lib.getClosestPlayer(coords, maxDistance) +function lib.getClosestPlayer(coords, maxDistance, ignorePlayerId) local players = GetActivePlayers() local closestId, closestPed, closestCoords maxDistance = maxDistance or 2.0 for i = 1, #players do local playerId = players[i] - local playerPed = GetPlayerPed(playerId) - local playerCoords = GetEntityCoords(playerPed) - local distance = #(coords - playerCoords) - if distance < maxDistance then - maxDistance = distance - closestId = playerId - closestPed = playerPed - closestCoords = playerCoords + if not ignorePlayerId or playerId ~= ignorePlayerId then + local playerPed = GetPlayerPed(playerId) + local playerCoords = GetEntityCoords(playerPed) + local distance = #(coords - playerCoords) + + if distance < maxDistance then + maxDistance = distance + closestId = playerId + closestPed = playerPed + closestCoords = playerCoords + end end end