CaptainBoi

Realistic Transmission Speedometer

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