mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-19 07:56:02 +01:00
feat(imports): getClosestVehicle and getNearbyVehicles (#71)
This commit is contained in:
27
imports/getClosestVehicle/client.lua
Normal file
27
imports/getClosestVehicle/client.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
---@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? vehicle
|
||||||
|
---@return vector3? vehicleCoords
|
||||||
|
return function(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 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
|
||||||
29
imports/getNearbyVehicles/client.lua
Normal file
29
imports/getNearbyVehicles/client.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.
|
||||||
|
---@return number[]
|
||||||
|
return function(coords, maxDistance, includePlayerVehicle)
|
||||||
|
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,
|
||||||
|
coords = coords
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return nearby
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user