2025-05-04 10:00:08 -06:00
|
|
|
import { cache } from '../cache/index';
|
2025-05-27 03:18:45 -06:00
|
|
|
import { context } from '../../index';
|
2025-06-30 22:59:34 +09:00
|
|
|
import { Vector3 } from "@nativewrappers/fivem";
|
2025-05-04 10:00:08 -06:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|