Guest User

DigiSpeedo

a guest
Jul 4th, 2011
5,837
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.95 KB | None | 0 0
  1.  
  2. /* ************************ */
  3. /* DigiSpeedo by iPLEOMAX © */
  4. /* ************************ */
  5.  
  6. #include <a_samp>
  7. #include <foreach>
  8. #include <zcmd>
  9.  
  10. #define SPEED_UPDATE_TIMER 180
  11. #define SPEED_MULTIPLIER 2
  12. // Update Timer in Milleseconds, Less Value = More Lag. More Value = Less Lag: (Tweak on your own way)
  13. // Speed Multiplier 2 by default, to make it feel better, actually it's 1.
  14.  
  15. new Text:Textdraw0;
  16. new Text:Textdraw1;
  17. new Text:Textdraw2;
  18. new Text:Textdraw3;
  19. new Text:Textdraw4;
  20. new Text:Textdraw5;
  21. new Text:Textdraw6;
  22. new Text:Textdraw7;
  23. new Text:Textdraw8;
  24. new Text:Textdraw9;
  25. new Text:Textdraw10;
  26. new Text:Textdraw11;
  27. new Text:Textdraw13;
  28. new Text:Textdraw14;
  29. new Text:Textdraw15;
  30.  
  31. new Text:Speed[MAX_PLAYERS];
  32.  
  33. new Speedo[MAX_PLAYERS];
  34.  
  35. new SpeedUpdateTimer;
  36.  
  37. public OnFilterScriptInit()
  38. {
  39.     print("DigiSpeedo FilterScript Loaded. (Made by iPLEOMAX)");
  40.  
  41.     Textdraw0 = TextDrawCreate(571.000000, 364.000000, "BG");
  42.     TextDrawBackgroundColor(Textdraw0, 255);
  43.     TextDrawFont(Textdraw0, 1);
  44.     TextDrawLetterSize(Textdraw0, 0.000000, 2.200000);
  45.     TextDrawColor(Textdraw0, -1);
  46.     TextDrawSetOutline(Textdraw0, 0);
  47.     TextDrawSetProportional(Textdraw0, 1);
  48.     TextDrawSetShadow(Textdraw0, 1);
  49.     TextDrawUseBox(Textdraw0, 1);
  50.     TextDrawBoxColor(Textdraw0, 230);
  51.     TextDrawTextSize(Textdraw0, 387.000000, 2.000000);
  52.  
  53.     Textdraw1 = TextDrawCreate(457.000000, 401.000000, "New Textdraw");
  54.     TextDrawBackgroundColor(Textdraw1, 255);
  55.     TextDrawFont(Textdraw1, 1);
  56.     TextDrawLetterSize(Textdraw1, 0.000000, -0.500000);
  57.     TextDrawColor(Textdraw1, -1);
  58.     TextDrawSetOutline(Textdraw1, 0);
  59.     TextDrawSetProportional(Textdraw1, 1);
  60.     TextDrawSetShadow(Textdraw1, 1);
  61.     TextDrawUseBox(Textdraw1, 1);
  62.     TextDrawBoxColor(Textdraw1, 16777215);
  63.     TextDrawTextSize(Textdraw1, 444.000000, 0.000000);
  64.  
  65.     Textdraw2 = TextDrawCreate(467.000000, 401.000000, "New Textdraw");
  66.     TextDrawBackgroundColor(Textdraw2, 255);
  67.     TextDrawFont(Textdraw2, 1);
  68.     TextDrawLetterSize(Textdraw2, 0.000000, -0.600000);
  69.     TextDrawColor(Textdraw2, -1);
  70.     TextDrawSetOutline(Textdraw2, 0);
  71.     TextDrawSetProportional(Textdraw2, 1);
  72.     TextDrawSetShadow(Textdraw2, 1);
  73.     TextDrawUseBox(Textdraw2, 1);
  74.     TextDrawBoxColor(Textdraw2, 16777215);
  75.     TextDrawTextSize(Textdraw2, 454.000000, -1.000000);
  76.  
  77.     Textdraw3 = TextDrawCreate(477.000000, 401.000000, "New Textdraw");
  78.     TextDrawBackgroundColor(Textdraw3, 255);
  79.     TextDrawFont(Textdraw3, 1);
  80.     TextDrawLetterSize(Textdraw3, 0.000000, -0.700000);
  81.     TextDrawColor(Textdraw3, -1);
  82.     TextDrawSetOutline(Textdraw3, 0);
  83.     TextDrawSetProportional(Textdraw3, 1);
  84.     TextDrawSetShadow(Textdraw3, 1);
  85.     TextDrawUseBox(Textdraw3, 1);
  86.     TextDrawBoxColor(Textdraw3, 16777215);
  87.     TextDrawTextSize(Textdraw3, 464.000000, -1.000000);
  88.  
  89.     Textdraw4 = TextDrawCreate(487.000000, 401.000000, "New Textdraw");
  90.     TextDrawBackgroundColor(Textdraw4, 255);
  91.     TextDrawFont(Textdraw4, 1);
  92.     TextDrawLetterSize(Textdraw4, 0.000000, -0.800000);
  93.     TextDrawColor(Textdraw4, -1);
  94.     TextDrawSetOutline(Textdraw4, 0);
  95.     TextDrawSetProportional(Textdraw4, 1);
  96.     TextDrawSetShadow(Textdraw4, 1);
  97.     TextDrawUseBox(Textdraw4, 1);
  98.     TextDrawBoxColor(Textdraw4, 16777215);
  99.     TextDrawTextSize(Textdraw4, 474.000000, -1.000000);
  100.  
  101.     Textdraw5 = TextDrawCreate(498.000000, 401.000000, "New Textdraw");
  102.     TextDrawBackgroundColor(Textdraw5, 255);
  103.     TextDrawFont(Textdraw5, 1);
  104.     TextDrawLetterSize(Textdraw5, 0.000000, -0.900000);
  105.     TextDrawColor(Textdraw5, -1);
  106.     TextDrawSetOutline(Textdraw5, 0);
  107.     TextDrawSetProportional(Textdraw5, 1);
  108.     TextDrawSetShadow(Textdraw5, 1);
  109.     TextDrawUseBox(Textdraw5, 1);
  110.     TextDrawBoxColor(Textdraw5, 16777215);
  111.     TextDrawTextSize(Textdraw5, 484.000000, -1.000000);
  112.  
  113.     Textdraw6 = TextDrawCreate(508.000000, 401.000000, "New Textdraw");
  114.     TextDrawBackgroundColor(Textdraw6, 255);
  115.     TextDrawFont(Textdraw6, 1);
  116.     TextDrawLetterSize(Textdraw6, 0.000000, -1.000000);
  117.     TextDrawColor(Textdraw6, -1);
  118.     TextDrawSetOutline(Textdraw6, 0);
  119.     TextDrawSetProportional(Textdraw6, 1);
  120.     TextDrawSetShadow(Textdraw6, 1);
  121.     TextDrawUseBox(Textdraw6, 1);
  122.     TextDrawBoxColor(Textdraw6, 16777215);
  123.     TextDrawTextSize(Textdraw6, 495.000000, -1.000000);
  124.  
  125.     Textdraw7 = TextDrawCreate(518.000000, 401.000000, "New Textdraw");
  126.     TextDrawBackgroundColor(Textdraw7, 255);
  127.     TextDrawFont(Textdraw7, 1);
  128.     TextDrawLetterSize(Textdraw7, 0.000000, -1.100000);
  129.     TextDrawColor(Textdraw7, -1);
  130.     TextDrawSetOutline(Textdraw7, 0);
  131.     TextDrawSetProportional(Textdraw7, 1);
  132.     TextDrawSetShadow(Textdraw7, 1);
  133.     TextDrawUseBox(Textdraw7, 1);
  134.     TextDrawBoxColor(Textdraw7, 16777215);
  135.     TextDrawTextSize(Textdraw7, 505.000000, -1.000000);
  136.  
  137.     Textdraw8 = TextDrawCreate(529.000000, 401.000000, "New Textdraw");
  138.     TextDrawBackgroundColor(Textdraw8, 255);
  139.     TextDrawFont(Textdraw8, 1);
  140.     TextDrawLetterSize(Textdraw8, 0.000000, -1.300000);
  141.     TextDrawColor(Textdraw8, -1);
  142.     TextDrawSetOutline(Textdraw8, 0);
  143.     TextDrawSetProportional(Textdraw8, 1);
  144.     TextDrawSetShadow(Textdraw8, 1);
  145.     TextDrawUseBox(Textdraw8, 1);
  146.     TextDrawBoxColor(Textdraw8, 16777215);
  147.     TextDrawTextSize(Textdraw8, 515.000000, -1.000000);
  148.  
  149.     Textdraw9 = TextDrawCreate(541.000000, 401.000000, "New Textdraw");
  150.     TextDrawBackgroundColor(Textdraw9, 255);
  151.     TextDrawFont(Textdraw9, 1);
  152.     TextDrawLetterSize(Textdraw9, 0.000000, -1.500000);
  153.     TextDrawColor(Textdraw9, -1);
  154.     TextDrawSetOutline(Textdraw9, 0);
  155.     TextDrawSetProportional(Textdraw9, 1);
  156.     TextDrawSetShadow(Textdraw9, 1);
  157.     TextDrawUseBox(Textdraw9, 1);
  158.     TextDrawBoxColor(Textdraw9, 16777215);
  159.     TextDrawTextSize(Textdraw9, 526.000000, -1.000000);
  160.  
  161.     Textdraw10 = TextDrawCreate(553.000000, 401.000000, "New Textdraw");
  162.     TextDrawBackgroundColor(Textdraw10, 255);
  163.     TextDrawFont(Textdraw10, 1);
  164.     TextDrawLetterSize(Textdraw10, 0.000000, -1.700000);
  165.     TextDrawColor(Textdraw10, -1);
  166.     TextDrawSetOutline(Textdraw10, 0);
  167.     TextDrawSetProportional(Textdraw10, 1);
  168.     TextDrawSetShadow(Textdraw10, 1);
  169.     TextDrawUseBox(Textdraw10, 1);
  170.     TextDrawBoxColor(Textdraw10, 16777215);
  171.     TextDrawTextSize(Textdraw10, 538.000000, -1.000000);
  172.  
  173.     Textdraw11 = TextDrawCreate(565.000000, 401.000000, "New Textdraw");
  174.     TextDrawBackgroundColor(Textdraw11, 255);
  175.     TextDrawFont(Textdraw11, 1);
  176.     TextDrawLetterSize(Textdraw11, 0.000000, -2.000000);
  177.     TextDrawColor(Textdraw11, -1);
  178.     TextDrawSetOutline(Textdraw11, 0);
  179.     TextDrawSetProportional(Textdraw11, 1);
  180.     TextDrawSetShadow(Textdraw11, 1);
  181.     TextDrawUseBox(Textdraw11, 1);
  182.     TextDrawBoxColor(Textdraw11, 16777215);
  183.     TextDrawTextSize(Textdraw11, 550.000000, -1.000000);
  184.  
  185.     Textdraw13 = TextDrawCreate(446.000000, 367.000000, "MPH");
  186.     TextDrawBackgroundColor(Textdraw13, 255);
  187.     TextDrawFont(Textdraw13, 2);
  188.     TextDrawLetterSize(Textdraw13, 0.329999, 1.099999);
  189.     TextDrawColor(Textdraw13, -1);
  190.     TextDrawSetOutline(Textdraw13, 0);
  191.     TextDrawSetProportional(Textdraw13, 1);
  192.     TextDrawSetShadow(Textdraw13, 0);
  193.  
  194.     Textdraw14 = TextDrawCreate(571.000000, 410.000000, "New Textdraw");
  195.     TextDrawBackgroundColor(Textdraw14, 255);
  196.     TextDrawFont(Textdraw14, 1);
  197.     TextDrawLetterSize(Textdraw14, 0.000000, -0.099999);
  198.     TextDrawColor(Textdraw14, -1);
  199.     TextDrawSetOutline(Textdraw14, 0);
  200.     TextDrawSetProportional(Textdraw14, 1);
  201.     TextDrawSetShadow(Textdraw14, 1);
  202.     TextDrawUseBox(Textdraw14, 1);
  203.     TextDrawBoxColor(Textdraw14, 190);
  204.     TextDrawTextSize(Textdraw14, 387.000000, 2.000000);
  205.  
  206.     Textdraw15 = TextDrawCreate(571.000000, 359.000000, "New Textdraw");
  207.     TextDrawBackgroundColor(Textdraw15, 255);
  208.     TextDrawFont(Textdraw15, 1);
  209.     TextDrawLetterSize(Textdraw15, 0.000000, -0.099999);
  210.     TextDrawColor(Textdraw15, -1);
  211.     TextDrawSetOutline(Textdraw15, 0);
  212.     TextDrawSetProportional(Textdraw15, 1);
  213.     TextDrawSetShadow(Textdraw15, 1);
  214.     TextDrawUseBox(Textdraw15, 1);
  215.     TextDrawBoxColor(Textdraw15, 180);
  216.     TextDrawTextSize(Textdraw15, 387.000000, 2.000000);
  217.  
  218.     SpeedUpdateTimer = SetTimer("SpeedUpdate",SPEED_UPDATE_TIMER,true);
  219.  
  220.     return true;
  221. }
  222.  
  223. public OnFilterScriptExit()
  224. {
  225.     KillTimer(SpeedUpdateTimer);
  226.     return true;
  227. }
  228.  
  229. public OnPlayerConnect(playerid)
  230. {
  231.     Speed[playerid] = TextDrawCreate(441.000000, 362.000000, "000");
  232.     TextDrawAlignment(Speed[playerid], 3);
  233.     TextDrawBackgroundColor(Speed[playerid], -16776961);
  234.     TextDrawFont(Speed[playerid], 3);
  235.     TextDrawLetterSize(Speed[playerid], 0.740000, 4.299999);
  236.     TextDrawColor(Speed[playerid], 255);
  237.     TextDrawSetOutline(Speed[playerid], 1);
  238.     TextDrawSetProportional(Speed[playerid], 1);
  239.     return true;
  240. }
  241.  
  242. public OnPlayerDisconnect(playerid, reason)
  243. {
  244.     return true;
  245. }
  246.  
  247. public OnPlayerStateChange(playerid, newstate, oldstate)
  248. {
  249.     if(newstate == PLAYER_STATE_DRIVER && Speedo[playerid] == 1) ShowTD(playerid);
  250.     if(oldstate == PLAYER_STATE_DRIVER && Speedo[playerid] == 1) HideTD(playerid);
  251.     return true;
  252. }
  253.  
  254. forward SpeedUpdate();
  255. public SpeedUpdate()
  256. {
  257.     foreach(Player, i)
  258.     {
  259.         if(IsPlayerInAnyVehicle(i) && Speedo[i] != 0)
  260.         {
  261.             new Float:SPD, Float:vx, Float:vy, Float:vz;
  262.             GetVehicleVelocity(GetPlayerVehicleID(i), vx,vy,vz);
  263.             SPD = floatsqroot(((vx*vx)+(vy*vy))+(vz*vz))*100;
  264.             TextdrawUpdate(i, SPD*SPEED_MULTIPLIER);
  265.         }
  266.     }
  267.     return true;
  268. }
  269.  
  270. CMD:speedo(playerid, params[])
  271. {
  272.     if(Speedo[playerid] == 0) {
  273.         SendClientMessage(playerid, 0xFFFFFFFF, "Digital Speedometer: {00FF00}Activated.");
  274.         Speedo[playerid] = 1;
  275.         if(IsPlayerInAnyVehicle(playerid)) ShowTD(playerid);
  276.     } else {
  277.         SendClientMessage(playerid, 0xFFFFFFFF, "Digital Speedometer: {FF0000}Turned Off.");
  278.         Speedo[playerid] = 0;
  279.         HideTD(playerid);
  280.     }
  281.     return true;
  282. }
  283.  
  284. forward TextdrawUpdate(playerid, Float:speed);
  285. public TextdrawUpdate(playerid, Float:speed)
  286. {
  287.     new SS[4];
  288.     format(SS,4,"%f",speed);
  289.     TextDrawSetString(Speed[playerid], SS);
  290.    
  291.     if(speed >= 10) { TextDrawShowForPlayer(playerid, Textdraw1); }
  292.     else TextDrawHideForPlayer(playerid, Textdraw1);
  293.     if(speed >= 30) { TextDrawShowForPlayer(playerid, Textdraw2); }
  294.     else TextDrawHideForPlayer(playerid, Textdraw2);
  295.     if(speed >= 50) { TextDrawShowForPlayer(playerid, Textdraw3); }
  296.     else TextDrawHideForPlayer(playerid, Textdraw3);
  297.     if(speed >= 70) { TextDrawShowForPlayer(playerid, Textdraw4); }
  298.     else TextDrawHideForPlayer(playerid, Textdraw4);
  299.     if(speed >= 90) { TextDrawShowForPlayer(playerid, Textdraw5); }
  300.     else TextDrawHideForPlayer(playerid, Textdraw5);
  301.     if(speed >= 110) { TextDrawShowForPlayer(playerid, Textdraw6); }
  302.     else TextDrawHideForPlayer(playerid, Textdraw6);
  303.     if(speed >= 130) { TextDrawShowForPlayer(playerid, Textdraw7); }
  304.     else TextDrawHideForPlayer(playerid, Textdraw7);
  305.     if(speed >= 150) { TextDrawShowForPlayer(playerid, Textdraw8); }
  306.     else TextDrawHideForPlayer(playerid, Textdraw8);
  307.     if(speed >= 170) { TextDrawShowForPlayer(playerid, Textdraw9); }
  308.     else TextDrawHideForPlayer(playerid, Textdraw9);
  309.     if(speed >= 180) { TextDrawShowForPlayer(playerid, Textdraw10); }
  310.     else TextDrawHideForPlayer(playerid, Textdraw10);
  311.     if(speed >= 200) { TextDrawShowForPlayer(playerid, Textdraw11); }
  312.     else TextDrawHideForPlayer(playerid, Textdraw11);
  313.     return true;
  314. }
  315.  
  316. forward ShowTD(playerid);
  317. public ShowTD(playerid)
  318. {
  319.     TextDrawShowForPlayer(playerid, Textdraw0);
  320.     TextDrawShowForPlayer(playerid, Speed[playerid]);
  321.     TextDrawShowForPlayer(playerid, Textdraw13);
  322.     TextDrawShowForPlayer(playerid, Textdraw14);
  323.     TextDrawShowForPlayer(playerid, Textdraw15);
  324.     return true;
  325. }
  326.  
  327. forward HideTD(playerid);
  328. public HideTD(playerid)
  329. {
  330.     TextDrawHideForPlayer(playerid, Textdraw0);
  331.     TextDrawHideForPlayer(playerid, Speed[playerid]);
  332.     TextDrawHideForPlayer(playerid, Textdraw13);
  333.     TextDrawHideForPlayer(playerid, Textdraw14);
  334.     TextDrawHideForPlayer(playerid, Textdraw15);
  335.     TextDrawHideForPlayer(playerid, Textdraw1);
  336.     TextDrawHideForPlayer(playerid, Textdraw2);
  337.     TextDrawHideForPlayer(playerid, Textdraw3);
  338.     TextDrawHideForPlayer(playerid, Textdraw4);
  339.     TextDrawHideForPlayer(playerid, Textdraw5);
  340.     TextDrawHideForPlayer(playerid, Textdraw6);
  341.     TextDrawHideForPlayer(playerid, Textdraw7);
  342.     TextDrawHideForPlayer(playerid, Textdraw8);
  343.     TextDrawHideForPlayer(playerid, Textdraw9);
  344.     TextDrawHideForPlayer(playerid, Textdraw10);
  345.     TextDrawHideForPlayer(playerid, Textdraw11);
  346.     return true;
  347. }
Advertisement
Add Comment
Please, Sign In to add comment