Luka P.
11/08/2010, 04:36 PM
http://i34.tinypic.com/9kuk3b.png
Description
Vehicle Library allows you to get vehicle speed and transmission. I got the idea from Ryder's Transmission filterscript (actually, it is transmission and speed info in textdraw, but with no callbacks).
Usage
Definitions/states:
VEH_STATE_DRIVING_FORWARD
VEH_STATE_DRIVING_BACKWARDS
VEH_STATE_NOT_DRIVING
You can use the above definitions to compare them with the "newtrans" or "oldtrans" parameter in OnPlayerTransmissionChange callback.
USE_KMPH
USE_MPH
You can use the above definitions to define what you want to use - kilometers or miles. You must put a definition like #define USE_MPH above the include. Default unit is kilometers, so you don't have to define anything if you want to use kilometers.
Callbacks:
OnVehicleTransmissionChange(vehicleid, newtrans, oldtrans);
OnVehicleSpeedChange(vehicleid, newspeed, oldspeed);
Example
public OnVehicleSpeedChange(vehicleid, newspeed, oldspeed)
{
if(newspeed >= 200)
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(i, pName, sizeof(pName));
format(string, sizeof(string),
"SERVER: %s, you are driving too fast. (%i kmph)", newspeed);
SendClientMessage(i, 0xF00000AA, string);
}
}
}
}
return 1;
}
Download
Solidfiles.com (http://solidfiles.com/d/6580e/)
Description
Vehicle Library allows you to get vehicle speed and transmission. I got the idea from Ryder's Transmission filterscript (actually, it is transmission and speed info in textdraw, but with no callbacks).
Usage
Definitions/states:
VEH_STATE_DRIVING_FORWARD
VEH_STATE_DRIVING_BACKWARDS
VEH_STATE_NOT_DRIVING
You can use the above definitions to compare them with the "newtrans" or "oldtrans" parameter in OnPlayerTransmissionChange callback.
USE_KMPH
USE_MPH
You can use the above definitions to define what you want to use - kilometers or miles. You must put a definition like #define USE_MPH above the include. Default unit is kilometers, so you don't have to define anything if you want to use kilometers.
Callbacks:
OnVehicleTransmissionChange(vehicleid, newtrans, oldtrans);
OnVehicleSpeedChange(vehicleid, newspeed, oldspeed);
Example
public OnVehicleSpeedChange(vehicleid, newspeed, oldspeed)
{
if(newspeed >= 200)
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(i, pName, sizeof(pName));
format(string, sizeof(string),
"SERVER: %s, you are driving too fast. (%i kmph)", newspeed);
SendClientMessage(i, 0xF00000AA, string);
}
}
}
}
return 1;
}
Download
Solidfiles.com (http://solidfiles.com/d/6580e/)