Scripts/resources/[standalone]/ox_lib/imports/getClosestPlayer/client.lua

33 lines
951 B
Lua
Raw Normal View History

2024-12-29 20:02:43 +00:00
---@param coords vector3 The coords to check from.
2024-12-30 10:15:34 +00:00
---@param maxDistance? number The max distance to check.
---@param includePlayer? boolean Whether or not to include the current player.
2024-12-29 20:02:43 +00:00
---@return number? playerId
---@return number? playerPed
---@return vector3? playerCoords
function lib.getClosestPlayer(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
return lib.getClosestPlayer