Client/Natives/IV/taskCarDriveWander: Difference between revisions
m (switched script example driver to civilian AI instead of localPlayer) |
No edit summary |
||
Line 124: | Line 124: | ||
==notes== | ==notes== | ||
The [[vehicle.carWanderRandomly|vehicle.carWanderRandomly]] function has the same functionality in the 3D universe games (GTA III, Vice City, and San Andreas) | |||
*driving styles '''0 and 2''' seem to be identical. | *driving styles '''0 and 2''' seem to be identical. | ||
*driving styles '''1 and 7''' seem to be identical. | *driving styles '''1 and 7''' seem to be identical. |
Revision as of 12:32, 8 August 2021
Function
Client Only
Online and Offline
void natives.taskCarDriveWander(Ped ped, Vehicle vehicle, float driveSpeed, int driveStyle)
Parameters
1) | Ped | ped | The Ped to drive the Vehicle. |
2) | Vehicle | vehicle | The Vehicle to drive with. |
3) | float | driveSpeed | The speed of driving in meters per second. (default = 20). |
4) | int | driveStyle | The AI driving style (behavior) to use. (0-7, see details below). |
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("drivewander", 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 id 0 (next to driver) natives.warpCharIntoCarAsPassenger(localPlayer, thisVeh, 0); } else { thisVeh = localPlayer.vehicle; thisPed = thisVeh.getOccupant(0); }
// get speed and driveStyle from params let splitParams = params.split(" "); let driveSpeed = Number(splitParams[0]); // default is 20 let driveStyle = Number(splitParams[1]);
// let this car randomly drive around // [syntax]: pedHandle, carHandle, driveSpeed, driveStyle natives.taskCarDriveWander(thisPed, thisVeh, driveSpeed, driveStyle);
return true; });
Compatibility
There isn't any compatibility information for this function.
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
The vehicle.carWanderRandomly function has the same functionality in the 3D universe games (GTA III, Vice City, and San Andreas)
- 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.