01.01.2015, 19:41
this the full code
PHP код:
#include <a_samp>
#include <ZCMD>
new Text:Speedometer[MAX_PLAYERS]; //This will create a textdraw for every player
new Floatvx[MAX_PLAYERS];//This is for getting the speed of the car
new Floatvy[MAX_PLAYERS];//This is for getting the speed of the car
new Floatvz[MAX_PLAYERS];//This is for getting the speed of the car
new Float1[MAX_PLAYERS];
new s2[MAX_PLAYERS];
new s3[MAX_PLAYERS];
new stimer[MAX_PLAYERS];
new Textdisplay[MAX_PLAYERS];
forward speedometer(playerid);
public OnPlayerSpawn(playerid)
{
Speedometer[playerid] = TextDrawCreate(335.000000, 434.000000, "");
TextDrawBackgroundColor(Speedometer[playerid], 255);
TextDrawFont(Speedometer[playerid], 1);
TextDrawLetterSize(Speedometer[playerid], 0.230000, 1.100000);
TextDrawColor(Speedometer[playerid], -1);
TextDrawSetOutline(Speedometer[playerid], 1);
TextDrawSetProportional(Speedometer[playerid], 1);
TextDrawShowForPlayer(playerid, Speedometer[playerid]); //This gotta be in there otherwise speedometer wont show up.
return 1;
}
public speedometer(playerid)
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), svx[playerid], svy[playerid], svz[playerid]); // This Saves Our Velocitys To Our Varibles
s1[playerid] = floatsqroot(((svx[playerid]*svx[playerid])+(svy[playerid]*svy[playerid]))+(svz[playerid]*svz[playerid]))*100; // This Is Our Forumula ( I Don't Know How It Works but i found it on internet )
s2[playerid] = floatround(s1[playerid],floatround_round); // Round the output off to a whole number
format(s3[playerid],32,"%i", s2[playerid]); // The textdraw string
TextDrawSetString(sdisplay[playerid], s3[playerid]); // The actual changing of the textdraw
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{ // This Is The Callback That Is Called When A Person Changes State
KillTimer(stimer[playerid]); // This Stops Our Timer For When You Get Out Of Your Vehicle Your Speed Doesn't Keep Going
TextDrawSetString(Speedometer[playerid], " "); // This Sets Our Textdraw To Blank And Freezes Because We Stop The Timer ^
if(newstate == 2) stimer[playerid] = SetTimerEx("speedometer", 255, true, "i", playerid); // This Starts The Timer When The Player Changes His/Her State To Being The Driver
else if(newstate == 3) stimer[playerid] = SetTimerEx("speedometer", 250, true, "i", playerid); // This Start The Timer When The Player Changes His/Her Start To Being The Passenger
return 1;
}