mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-18 15:36:02 +01:00
feat(imports): server-side entity iterators (#458)
Co-authored-by: Linden <65407488+thelindat@users.noreply.github.com>
This commit is contained in:
29
imports/getClosestVehicle/shared.lua
Normal file
29
imports/getClosestVehicle/shared.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
---@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. Ignored on the server.
|
||||
---@return number? vehicle
|
||||
---@return vector3? vehicleCoords
|
||||
function lib.getClosestVehicle(coords, maxDistance, includePlayerVehicle)
|
||||
local vehicles = GetGamePool('CVehicle')
|
||||
local closestVehicle, closestCoords
|
||||
maxDistance = maxDistance or 2.0
|
||||
|
||||
for i = 1, #vehicles do
|
||||
local vehicle = vehicles[i]
|
||||
|
||||
if lib.context == 'server' or not cache.vehicle or vehicle ~= cache.vehicle or includePlayerVehicle then
|
||||
local vehicleCoords = GetEntityCoords(vehicle)
|
||||
local distance = #(coords - vehicleCoords)
|
||||
|
||||
if distance < maxDistance then
|
||||
maxDistance = distance
|
||||
closestVehicle = vehicle
|
||||
closestCoords = vehicleCoords
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return closestVehicle, closestCoords
|
||||
end
|
||||
|
||||
return lib.getClosestVehicle
|
||||
Reference in New Issue
Block a user