[Tutorial] Creating A Basic Speedometer
#1

My comments explain it pretty good. Please read this and do not just copy and paste it.
PHP Code:
#include <a_samp>
new Float:svx[MAX_PLAYERS]; // Holds Velocity X
new Float:svy[MAX_PLAYERS]; // Holds Velocity Y
new Float:svz[MAX_PLAYERS]; // Holds Velocity Z
new Float:s1[MAX_PLAYERS]; // This Is What Our Forumula Outputs
new s2[MAX_PLAYERS]; // This Is The Output When The Forumula's Ouput Is Round
new s3[MAX_PLAYERS][256]; // This Is The Text That Is Displayed To The User
new Text:sdisplay[MAX_PLAYERS]; // This Holds The Textdraw's ID
new stimer[MAX_PLAYERS]; // This Holds The Timer's ID (Used To Refresh Speed)
forward speedometer(playerid); // This Forwards The Timer To Our Function
public OnFilterScriptInit() { // This Is What Is Excuted When The FilterScript Starts
    
print("                                       ");
    print(
"  -----------------------------------  ");
    print(
"                                       ");
    print(
"  Speedometer Filterscript Has Loaded  ");
    print(
"                                       ");
    print(
"  -----------------------------------  ");
    print(
"                                       ");
    return 
1;
}
public 
OnFilterScriptExit() { // This Is What Is Excuted When The FilterScript Ends
    
print("                                         ");
    print(
"  -------------------------------------  ");
    print(
"                                         ");
    print(
"  Speedometer Filterscript Has Unloaded  ");
    print(
"                                         ");
    print(
"  -------------------------------------  ");
    print(
"                                         ");
    return 
1;
}
public 
OnPlayerConnect(playerid) {
    
sdisplay[playerid] = TextDrawCreate(10.0,200.0," "); // This Creates Our Textdraw And Stores The Id In The Varible In Front
    
TextDrawSetShadow(sdisplay[playerid],0); // This Removes Our Textdraw's Shadow ( Makes Easier To Read )
    
TextDrawSetOutline(sdisplay[playerid],1); // This Adds A Black Outline To Our Textdraw ( Makes Easier To Read )
    
TextDrawFont(sdisplay[playerid], 2); // This Changes Our Textdraw's Font ( I Think This Ones Makes It Easier To Read )
    
TextDrawShowForPlayer(playerid,sdisplay[playerid]); // This Shows The User The Textdraw
    
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 )
    
s2[playerid] = floatround(s1[playerid],floatround_round); // This Rounds Our Output To The Nearest Whole Number
    
format(s3[playerid],256,"%i MPH"s2[playerid]); // This Format Our Text Into What We See
    
TextDrawSetString(sdisplay[playerid], s3[playerid]); // This Changes The Value Of Our Textdraw To What We Formatted
    
return 1;
}
public 
OnPlayerStateChange(playeridnewstateoldstate) { // This Is The Callback That Is Called When A Person Changes State ( ex States In_Vehicle, Dead, Passenger, Speculating... )
    
KillTimer(stimer[playerid]); // This Stops Our Timer For When You Get Out Of Your Vehicle Your Speed Doesn't Keep Going
    
TextDrawSetString(sdisplay[playerid], " "); // This Sets Our Textdraw To Blank And Freezes Because We Stop The Timer ^
    
if(newstate == 2stimer[playerid] = SetTimerEx("speedometer"255true"i"playerid); // This Starts The Timer When The Player Changes His/Her State To Being The Driver
    
else if(newstate == 3stimer[playerid] = SetTimerEx("speedometer"250true"i"playerid); // This Start The Timer When The Player Changes His/Her Start To Being The Passenger
    
return 1;

Reply


Messages In This Thread
Creating A Basic Speedometer - by Tim_Ethen - 02.11.2010, 03:48
Re: Creating A Basic Speedometer - by Lorenc_ - 02.11.2010, 03:51
Re: Creating A Basic Speedometer - by Steven82 - 02.11.2010, 04:06
Re: Creating A Basic Speedometer - by Tim_Ethen - 02.11.2010, 04:17
Re: Creating A Basic Speedometer - by Steven82 - 02.11.2010, 04:27
Re: Creating A Basic Speedometer - by pmk1 - 03.11.2010, 22:44
Re: Creating A Basic Speedometer - by [L3th4l] - 04.11.2010, 02:51
Re: Creating A Basic Speedometer - by Dime - 04.11.2010, 03:04
Re: Creating A Basic Speedometer - by Fresh9884 - 06.11.2010, 14:39
Re: Creating A Basic Speedometer - by Hiddos - 06.11.2010, 14:49
Re: Creating A Basic Speedometer - by [WSF]ThA_Devil - 08.11.2010, 11:50
Re: Creating A Basic Speedometer - by sim_sima - 13.06.2011, 15:58
Re: Creating A Basic Speedometer - by alpha500delta - 14.06.2011, 13:40
Re: Creating A Basic Speedometer - by Jack_Rocker - 14.06.2011, 21:46
Re: Creating A Basic Speedometer - by Namaco - 14.06.2011, 21:48
Re: Creating A Basic Speedometer - by JamesMarcello - 04.07.2011, 03:30
Re: Creating A Basic Speedometer - by =WoR=Varth - 04.07.2011, 03:42
Re: Creating A Basic Speedometer - by X3nZ - 11.07.2011, 19:01
Re: Creating A Basic Speedometer - by Huiz - 13.07.2011, 19:40
Re: Creating A Basic Speedometer - by Daren_Jacobson - 13.07.2011, 19:49
Re: Creating A Basic Speedometer - by Steven82 - 14.07.2011, 05:57
Re: Creating A Basic Speedometer - by stefan2105 - 14.07.2011, 16:11
Re: Creating A Basic Speedometer - by Sil3nc3 - 15.07.2011, 15:58
Re: Creating A Basic Speedometer - by Vipero - 15.07.2011, 16:05
Re: Creating A Basic Speedometer - by SloStunter - 04.11.2011, 21:11
Re : Creating A Basic Speedometer - by Alvin007 - 05.11.2011, 11:16
Re: Creating A Basic Speedometer - by Admigo - 05.11.2011, 11:38
Re: Creating A Basic Speedometer - by Ћilvėnas - 05.11.2011, 14:10
Re: Creating A Basic Speedometer - by juraska - 05.11.2011, 16:13
Re: Creating A Basic Speedometer - by jtweak - 20.11.2011, 05:33
Re: Creating A Basic Speedometer - by Mckarlis - 22.07.2013, 11:02
Re: Creating A Basic Speedometer - by qazwsx - 23.07.2013, 14:56
Re: Creating A Basic Speedometer - by qazwsx - 23.07.2013, 15:32
Re: Creating A Basic Speedometer - by bensmart469 - 23.07.2013, 21:28

Forum Jump:


Users browsing this thread: 2 Guest(s)