From 68a6352be479f10d7939916db2a3e1f6beaecf0e Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Wed, 3 Aug 2022 17:26:51 +1000 Subject: [PATCH] feat(imports): getClosestPlayer --- imports/getClosestPlayer/client.lua | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 imports/getClosestPlayer/client.lua diff --git a/imports/getClosestPlayer/client.lua b/imports/getClosestPlayer/client.lua new file mode 100644 index 0000000..e5ce99b --- /dev/null +++ b/imports/getClosestPlayer/client.lua @@ -0,0 +1,30 @@ +---@param coords vector3 The coords to check from. +---@param maxDistance number The max distance to check. +---@param includePlayer boolean Whether or not to include the current player. +---@return number? playerId +---@return number? playerPed +---@return vector3? playerCoords +return function(coords, maxDistance, includePlayer) + local players = GetActivePlayers() + local closestId, closestPed, closestCoords + maxDistance = maxDistance or 2.0 + + for i = 1, #players do + local playerId = players[i] + + if playerId ~= cache.playerId or includePlayer 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 + + return closestId, closestPed, closestCoords +end \ No newline at end of file