mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
feat(imports): getNearbyObjects and getClosestObject
Also fixed the return params types for players and vehicles imports
This commit is contained in:
26
imports/getClosestObject/client.lua
Normal file
26
imports/getClosestObject/client.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
---@param coords vector3 The coords to check from.
|
||||
---@param maxDistance number The max distance to check.
|
||||
---@return number? object
|
||||
---@return vector3? objectCoords
|
||||
function lib.getClosestObject(coords, maxDistance)
|
||||
local objects = GetGamePool('CObject')
|
||||
local closestObject, closestCoords
|
||||
maxDistance = maxDistance or 2.0
|
||||
|
||||
for i = 1, #objects do
|
||||
local object = objects[i]
|
||||
|
||||
local objectCoords = GetEntityCoords(object)
|
||||
local distance = #(coords - objectCoords)
|
||||
|
||||
if distance < maxDistance then
|
||||
maxDistance = distance
|
||||
closestObject = object
|
||||
closestCoords = objectCoords
|
||||
end
|
||||
end
|
||||
|
||||
return closestObject, closestCoords
|
||||
end
|
||||
|
||||
return lib.getClosestObject
|
||||
28
imports/getNearbyObjects/client.lua
Normal file
28
imports/getNearbyObjects/client.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
---@param coords vector3 The coords to check from.
|
||||
---@param maxDistance number The max distance to check.
|
||||
---@return table objects
|
||||
function lib.getNearbyObjects(coords, maxDistance)
|
||||
local objects = GetGamePool('CObject')
|
||||
local nearby = {}
|
||||
local count = 0
|
||||
maxDistance = maxDistance or 2.0
|
||||
|
||||
for i = 1, #objects do
|
||||
local object = objects[i]
|
||||
|
||||
local objectCoords = GetEntityCoords(object)
|
||||
local distance = #(coords - objectCoords)
|
||||
|
||||
if distance < maxDistance then
|
||||
count += 1
|
||||
nearby[count] = {
|
||||
object = object,
|
||||
coords = coords
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
return nearby
|
||||
end
|
||||
|
||||
return lib.getNearbyObjects
|
||||
@@ -1,7 +1,7 @@
|
||||
---@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[]
|
||||
---@return table players
|
||||
function lib.getNearbyPlayers(coords, maxDistance, includePlayer)
|
||||
local players = GetActivePlayers()
|
||||
local nearby = {}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---@param coords vector3 The coords to check from.
|
||||
---@param maxDistance number The max distance to check.
|
||||
---@param includePlayerVehicle boolean Whether or not to include the player's current vehicle.
|
||||
---@return number[]
|
||||
---@return table vehicles
|
||||
function lib.getNearbyVehicles(coords, maxDistance, includePlayerVehicle)
|
||||
local vehicles = GetGamePool('CVehicle')
|
||||
local nearby = {}
|
||||
|
||||
Reference in New Issue
Block a user