Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ai>
- #include <aicolor>
- #include <lrp>
- new textdraw = 1; // 1 = on, 0 = off
- new gametext = 0; // 1 = on, 0 = off
- new halfsecondtimer;
- new Text:Speedometer[maxplayers];
- new ToggleSpeedometer[maxplayers];
- enum pos
- {
- Float:x,
- Float:y,
- Float:z
- }
- new Pos[maxplayers][pos];
- new Pos2[maxplayers][pos];
- new Float:DistanceX[maxplayers];
- new Float:DistanceY[maxplayers];
- new Float:DistanceX2[maxplayers];
- new Float:DistanceY2[maxplayers];
- new Float:Distance[maxplayers];
- new Float:S1[maxplayers];
- new Float:S2[maxplayers];
- new Float:S3[maxplayers];
- new SpeedStep[maxplayers];
- new Float:TotalSpeed[maxplayers];
- forward HalfSecondTimer();
- forward PlayerMessage(playerid, color, string[]);
- public OnFilterScriptInit() // OnFilterScriptInit
- {
- print(" ");
- print(" >> AI Speed initiated");
- print(" ");
- halfsecondtimer = SetTimer("HalfSecondTimer", 500, true);
- return 1;
- } //----------
- public OnFilterScriptExit() // OnFilterScriptExit
- {
- print(" ");
- print(" >> AI Speed shut down...");
- print(" ");
- KillTimer(halfsecondtimer);
- return 1;
- } //----------
- public OnPlayerConnect(playerid) // OnPlayerConnect
- {
- Speedometer[playerid] = TextDrawCreate(300, 400, " ");
- //Speedometer[playerid] = TextDrawCreate(502, 110, " "); Used for my script
- TextDrawAlignment(Speedometer[playerid],1);
- TextDrawSetProportional(Speedometer[playerid],1);
- TextDrawSetOutline(Speedometer[playerid], 1);
- TextDrawFont(Speedometer[playerid], 2);
- TextDrawShowForPlayer(playerid, Speedometer[playerid]);
- return 1;
- } //----------
- public HalfSecondTimer() // HalfSecondTimer
- {
- for(new i=0; i<=GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(ToggleSpeedometer[i] == 1)
- {
- if(SpeedStep[i] == 0)
- {
- GetPlayerPos(i, Pos[i][x], Pos[i][y], Pos[i][z]);
- }
- if(SpeedStep[i] == 1)
- {
- GetPlayerPos(i, Pos2[i][x], Pos2[i][y], Pos2[i][z]);
- DistanceX[i] = Pos[i][x] - Pos2[i][x];
- DistanceY[i] = Pos[i][y] - Pos2[i][y];
- DistanceX2[i] = DistanceX[i] * DistanceX[i];
- DistanceY2[i] = DistanceY[i] * DistanceY[i];
- Distance[i] = (DistanceX2[i] + DistanceY2[i])/10;
- S1[i] = Distance[i];
- }
- if(SpeedStep[i] == 2)
- {
- GetPlayerPos(i, Pos[i][x], Pos[i][y], Pos[i][z]);
- }
- if(SpeedStep[i] == 3)
- {
- GetPlayerPos(i, Pos2[i][x], Pos2[i][y], Pos2[i][z]);
- DistanceX[i] = Pos[i][x] - Pos2[i][x];
- DistanceY[i] = Pos[i][y] - Pos2[i][y];
- DistanceX2[i] = DistanceX[i] * DistanceX[i];
- DistanceY2[i] = DistanceY[i] * DistanceY[i];
- Distance[i] = (DistanceX2[i] + DistanceY2[i])/10;
- S2[i] = Distance[i];
- }
- if(SpeedStep[i] == 4)
- {
- GetPlayerPos(i, Pos[i][x], Pos[i][y], Pos[i][z]);
- }
- if(SpeedStep[i] == 5)
- {
- GetPlayerPos(i, Pos2[i][x], Pos2[i][y], Pos2[i][z]);
- DistanceX[i] = Pos[i][x] - Pos2[i][x];
- DistanceY[i] = Pos[i][y] - Pos2[i][y];
- DistanceX2[i] = DistanceX[i] * DistanceX[i];
- DistanceY2[i] = DistanceY[i] * DistanceY[i];
- Distance[i] = (DistanceX2[i] + DistanceY2[i])/10;
- S3[i] = Distance[i];
- }
- new str[64];
- TotalSpeed[i] = (S1[i]+S2[i]+S3[i])/2;
- if(textdraw == 1)
- {
- format(str, sizeof(str), "~b~mph:~w~%.0f",TotalSpeed[i]);
- TextDrawSetString(Speedometer[i], str);
- }
- if(gametext == 1)
- {
- format(str, sizeof(str), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~b~mph:~w~%.0f",TotalSpeed[i]);
- GameTextForPlayer(i, str, 500, 3);
- }
- SpeedStep[i] ++;
- if(SpeedStep[i] == 6)
- {
- SpeedStep[i] = 0;
- }
- }
- }
- }
- return 1;
- } //----------
- public OnPlayerPrivmsg(playerid, recieverid, text[]) // OnPlayerPrivmsg
- {
- return 0;
- } //----------
- public OnPlayerCommandText(playerid, cmdtext[]) // OnPlayerCommandText
- {
- if (strcmp("/speedometer", cmdtext, true) == 0)
- {
- if(ToggleSpeedometer[playerid] == 0)
- {
- ToggleSpeedometer[playerid] = 1;
- PlayerMessage(playerid, teal3, " >> Speedometer turned on.");
- PlayerPlaySound(playerid, 1053, 0, 0, 0);
- TextDrawShowForPlayer(playerid, Speedometer[playerid]);
- return 1;
- }
- if(ToggleSpeedometer[playerid] == 1)
- {
- ToggleSpeedometer[playerid] = 0;
- PlayerMessage(playerid, teal3, " >> Speedometer turned off.");
- PlayerPlaySound(playerid, 1053, 0, 0, 0);
- TextDrawHideForPlayer(playerid, Speedometer[playerid]);
- return 1;
- }
- return 1;
- }
- return 0;
- } //----------
- public PlayerMessage(playerid, color, string[]) // PlayerMessage
- {
- SendClientMessage(playerid, color, string);
- return 1;
- } //----------
Advertisement
Add Comment
Please, Sign In to add comment