Files
ox_lib/package/shared/resource/getNearbyVehicles/index.ts
2025-06-30 15:59:34 +02:00

30 lines
995 B
TypeScript

import { cache } from '../cache/index';
import { context } from '../../index';
import { Vector3 } from "@nativewrappers/fivem";
interface NearbyVehicle {
vehicle: number;
coords: Vector3;
}
export function getNearbyVehicles(coords: Vector3, maxDistance: number = 2.0, includePlayerVehicle: boolean = false): NearbyVehicle[] {
const vehicles = GetGamePool('CVehicle');
const nearbyVehicles: NearbyVehicle[] = [];
for (const vehicle of vehicles) {
if (context === 'server' || !cache.vehicle || vehicle !== cache.vehicle || includePlayerVehicle) {
const vehicleCoords = Vector3.fromArray(GetEntityCoords(vehicle, true));
const distance = vehicleCoords.distance(coords);
if (distance < maxDistance && NetworkGetEntityIsNetworked(vehicle) ) {
nearbyVehicles.push({
vehicle,
coords: vehicleCoords
});
}
}
}
return nearbyVehicles;
}