rendered paste body#include <a_samp>
#define MAX_STRING 256
enum SavePlayerPosEnum
{
Float:LastX,
Float:LastY,
Float:LastZ
}
new Text:Speedometer[MAX_PLAYERS];
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
forward Speed();
main()
{
print("\n----------------------------------");
print(" WG's Sexy Speedometer maybe has been loaded.");
print("----------------------------------\n");
}
public OnFilterScriptInit( )
{
SetTimer("Speed", 500, true);
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(IsPlayerConnected(playerid)) {
TextDrawHideForPlayer(playerid, Speedometer[playerid]);
}
return true;
}
public Speed()
{
new string[MAX_STRING];
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
TextDrawDestroy(Speedometer[i]);
new Float:x,Float:y,Float:z;
new Float:distance,value;
GetPlayerPos(i, x, y, z);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 11000);
format(string, sizeof(string), "~b~KpH: ~g~%d",floatround(value/1400));
Speedometer[i] = TextDrawCreate(90.0, 320.0, string);
TextDrawTextSize(Speedometer[i], 60, 100);
TextDrawUseBox(Speedometer[i], 1);
TextDrawBoxColor(Speedometer[i], 0x000000FF);
TextDrawSetOutline(Speedometer[i], 0);
TextDrawFont(Speedometer[i], 3);
TextDrawSetProportional(Speedometer[i], 1);
TextDrawAlignment(Speedometer[i], 2);
TextDrawShowForPlayer(i, Speedometer[i]);
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
return true;
}