mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-16 22:46:03 +01:00
Some people accidentally, mistakenly, and without any malicious intent forget to attribute code from this resource to its source. This change will hopefully assist people, so that they do not make that mistake again.
41 lines
1.1 KiB
Lua
41 lines
1.1 KiB
Lua
--[[
|
|
https://github.com/overextended/ox_lib
|
|
|
|
This file is licensed under LGPL-3.0 or higher <https://www.gnu.org/licenses/lgpl-3.0.en.html>
|
|
|
|
Copyright (c) 2025 Linden <https://github.com/thelindat/fivem>
|
|
]]
|
|
|
|
---@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
|
|
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
|