2022-08-16 00:34:49 -07:00
|
|
|
---@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.
|
2023-07-25 01:59:39 +10:00
|
|
|
---@return { vehicle: number, coords: vector3 }[]
|
2022-09-14 01:20:50 +10:00
|
|
|
function lib.getNearbyVehicles(coords, maxDistance, includePlayerVehicle)
|
2022-08-16 00:34:49 -07:00
|
|
|
local vehicles = GetGamePool('CVehicle')
|
|
|
|
|
local nearby = {}
|
|
|
|
|
local count = 0
|
|
|
|
|
maxDistance = maxDistance or 2.0
|
|
|
|
|
|
|
|
|
|
for i = 1, #vehicles do
|
|
|
|
|
local vehicle = vehicles[i]
|
|
|
|
|
|
|
|
|
|
if not cache.vehicle or vehicle ~= cache.vehicle or includePlayerVehicle then
|
|
|
|
|
local vehicleCoords = GetEntityCoords(vehicle)
|
|
|
|
|
local distance = #(coords - vehicleCoords)
|
|
|
|
|
|
|
|
|
|
if distance < maxDistance then
|
|
|
|
|
count += 1
|
|
|
|
|
nearby[count] = {
|
|
|
|
|
vehicle = vehicle,
|
2023-01-15 23:25:17 +01:00
|
|
|
coords = vehicleCoords
|
2022-08-16 00:34:49 -07:00
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return nearby
|
2022-09-14 01:20:50 +10:00
|
|
|
end
|
|
|
|
|
|
2023-07-25 01:59:39 +10:00
|
|
|
return lib.getNearbyVehicles
|