CaptainBoi

Realistic Transmission Speedometer v2.0

Jun 18th, 2018
1,403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 19.48 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. /**************************
  3.             Credits  
  4.    ZCMD: Zeex
  5.  
  6.    foreach: Kar & Y_Less
  7.  
  8.    SpeedoMeter: CaptainBoi
  9.  **************************/
  10.  
  11. /* Includes */
  12. #include <a_samp>
  13. #include <foreach>
  14. #include <zcmd>
  15.  
  16. /* Text Variables */
  17. new Text:speedometer[12];
  18. new PlayerText:speedometers[MAX_PLAYERS][6];
  19.  
  20. /* Vehice Fuel */
  21. #define MAX_FUEL 100.0
  22. #define MAX_COST 1
  23. new Float:Gas[MAX_VEHICLES + 1] = {MAX_FUEL, ...};
  24. new Filling[MAX_PLAYERS];
  25.  
  26. /* Vehicle Names */
  27. new vehName[][] =
  28. {
  29.     "Landstalker",
  30.     "Bravura",
  31.     "Buffalo",
  32.     "Linerunner",
  33.     "Perennial",
  34.     "Sentinel",
  35.     "Dumper",
  36.     "Firetruck",
  37.     "Trashmaster",
  38.     "Stretch",
  39.     "Manana",
  40.     "Infernus",
  41.     "Voodoo",
  42.     "Pony",
  43.     "Mule",
  44.     "Cheetah",
  45.     "Ambulance",
  46.     "Leviathan",
  47.     "Moonbeam",
  48.     "Esperanto",
  49.     "Taxi",
  50.     "Washington",
  51.     "Bobcat",
  52.     "Whoopee",
  53.     "BF Injection",
  54.     "Hunter",
  55.     "Premier",
  56.     "Enforcer",
  57.     "Securicar",
  58.     "Banshee",
  59.     "Predator",
  60.     "Bus",
  61.     "Rhino",
  62.     "Barracks",
  63.     "Hotknife",
  64.     "Trailer",
  65.     "Previon",
  66.     "Coach",
  67.     "Cabbie",
  68.     "Stallion",
  69.     "Rumpo",
  70.     "RC Bandit",
  71.     "Romero",
  72.     "Packer",
  73.     "Monster",
  74.     "Admiral",
  75.     "Squalo",
  76.     "Seasparrow",
  77.     "Pizzaboy",
  78.     "Tram",
  79.     "Trailer",
  80.     "Turismo",
  81.     "Speeder",
  82.     "Reefer",
  83.     "Tropic",
  84.     "Flatbed",
  85.     "Yankee",
  86.     "Caddy",
  87.     "Solair",
  88.     "Berkley's RC Van",
  89.     "Skimmer",
  90.     "PCJ-600",
  91.     "Faggio",
  92.     "Freeway",
  93.     "RC Baron",
  94.     "RC Raider",
  95.     "Glendale",
  96.     "Oceanic",
  97.     "Sanchez",
  98.     "Sparrow",
  99.     "Patriot",
  100.     "Quad",
  101.     "Coastguard",
  102.     "Dinghy",
  103.     "Hermes",
  104.     "Sabre",
  105.     "Rustler",
  106.     "ZR-350",
  107.     "Walton",
  108.     "Regina",
  109.     "Comet",
  110.     "BMX",
  111.     "Burrito",
  112.     "Camper",
  113.     "Marquis",
  114.     "Baggage",
  115.     "Dozer",
  116.     "Maverick",
  117.     "News Chopper",
  118.     "Rancher",
  119.     "FBI Rancher",
  120.     "Virgo",
  121.     "Greenwood",
  122.     "Jetmax",
  123.     "Hotring",
  124.     "Sandking",
  125.     "Blista Compact",
  126.     "Police Maverick",
  127.     "Boxville",
  128.     "Benson",
  129.     "Mesa",
  130.     "RC Goblin",
  131.     "Hotring Racer A",
  132.     "Hotring Racer B",
  133.     "Bloodring Banger",
  134.     "Rancher",
  135.     "Super GT",
  136.     "Elegant",
  137.     "Journey",
  138.     "Bike",
  139.     "Mountain Bike",
  140.     "Beagle",
  141.     "Cropduster",
  142.     "Stunt",
  143.     "Tanker",
  144.     "Roadtrain",
  145.     "Nebula",
  146.     "Majestic",
  147.     "Buccaneer",
  148.     "Shamal",
  149.     "Hydra",
  150.     "FCR-900",
  151.     "NRG-500",
  152.     "HPV1000",
  153.     "Cement Truck",
  154.     "Tow Truck",
  155.     "Fortune",
  156.     "Cadrona",
  157.     "FBI Truck",
  158.     "Willard",
  159.     "Forklift",
  160.     "Tractor",
  161.     "Combine",
  162.     "Feltzer",
  163.     "Remington",
  164.     "Slamvan",
  165.     "Blade",
  166.     "Freight",
  167.     "Streak",
  168.     "Vortex",
  169.     "Vincent",
  170.     "Bullet",
  171.     "Clover",
  172.     "Sadler",
  173.     "Firetruck",
  174.     "Hustler",
  175.     "Intruder",
  176.     "Primo",
  177.     "Cargobob",
  178.     "Tampa",
  179.     "Sunrise",
  180.     "Merit",
  181.     "Utility",
  182.     "Nevada",
  183.     "Yosemite",
  184.     "Windsor",
  185.     "Monster",
  186.     "Monster",
  187.     "Uranus",
  188.     "Jester",
  189.     "Sultan",
  190.     "Stratium",
  191.     "Elegy",
  192.     "Raindance",
  193.     "RC Tiger",
  194.     "Flash",
  195.     "Tahoma",
  196.     "Savanna",
  197.     "Bandito",
  198.     "Freight Flat",
  199.     "Streak Carriage",
  200.     "Kart",
  201.     "Mower",
  202.     "Dune",
  203.     "Sweeper",
  204.     "Broadway",
  205.     "Tornado",
  206.     "AT-400",
  207.     "DFT-30",
  208.     "Huntley",
  209.     "Stafford",
  210.     "BF-400",
  211.     "News Van",
  212.     "Tug",
  213.     "Trailer",
  214.     "Emperor",
  215.     "Wayfarer",
  216.     "Euros",
  217.     "Hotdog",
  218.     "Club",
  219.     "Freight Box",
  220.     "Trailer",
  221.     "Andromada",
  222.     "Dodo",
  223.     "RC Cam",
  224.     "Launch",
  225.     "Police",
  226.     "Police",
  227.     "Police",
  228.     "Ranger",
  229.     "Picador",
  230.     "S.W.A.T",
  231.     "Alpha",
  232.     "Phoenix",
  233.     "Glendale Shit",
  234.     "Sadler Shit",
  235.     "Luggage",
  236.     "Luggage",
  237.     "Stairs",
  238.     "Boxville",
  239.     "Tiller",
  240.     "Utility Trailer"
  241. };
  242.  
  243. Float:GetPlayerSpeed(playerid)
  244. {
  245.     new Float:px, Float:py, Float:pz;
  246.     GetVehicleVelocity(GetPlayerVehicleID(playerid), px, py, pz);
  247.     return floatsqroot(floatpower(floatabs(px), 2.0) + floatpower(floatabs(py), 2.0) + floatpower(floatabs(pz), 2.0)) * 100;
  248. }
  249.  
  250. new bool:False = false, txdstring[1000];
  251. /* TextDrawSetString With String */
  252. /* PlayerTextDrawSetString With String */
  253. #define PlayerTextDrawSetStrings(%1,%2,%3,%4)\
  254. do{\
  255.     format(txdstring, sizeof (txdstring), (%3), %4);\
  256.     PlayerTextDrawSetString((%1), (%2), txdstring);\
  257. }\
  258. while (False)
  259.  
  260. IsVehicleDrivingBackwards(vehicleid)
  261. {
  262.     new Float:Float[3];
  263.     if(GetVehicleVelocity(vehicleid, Float[1], Float[2], Float[0]))
  264.     {
  265.         GetVehicleZAngle(vehicleid, Float[0]);
  266.         if(Float[0] < 90)
  267.         {
  268.             if(Float[1] > 0 && Float[2] < 0) return true;
  269.         }
  270.         else if(Float[0] < 180)
  271.         {
  272.             if(Float[1] > 0 && Float[2] > 0) return true;
  273.         }
  274.         else if(Float[0] < 270)
  275.         {
  276.             if(Float[1] < 0 && Float[2] > 0) return true;
  277.         }
  278.         else if(Float[1] < 0 && Float[2] < 0) return true;
  279.     }
  280.     return false;
  281. }
  282.  
  283. forward FuelUpdate();
  284. public FuelUpdate()
  285. {
  286.     new vehicleid, Float:temp1;
  287.     foreach(new i: Player)
  288.     {
  289.         if (IsPlayerConnected(i))
  290.         {
  291.             if (GetPlayerState(i) == PLAYER_STATE_DRIVER)
  292.             {
  293.                 vehicleid = GetPlayerVehicleID(i);
  294.                 temp1 = GetPlayerSpeed(i);
  295.                 if (Filling[i] == 1)
  296.                 {
  297.                     if (Gas[vehicleid] < MAX_FUEL)
  298.                     {
  299.                         if (GetPlayerMoney(i) >= MAX_COST)
  300.                         {
  301.                             GivePlayerMoney(i, -MAX_COST);
  302.                             if (Gas[vehicleid] <= MAX_FUEL-1.0)
  303.                             {
  304.                                 Gas[vehicleid] += 1.0;
  305.                             }
  306.                             else
  307.                             {
  308.                                 Gas[vehicleid] = MAX_FUEL;
  309.                             }
  310.                         }
  311.                         else
  312.                         {
  313.                             Filling[i] = 0;
  314.                             SendClientMessage(i, 0xFFFF0000, "You don't have enough money to continue refueling.");
  315.                         }
  316.                         if (Gas[vehicleid] == MAX_FUEL)
  317.                         {
  318.                             Filling[i] = 0;
  319.                             SendClientMessage(i, 0xFFFFFF00, "Your vehicle is now fully refueld.");
  320.                         }
  321.                     }
  322.                 }
  323.                 else if (VehicleTakesFuel(vehicleid))
  324.                 {
  325.                     if (floatround(Gas[vehicleid]) > 0)
  326.                     {
  327.                         Gas[vehicleid] -= temp1 / 6000.0;
  328.                         if (floatround(Gas[vehicleid]) <= 0)
  329.                         {
  330.                             new engine, lights, alarm, doors, bonnet, boot, objective;
  331.                             GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  332.                             SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
  333.                             SendClientMessage(i, 0xFFFFFFF, "Your vehicle ran out of fuel!");
  334.                         }
  335.                     }
  336.                 }
  337.                 else if (Filling[i] == 1) Filling[i] = 0;
  338.             }
  339.         }
  340.     }
  341. }
  342. VehicleTakesFuel(vehicleid)
  343. {
  344.     switch (GetVehicleModel(vehicleid))
  345.     {
  346.         case 430, 446, 449, 452, 453, 454, 460, 472, 473, 481, 484, 493, 509, 510, 537, 538, 539, 595: return false;
  347.     }
  348.     return true;
  349. }
  350. UpdatePlayerSpeedo(playerid)
  351. {
  352.     new Float:health;
  353.     GetVehicleHealth(GetPlayerVehicleID(playerid), health);
  354.     PlayerTextDrawSetPreviewModel(playerid, speedometers[playerid][5], GetVehicleModel(GetPlayerVehicleID(playerid)));
  355.     PlayerTextDrawSetStrings(playerid, speedometers[playerid][2], "%d%", floatround(health));
  356.     PlayerTextDrawSetStrings(playerid, speedometers[playerid][4], "%d KPH", floatround(GetPlayerSpeed(playerid)));
  357.     PlayerTextDrawSetStrings(playerid, speedometers[playerid][0], "%s", vehName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
  358.     if(Gas[GetPlayerVehicleID(playerid)] <= 10)
  359.     {
  360.         PlayerTextDrawSetStrings(playerid, speedometers[playerid][3], "~r~%d%", floatround(Gas[GetPlayerVehicleID(playerid)]));
  361.     }
  362.     else
  363.     {
  364.         PlayerTextDrawSetStrings(playerid, speedometers[playerid][3], "~w~%d%", floatround(Gas[GetPlayerVehicleID(playerid)]));
  365.     }
  366.     if(GetPlayerSpeed(playerid) == 0)
  367.     {
  368.         PlayerTextDrawSetString(playerid, speedometers[playerid][1], "~g~P");
  369.     }
  370.     else if(IsVehicleDrivingBackwards(GetPlayerVehicleID(playerid)))
  371.     {
  372.         PlayerTextDrawSetString(playerid, speedometers[playerid][1],  "~p~R");
  373.     }
  374.     if(GetPlayerSpeed(playerid) > 20)
  375.     {
  376.      PlayerTextDrawSetString(playerid, speedometers[playerid][1], "1");
  377.     }
  378.     if(GetPlayerSpeed(playerid) > 40)
  379.     {
  380.      PlayerTextDrawSetString(playerid, speedometers[playerid][1], "2");
  381.     }
  382.     if(GetPlayerSpeed(playerid) > 60)
  383.     {
  384.      PlayerTextDrawSetString(playerid, speedometers[playerid][1], "3");
  385.     }
  386.     if(GetPlayerSpeed(playerid) > 100)
  387.     {
  388.      PlayerTextDrawSetString(playerid, speedometers[playerid][1], "4");
  389.     }
  390.     if(GetPlayerSpeed(playerid) > 120)
  391.     {
  392.      PlayerTextDrawSetString(playerid, speedometers[playerid][1], "5");
  393.     }
  394. }
  395.  
  396. CreateTextdrawMeter(playerid)
  397. {
  398.     speedometer[0] = TextDrawCreate(641.531494, 385.916687, "usebox");
  399.     TextDrawLetterSize(speedometer[0], 0.000000, 6.683333);
  400.     TextDrawTextSize(speedometer[0], 499.786224, 0.000000);
  401.     TextDrawAlignment(speedometer[0], 1);
  402.     TextDrawColor(speedometer[0], 0);
  403.     TextDrawUseBox(speedometer[0], true);
  404.     TextDrawBoxColor(speedometer[0], 102);
  405.     TextDrawSetShadow(speedometer[0], 0);
  406.     TextDrawSetOutline(speedometer[0], 0);
  407.     TextDrawFont(speedometer[0], 0);
  408.  
  409.     speedometer[1] = TextDrawCreate(641.531494, 385.916687, "usebox");
  410.     TextDrawLetterSize(speedometer[1], 0.000000, -0.251854);
  411.     TextDrawTextSize(speedometer[1], 500.254760, 0.000000);
  412.     TextDrawAlignment(speedometer[1], 1);
  413.     TextDrawColor(speedometer[1], 0);
  414.     TextDrawUseBox(speedometer[1], true);
  415.     TextDrawBoxColor(speedometer[1], 255);
  416.     TextDrawSetShadow(speedometer[1], 0);
  417.     TextDrawSetOutline(speedometer[1], 0);
  418.     TextDrawFont(speedometer[1], 0);
  419.  
  420.     speedometer[2] = TextDrawCreate(642.531494, 447.583374, "usebox");
  421.     TextDrawLetterSize(speedometer[2], 0.000000, -0.251854);
  422.     TextDrawTextSize(speedometer[2], 500.254791, 0.000000);
  423.     TextDrawAlignment(speedometer[2], 1);
  424.     TextDrawColor(speedometer[2], 0);
  425.     TextDrawUseBox(speedometer[2], true);
  426.     TextDrawBoxColor(speedometer[2], 255);
  427.     TextDrawSetShadow(speedometer[2], 0);
  428.     TextDrawSetOutline(speedometer[2], 0);
  429.     TextDrawFont(speedometer[2], 0);
  430.  
  431.     speedometer[3] = TextDrawCreate(638.720336, 391.750000, "usebox");
  432.     TextDrawLetterSize(speedometer[3], 0.000000, 5.451854);
  433.     TextDrawTextSize(speedometer[3], 596.770141, 0.000000);
  434.     TextDrawAlignment(speedometer[3], 1);
  435.     TextDrawColor(speedometer[3], 0);
  436.     TextDrawUseBox(speedometer[3], true);
  437.     TextDrawBoxColor(speedometer[3], 255);
  438.     TextDrawSetShadow(speedometer[3], 0);
  439.     TextDrawSetOutline(speedometer[3], 0);
  440.     TextDrawFont(speedometer[3], 0);
  441.  
  442.     speedometer[4] = TextDrawCreate(638.251831, 442.500000, "usebox");
  443.     TextDrawLetterSize(speedometer[4], 0.000000, -0.187034);
  444.     TextDrawTextSize(speedometer[4], 596.770141, 0.000000);
  445.     TextDrawAlignment(speedometer[4], 1);
  446.     TextDrawColor(speedometer[4], 0);
  447.     TextDrawUseBox(speedometer[4], true);
  448.     TextDrawBoxColor(speedometer[4], -1378294017);
  449.     TextDrawSetShadow(speedometer[4], 0);
  450.     TextDrawSetOutline(speedometer[4], 0);
  451.     TextDrawFont(speedometer[4], 0);
  452.  
  453.     speedometer[5] = TextDrawCreate(639.251831, 391.583312, "usebox");
  454.     TextDrawLetterSize(speedometer[5], 0.000000, -0.187034);
  455.     TextDrawTextSize(speedometer[5], 596.770141, 0.000000);
  456.     TextDrawAlignment(speedometer[5], 1);
  457.     TextDrawColor(speedometer[5], 0);
  458.     TextDrawUseBox(speedometer[5], true);
  459.     TextDrawBoxColor(speedometer[5], -1378294017);
  460.     TextDrawSetShadow(speedometer[5], 0);
  461.     TextDrawSetOutline(speedometer[5], 0);
  462.     TextDrawFont(speedometer[5], 0);
  463.  
  464.     speedometer[6] = TextDrawCreate(562.225524, 402.500030, "ld_pool:ball");
  465.     TextDrawLetterSize(speedometer[6], 0.000000, 0.000000);
  466.     TextDrawTextSize(speedometer[6], 29.985385, 34.416698);
  467.     TextDrawAlignment(speedometer[6], 1);
  468.     TextDrawColor(speedometer[6], 255);
  469.     TextDrawSetShadow(speedometer[6], 0);
  470.     TextDrawSetOutline(speedometer[6], 0);
  471.     TextDrawFont(speedometer[6], 4);
  472.  
  473.     speedometer[7] = TextDrawCreate(565.568176, 406.416687, "ld_pool:ball");
  474.     TextDrawLetterSize(speedometer[7], 0.000000, 0.000000);
  475.     TextDrawTextSize(speedometer[7], 22.957569, 25.666696);
  476.     TextDrawAlignment(speedometer[7], 1);
  477.     TextDrawColor(speedometer[7], -1378294017);
  478.     TextDrawSetShadow(speedometer[7], 0);
  479.     TextDrawSetOutline(speedometer[7], 0);
  480.     TextDrawFont(speedometer[7], 4);
  481.  
  482.     speedometer[8] = TextDrawCreate(635.440734, 422.083312, "usebox");
  483.     TextDrawLetterSize(speedometer[8], 0.000000, 1.393517);
  484.     TextDrawTextSize(speedometer[8], 600.049804, 0.000000);
  485.     TextDrawAlignment(speedometer[8], 1);
  486.     TextDrawColor(speedometer[8], 0);
  487.     TextDrawUseBox(speedometer[8], true);
  488.     TextDrawBoxColor(speedometer[8], -1061109505);
  489.     TextDrawSetShadow(speedometer[8], 0);
  490.     TextDrawSetOutline(speedometer[8], 0);
  491.     TextDrawFont(speedometer[8], 0);
  492.  
  493.     speedometer[9] = TextDrawCreate(562.351440, 401.666687, "usebox");
  494.     TextDrawLetterSize(speedometer[9], 0.000000, -0.187041);
  495.     TextDrawTextSize(speedometer[9], 503.534393, 0.000000);
  496.     TextDrawAlignment(speedometer[9], 1);
  497.     TextDrawColor(speedometer[9], 0);
  498.     TextDrawUseBox(speedometer[9], true);
  499.     TextDrawBoxColor(speedometer[9], -5963521);
  500.     TextDrawSetShadow(speedometer[9], 0);
  501.     TextDrawSetOutline(speedometer[9], 0);
  502.     TextDrawFont(speedometer[9], 0);
  503.  
  504.     speedometer[10] = TextDrawCreate(563.288452, 401.666687, "usebox");
  505.     TextDrawLetterSize(speedometer[10], 0.000000, 4.220367);
  506.     TextDrawTextSize(speedometer[10], 502.597351, 0.000000);
  507.     TextDrawAlignment(speedometer[10], 1);
  508.     TextDrawColor(speedometer[10], 0);
  509.     TextDrawUseBox(speedometer[10], true);
  510.     TextDrawBoxColor(speedometer[10], 102);
  511.     TextDrawSetShadow(speedometer[10], 0);
  512.     TextDrawSetOutline(speedometer[10], 0);
  513.     TextDrawFont(speedometer[10], 0);
  514.  
  515.     speedometer[11] = TextDrawCreate(563.351379, 438.833435, "usebox");
  516.     TextDrawLetterSize(speedometer[11], 0.000000, -0.187041);
  517.     TextDrawTextSize(speedometer[11], 503.534423, 0.000000);
  518.     TextDrawAlignment(speedometer[11], 1);
  519.     TextDrawColor(speedometer[11], 0);
  520.     TextDrawUseBox(speedometer[11], true);
  521.     TextDrawBoxColor(speedometer[11], -5963521);
  522.     TextDrawSetShadow(speedometer[11], 0);
  523.     TextDrawSetOutline(speedometer[11], 0);
  524.     TextDrawFont(speedometer[11], 0);
  525.    
  526.     speedometers[playerid][0] = CreatePlayerTextDraw(playerid, 503.660400, 386.166717, "Balista Compact");
  527.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][0], 0.216676, 1.349166);
  528.     PlayerTextDrawAlignment(playerid, speedometers[playerid][0], 1);
  529.     PlayerTextDrawColor(playerid, speedometers[playerid][0], -1);
  530.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][0], 0);
  531.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][0], 1);
  532.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][0], 51);
  533.     PlayerTextDrawFont(playerid, speedometers[playerid][0], 1);
  534.     PlayerTextDrawSetProportional(playerid, speedometers[playerid][0], 1);
  535.  
  536.     speedometers[playerid][1] = CreatePlayerTextDraw(playerid, 573.469909, 413.000000, "1");
  537.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][1], 0.415797, 1.279166);
  538.     PlayerTextDrawAlignment(playerid, speedometers[playerid][1], 1);
  539.     PlayerTextDrawColor(playerid, speedometers[playerid][1], -1);
  540.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][1], 0);
  541.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][1], 1);
  542.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][1], 51);
  543.     PlayerTextDrawFont(playerid, speedometers[playerid][1], 2);
  544.     PlayerTextDrawSetProportional(playerid, speedometers[playerid][1], 1);
  545.  
  546.     speedometers[playerid][2] = CreatePlayerTextDraw(playerid, 600.707336, 394.749877, "1000%");
  547.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][2], 0.213396, 0.946666);
  548.     PlayerTextDrawAlignment(playerid, speedometers[playerid][2], 1);
  549.     PlayerTextDrawColor(playerid, speedometers[playerid][2], -1);
  550.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][2], 0);
  551.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][2], 1);
  552.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][2], 51);
  553.     PlayerTextDrawFont(playerid, speedometers[playerid][2], 2);
  554.     PlayerTextDrawSetProportional(playerid, speedometers[playerid][2], 1);
  555.  
  556.     speedometers[playerid][3] = CreatePlayerTextDraw(playerid, 600.770324, 405.666595, "100%");
  557.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][3], 0.213396, 0.946666);
  558.     PlayerTextDrawAlignment(playerid, speedometers[playerid][3], 1);
  559.     PlayerTextDrawColor(playerid, speedometers[playerid][3], -1);
  560.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][3], 0);
  561.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][3], 1);
  562.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][3], 51);
  563.     PlayerTextDrawFont(playerid, speedometers[playerid][3], 2);
  564.     PlayerTextDrawSetProportional(playerid, speedometers[playerid][3], 1);
  565.  
  566.     speedometers[playerid][4] = CreatePlayerTextDraw(playerid, 604.112854, 423.583282, "200 KPH");
  567.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][4], 0.146866, 0.981666);
  568.     PlayerTextDrawAlignment(playerid, speedometers[playerid][4], 1);
  569.     PlayerTextDrawColor(playerid, speedometers[playerid][4], -1);
  570.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][4], 0);
  571.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][4], 1);
  572.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][4], 51);
  573.     PlayerTextDrawFont(playerid, speedometers[playerid][4], 2);
  574.     PlayerTextDrawSetProportional(playerid, speedometers[playerid][4], 1);
  575.  
  576.     speedometers[playerid][5] = CreatePlayerTextDraw(playerid, 500.849029, 390.249908, "LD_SPAC:white");
  577.     PlayerTextDrawLetterSize(playerid, speedometers[playerid][5], 0.001874, 3.179740);
  578.     PlayerTextDrawTextSize(playerid, speedometers[playerid][5], 56.691085, 57.166656);
  579.     PlayerTextDrawAlignment(playerid, speedometers[playerid][5], 1);
  580.     PlayerTextDrawColor(playerid, speedometers[playerid][5], -1);
  581.     PlayerTextDrawUseBox(playerid, speedometers[playerid][5], true);
  582.     PlayerTextDrawBoxColor(playerid, speedometers[playerid][5], 0);
  583.     PlayerTextDrawSetShadow(playerid, speedometers[playerid][5], 0);
  584.     PlayerTextDrawSetOutline(playerid, speedometers[playerid][5], 0);
  585.     PlayerTextDrawFont(playerid, speedometers[playerid][5], 5);
  586.     PlayerTextDrawBackgroundColor(playerid, speedometers[playerid][5], 0x00000000);
  587.     PlayerTextDrawSetPreviewModel(playerid, speedometers[playerid][5], 411);
  588.     PlayerTextDrawSetPreviewRot(playerid, speedometers[playerid][5], 0.000000, 0.000000, 25.000000, 1.000000);
  589. }
  590.  
  591. public OnFilterScriptInit()
  592. {
  593.     print("\n--------------------------------------");
  594.     print(" Realistic SpeedoMeter By CaptainBoi");
  595.     print("--------------------------------------\n");
  596.     SetTimer("FuelUpdate", 300, 1);
  597.     return 1;
  598. }
  599.  
  600. public OnFilterScriptExit()
  601. {
  602.     return 1;
  603. }
  604.  
  605. public OnPlayerConnect(playerid)
  606. {
  607.     CreateTextdrawMeter(playerid);
  608.     return 1;
  609. }
  610.  
  611. public OnPlayerDisconnect(playerid, reason)
  612. {
  613.     return 1;
  614. }
  615.  
  616. public OnPlayerStateChange(playerid, newstate, oldstate)
  617. {
  618.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
  619.     {
  620.         for(new i;i<12;i++) {TextDrawShowForPlayer(playerid, speedometer[i]);}
  621.         for(new ii;ii<6;ii++) {PlayerTextDrawShow(playerid, speedometers[playerid][ii]);}
  622.         UpdatePlayerSpeedo(playerid);
  623.     }
  624.     else
  625.     {
  626.         for(new i;i<12;i++) {TextDrawHideForPlayer(playerid, speedometer[i]);}
  627.         for(new ii;ii<6;ii++) {PlayerTextDrawHide(playerid, speedometers[playerid][ii]);}
  628.     }
  629.     return 1;
  630. }
  631.  
  632. public OnPlayerUpdate(playerid)
  633. {
  634.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
  635.     {
  636.         UpdatePlayerSpeedo(playerid);
  637.     }
  638.     return 1;
  639. }
  640.  
  641. CMD:refuel(playerid, params[])
  642. {
  643.     new moneys1;
  644.     if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFFFF0000, "You must be the driver of a vehicle!");
  645.     moneys1 = GetPlayerVehicleID(playerid);
  646.     if (!VehicleTakesFuel(moneys1)) return SendClientMessage(playerid, 0xFFFF0000, "Error: This vehicle dont run on fuel its not contains a engine!");
  647.     if (Gas[moneys1] == MAX_FUEL) return SendClientMessage(playerid, 0xFFFFFFFF, "Error: Your vehicle dont need more fuel its full now.");
  648.     if (GetPlayerMoney(playerid) < MAX_COST)
  649.     {
  650.        return SendClientMessage(playerid, 0xFFFF0000, "Error: You don't have enough cash!");
  651.     }
  652.     if (Filling[playerid] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "Error: You are already refueling your vehicle.");
  653.     Filling[playerid] = 1;
  654.     SendClientMessage(playerid, 0xFF00FF00, "Refueling your vehicle.");
  655.     return 1;
  656. }
Add Comment
Please, Sign In to add comment