natives.taskCarDriveToCoord
Function
Client Only
Online and Offline
void natives.taskCarDriveToCoord(Ped ped, Vehicle vehicle, float x, float y, float z, float driveSpeed, int driveFlag, 0 (or model hash), int driveStyle, float stopDist, -1))
Parameters
1) | Ped | ped | The Ped to drive the Vehicle. |
2) | Vehicle | vehicle | The Vehicle to drive with. |
3) | float | x | The x position to drive to. |
4) | float | y | The y position to drive to. |
5) | float | z | The z position to drive to. |
6) | float | driveSpeed | The speed of driving in meters per second. (default = 20). |
7) | int | driveFlag | The AI driving behavior/flag to use. (0-4, see details below). |
8) | int | hash | (unknown) 0 or model hash of the vehicle used in parameter 2. |
9) | int | driveStyle | The AI driving style (behavior) to use. (0-7, see details below). |
10) | float | stopDist | Radius around the given coords. Vehicle will stop when inside radius. |
11) | int | unknown | (unknown) always -1. |
Return
void | This function doesn't return a value. |
Notes
There aren't any notes for this function.
Examples
Example 1 - JavaScript - Client-Side:
/* example code provided by DrFauli */ addCommandHandler("drivecoords", function(cmdName, params) { // current vehicle/ped handle let thisVeh = null; let thisPed = null;
// check if player is in a car if (!localPlayer.vehicle) { natives.requestModel(-956048545) // Taxi natives.requestModel(8772846); // Taxi Driver natives.loadAllObjectsNow();
// spawn the car thisVeh = createVehicle2(-956048545, localPlayer.position, true); thisVeh.heading = localPlayer.heading;
// spawn the driver thisPed = natives.createCharInsideCar(thisVeh, 1, 8772846);
// prevent ped from leaving the car screaming by marking it as mission_char first natives.setCharAsMissionChar(thisPed, true); natives.setCharStayInCarWhenJacked(thisPed, true);
// warp player into passenger seat natives.warpCharIntoCarAsPassenger(localPlayer, thisVeh, 0); } else { thisVeh = localPlayer.vehicle; thisPed = thisVeh.getOccupant(0); }
// get speed and driveStyle/driveFlag from params let splitParams = params.split(" "); let stopDist = 50; let driveSpeed = Number(splitParams[0]); // default is 20 let driveStyle = Number(splitParams[1]); let driveFlag = Number(splitParams[2]); // default is 0
// let this car drive to coords (0,0,0) // [syntax]: pedHandle, carHandle, x, y, z, driveSpeed, driveFlag, (0 or model hash?), driveStyle, stop distance, unknown(-1) natives.taskCarDriveToCoord(thisPed, thisVeh, 0, 0, 0, driveSpeed, driveFlag, 0, driveStyle, stopDist, -1);
return true; });
Compatibility
There isn't any compatibility information for this function.
driving flag behavior
behavior | parameter9 (driving style) | |
---|---|---|
0 | normal driving | used |
1 | get to coord as fast as possible | ignored |
2 | driving in reverse | used (while reversing) |
3 | drive wander (ignore coords) | used |
driving style behavior
traffic lights | other cars | pedestrians | blinkers | when stuck | |
---|---|---|---|---|---|
0 | ignore | drive around | drive around | not used | reverse |
1 | stop on red | stay behind | stop and honk | used on intersections | wait |
2 | ignore | drive around | drive around | not used | reverse |
3 | ignore | ignore | ignore | not used | reverse |
4 | ignore | stay behind | stop and honk | not used | wait |
5 | stop on red | drive around | drive around | not used | reverse |
6 | stop+reversing | drive around | drive around | not used | reverse |
7 | stop on red | stay behind | stop and honk | used on intersections | wait |
notes
- driving styles 0 and 2 seem to be identical.
- driving styles 1 and 7 seem to be identical.
- using values < 0 or > 7 will behave like 3
- the AI will slow down for corners and intersections, but won't break for "drive around" obstacles.
There could be small distance and/or speed differences when "drive around" is used.
It is also unclear if the AI drivers are able to see objects like light poles or traffic lights while evading.