import type { Ped } from '../classes/Ped'; import type { Vehicle } from '../classes/Vehicle'; import type { Volume } from '../classes/Volume'; import { Vector2 } from '../types/Vector2'; import { Vector3 } from '../types/Vector3'; import { int, float } from '../types/NativeAliases'; export declare class Pathfind { /** * Returns true if a path of waypoints was found. Waypoints can be retrieved with _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS and _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX * * @param path * @returns */ static navmeshRequestedPathWaypointsFound(path: int): boolean; /** * @param p0 * @returns */ static N_0xEFC535C9FAF563B3(p0: any): any; /** * @param p0 * @returns */ static simulatedRouteExists(p0: any): any; /** * @param min * @param max * @param p6 * @param p7 */ static setRoadsBackToOriginal(min: Vector3, max: Vector3, p6: any, p7: any): void; /** * Gets a value indicating whether the specified position is on a road. * * @param pos * @param vehicle * @returns */ static isPointOnRoad(pos: Vector3, vehicle: Vehicle): boolean; /** * @param name * @returns */ static navmeshDeactivateSwap(name: string): any; /** * @param multiplier */ static setAmbientPedRangeMultiplierThisFrame(multiplier: float): void; /** * Returns true if the id is non zero. * * @param vehicleNodeId * @returns */ static isVehicleNodeIdValid(vehicleNodeId: int): boolean; /** * @param p0 * @param p1 * @param p2 */ static simulatedRouteTravelToPoint(p0: any, p1: float, p2: float): void; /** * @param p0 * @param p1 * @param p2 */ static N_0x5A4E1A41E3A02AD0(p0: any, p1: any, p2: any): void; /** * @param volume * @returns */ static doesNavmeshBlockingVolumeExist(volume: Volume): boolean; /** * @param nodeId * @param pos * @returns outCoords; heading */ static getSpawnDataForRoadNode(nodeId: int, pos: Vector3): [Vector3, number]; /** * @param min * @param max * @param p6 * @param p7 */ static N_0xAFE2AE66F6251C66(min: Vector3, max: Vector3, p6: int, p7: any): void; /** * @param p0 */ static simulatedRouteDelete(p0: any): void; /** * @returns */ static getGpsBlipRouteFound(): boolean; /** * @param vehicle * @param navMeshName * @returns */ static navmeshAssignNavmeshToVehicle(vehicle: Vehicle, navMeshName: string): any; /** * @param volume * @param p1 * @param p2 * @param p3 */ static setRoadsInVolume(volume: Volume, p1: boolean, p2: boolean, p3: boolean): void; /** * @param p0 */ static N_0x264E9A5CD78C338F(p0: any): void; /** * @param p0 * @returns */ static simulatedRouteIsLoaded(p0: any): any; /** * @param volume * @param p1 */ static resetRoadsInVolume(volume: Volume, p1: boolean): void; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @returns */ static N_0xCA27A86CAA4E98ED(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any; /** * Returns a vector3 waypoint at the specified index for a path. Use _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS to get available indexes. * * @param path * @param waypointIndex * @returns */ static navmeshRequestedPathWaypointByIndex(path: int, waypointIndex: int): Vector3; /** * @param pos * @param nthClosest * @param unknown1 * @param unknown2 * @param unknown3 * @returns outPosition */ static getNthClosestVehicleNode(pos: Vector3, nthClosest: int, unknown1: int, unknown2: float, unknown3: any): [boolean, Vector3]; /** * @param pos * @param desiredX * @param desiredY * @param desiredZ * @param nthClosest * @param nodetype * @param p10 * @param p11 * @returns outPosition; outHeading */ static getNthClosestVehicleNodeFavourDirection(pos: Vector3, desiredX: float, desiredY: float, desiredZ: float, nthClosest: int, nodetype: int, p10: any, p11: any): [boolean, Vector3, number]; /** * @param name * @returns */ static navmeshActivateSwap(name: string): any; /** * @param p0 * @param p1 * @param p2 */ static N_0xCF213A5FC3ABFC08(p0: any, p1: any, p2: any): void; /** * @param pos * @param onGround * @param flags * @returns outPosition */ static getSafeCoordForPed(pos: Vector3, onGround: boolean, flags: int): [boolean, Vector3]; /** * Old name: REQUEST_PATHS_PREFER_ACCURATE_BOUNDINGSTRUCT * * @param pos1 * @param pos2 * @returns */ static requestPathNodesInAreaThisFrame(pos1: Vector2, pos2: Vector2): boolean; /** * @param p0 * @param p1 */ static N_0x6DAD6630AE4A74CB(p0: any, p1: any): void; /** * @param min * @param max * @param p6 * @param p7 */ static N_0x6C3F12ECEB6D2E2A(min: Vector3, max: Vector3, p6: any, p7: any): void; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 */ static setRoadsBackToOriginalInAngledArea(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): void; /** * Returns whether navmesh for the region is loaded. * * @param pos1 * @param pos2 * @returns */ static isNavmeshLoadedInArea(pos1: Vector3, pos2: Vector3): boolean; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @returns */ static getNumNavmeshesExistingInArea(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float): int; /** * @returns */ static getGpsBlipRouteLength(): int; /** * @param p0 * @returns */ static N_0x5A3B54ADDF5472A3(p0: string): int; /** * Returns CGameWorldHeightMap's minimum Z value at specified point (grid node). * * @param pos * @returns */ static getApproxFloorForPoint(pos: Vector2): float; /** * @param p0 * @returns */ static simulatedRouteGetEta(p0: any): float; /** * @param pos * @param nodeType * @param p6 * @param p7 * @returns outPosition; outHeading */ static getClosestVehicleNodeWithHeading(pos: Vector3, nodeType: int, p6: float, p7: float): [boolean, Vector3, number]; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 */ static setPedPathsBackToOriginal(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void; /** * @param x * @param y * @param radius */ static addNavmeshRequiredRegion(x: float, y: float, radius: float): void; /** * @param pos * @param radius * @param minLanes * @param avoidDeadEnds * @param avoidHighways * @returns outPosition; nodeId */ static getRandomVehicleNode(pos: Vector3, radius: float, minLanes: int, avoidDeadEnds: boolean, avoidHighways: boolean): [boolean, Vector3, number]; /** * @param pos * @param nth * @param nodetype * @param p5 * @param p6 * @returns */ static getNthClosestVehicleNodeId(pos: Vector3, nth: int, nodetype: int, p5: float, p6: float): int; /** * @param p0 */ static N_0x34C9AF25649172D0(p0: any): void; /** * @param name * @returns */ static navmeshDoesSwapExist(name: string): any; /** * @param p0 * @param p1 * @param p2 */ static N_0xB03944057FD735BA(p0: any, p1: any, p2: any): void; /** * @param pos1 * @param pos2 * @returns */ static areNodesLoadedForArea(pos1: Vector2, pos2: Vector2): boolean; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 */ static N_0x4BDEBEA5702B97A9(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void; /** * @param pos * @param p3 * @param p4 * @param p10 * @returns p5; p6; p7; p8; p9 */ static getClosestRoad(pos: Vector3, p3: float, p4: int, p10: boolean): [any, Vector3, Vector3, number, number, number]; /** * nullsub, doesn't do anything * * @param toggle */ static setIgnoreNoGpsFlag(toggle: boolean): void; /** * @param p0 */ static N_0x869A7015BD4606E9(p0: any): void; /** * Called in scripts after finished with requested pathes. Immediately resets all values connected to the path handle except query status, which changes from 1 to 2 before eventually becoming fully invalidated to 0. * * @param path * @returns */ static navmeshClearRequestedPath(path: int): boolean; /** * @param pos * @param nodeType * @param p5 * @param p6 * @returns outPosition */ static getClosestVehicleNode(pos: Vector3, nodeType: int, p5: float, p6: float): [boolean, Vector3]; /** * @param p0 */ static removeNavmeshBlockingObject(p0: any): void; /** * @param p0 * @returns */ static doesNavmeshBlockingObjectExist(p0: any): boolean; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @param p9 * @param p10 */ static setRoadsInAngledArea(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any): void; /** * @param p0 * @param p1 * @returns */ static N_0xA33914B00CA55756(p0: string, p1: int): number; /** * @param pos1 * @param pos2 * @param unknown * @param p7 */ static setPedPathsInArea(pos1: Vector3, pos2: Vector3, unknown: boolean, p7: any): void; /** * @param volume */ static removeNavmeshBlockingVolume(volume: Volume): void; /** * @param pos1 * @param pos2 * @param p6 * @returns */ static simulatedRouteCreate(pos1: Vector3, pos2: Vector3, p6: int): any; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @returns */ static N_0x54F4D7B6670FBB5A(p0: any, p1: any, p2: any, p3: any, p4: any): any; /** * @param name * @returns */ static navmeshIsSwapActive(name: string): any; /** * Returns the nth closest vehicle node with a heading to a coord * * @param pos * @param nthClosest * @param nodeFlags * @param zMeasureMult * @param zTolerance * @returns returnHeading; returnNumLanes */ static getNthClosestVehicleNodeIdWithHeading(pos: Vector3, nthClosest: int, nodeFlags: int, zMeasureMult: float, zTolerance: float): [int, number, number]; /** * @param volume * @param flags * @returns */ static addNavmeshBlockingVolume(volume: Volume, flags: int): any; /** * @param pos * @param nthClosest * @param unknown2 * @param unknown3 * @param unknown4 * @returns outPosition; heading; unknown1 */ static getNthClosestVehicleNodeWithHeading(pos: Vector3, nthClosest: int, unknown2: int, unknown3: float, unknown4: float): [boolean, Vector3, number, number]; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @returns */ static addNavmeshBlockingObject(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: boolean, p8: any): any; /** * Returns eNavMeshQueryStatus * enum eNavMeshQueryStatus * { * QS_NOT_FOUND, * QS_COMPLETE, * QS_PENDING * }; It appears that the pending state of 2 is at least also used when cleaning up a request (_NAVMESH_CLEAR_REQUESTED_PATH) or if a request never completes. Eventually queries are invalidated and return 0. Old name: _NAVMESH_QUERY_STATUS * * @param path * @returns */ static navmeshRequestedQueryStatus(path: int): int; /** * Returns the number of waypoints for a requested path (NAVMESH_REQUEST_PATH) if the query is completed (_NAVMESH_REQUESTED_QUERY_STATUS). For use with _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX * * @param path * @returns */ static navmeshRequestedPathNumWaypoints(path: int): int; /** * @param nodeID * @returns */ static getVehicleNodeIsSwitchedOff(nodeID: int): boolean; /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @param p9 */ static N_0x4358BCF14C91761C(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any): void; /** * @param nodeId * @returns outPosition */ static getVehicleNodePosition(nodeId: int): Vector3; /** * @param p0 * @param p1 * @param p2 * @returns */ static N_0x665B21666351CB37(p0: any, p1: any, p2: any): any; /** * GPS disabled zone: p1 = 0 * Clearing GPS disabled zone: p1 = 1 * * @param volume * @param p1 * @param p2 */ static N_0xF2A2177AC848B3A8(volume: Volume, p1: int, p2: int): void; /** * Starts a nav mesh query for a path between coordinates with a given ped and returns a handle to be validated by _NAVMESH_REQUESTED_QUERY_STATUS and then _NAVMESH_REQUESTED_PATH_WAYPOINTS_FOUND Only bit flag values used in scripts are 0, 23, and 29. 23 is used with dogs and horses. 29 with legendary animals. * * @param ped * @param pos1 * @param pos2 * @param bitFlag * @returns */ static navmeshRequestPath(ped: Ped, pos1: Vector3, pos2: Vector3, bitFlag: int): int; /** * @param min * @param max * @param p6 * @param p7 * @param p8 */ static setRoadsInArea(min: Vector3, max: Vector3, p6: any, p7: any, p8: any): void; /** * @param p0 * @param p1 * @param p2 */ static N_0xE5EF9DE716FF737E(p0: any, p1: any, p2: any): void; /** * Returns a bit flag for seemingly terrain within the waypoints in the path. Checked against bit value 2 to match water in the path, seems to always contain at least 1 though regardless of location/ped. * * @param path * @returns */ static navmeshRequestedPathWaypointsTerrain(path: int): int; } //# sourceMappingURL=Pathfind.d.ts.map