Function GetVehicleRotation get the rotation of a vehicle on the XYZ axis.
  • There is no 'set' variation of this function; you can not SET a vehicle's rotation (apart from the Z angle)
  • To use this function you must define it.
  • This function works accurately only on occupied vehicles. The reason is that GetVehicleRotationQuat starts returning an invalid quaternion after an unoccupied vehicle's position has been updated by a player.

(vehicleid, &Float:rx, &Float:ry, &Float:rz)
int vehicleid The ID of the vehicle to get the rotation of.
float rx The variable to store the X (pitch) rotation, passed by reference.
float ry The variable to store the Y (roll) rotation, passed by reference.
float rz The variable to store the Z (yaw) rotation, passed by reference.

Return Values:
This function does not return any specific values.

//GetVehicleRotation Created by IllidanS4
stock GetVehicleRotation(vehicleid,&Float:rx,&Float:ry,&Float:rz){
	new Float:qw,Float:qx,Float:qy,Float:qz;
	rx = asin(2*qy*qz-2*qx*qw);
	ry = -atan2(qx*qz+qy*qw,0.5-qx*qx-qy*qy);
	rz = -atan2(qx*qy+qz*qw,0.5-qx*qx-qz*qz);

Related Functions
The following functions may be useful, as they are related to this function in one way or another.