Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.75 KB | None | 0 0
  1. // INCLUDES //
  2. #include <a_samp>
  3.  
  4. // TEXTDRAWS //
  5. new PlayerText: VehicleName[MAX_PLAYERS],
  6. PlayerText: VehicleSpeed[MAX_PLAYERS],
  7. PlayerText: VehicleHealth[MAX_PLAYERS];
  8.  
  9. // VEHICLE ARRAY //
  10. new Vehicles[212][]=
  11. {
  12. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"}, {"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},
  13. {"Washington"},{"Bobcat"},{"Mr. Whoopee"},{"BF. Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Article Trailer"},{"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  14. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Article Trailer 2"},{"Turismo"},{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},{"Sanchez"},
  15. {"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},
  16. {"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},{"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},
  17. {"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},{"Vortex"},
  18. {"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},
  19. {"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Dunerider"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Article Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Mobile Hotdog"},
  20. {"Club"},{"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T Van"},{"Alpha"},{"Phoenix"},{"Glendale"},{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},
  21. {"Boxville"},{"Farm Plow"},{"Utility Trailer"}
  22. };
  23.  
  24. public OnFilterScriptInit()
  25. {
  26. print("\n--Loaded Simple Speedometer and Vehicle Health System by FreAkeD!--\n");
  27. return 1;
  28. }
  29.  
  30. public OnPlayerConnect(playerid)
  31. {
  32. for(new i = 0; i < MAX_PLAYERS; i++)
  33. {
  34. VehicleName[i] = CreatePlayerTextDraw(i, 53.799999, 436, "Vehicle: ~g~"); // Vehicle name (displays 1st)
  35. PlayerTextDrawLetterSize(i, VehicleName[i], 0.2, 0.999);
  36. PlayerTextDrawAlignment(i, VehicleName[i], 2);
  37. PlayerTextDrawColor(i, VehicleName[i], -1);
  38. PlayerTextDrawSetOutline(i, VehicleName[i], 1);
  39. PlayerTextDrawFont(i, VehicleName[i], 1);
  40. PlayerTextDrawUseBox(i, VehicleName[i], 1);
  41. PlayerTextDrawBoxColor(i, VehicleName[i], 0x00000088);
  42.  
  43. VehicleSpeed[i] = CreatePlayerTextDraw(i, 128.799999, 436, "Speed: ~y~0 ~g~KM/H"); // Vehicle speed in KM/H (displays 2nd)
  44. PlayerTextDrawLetterSize(i, VehicleSpeed[i], 0.2, 0.999);
  45. PlayerTextDrawAlignment(i, VehicleSpeed[i], 2);
  46. PlayerTextDrawColor(i, VehicleSpeed[i], -1);
  47. PlayerTextDrawSetOutline(i, VehicleSpeed[i], 1);
  48. PlayerTextDrawFont(i, VehicleSpeed[i], 1);
  49.  
  50. VehicleHealth[i] = CreatePlayerTextDraw(i, 175.799999, 436, "Vehicle Health: ~g~0"); // Vehicle health as percentage (displays last)
  51. PlayerTextDrawBackgroundColor(i, VehicleHealth[i], 255);
  52. PlayerTextDrawFont(i, VehicleHealth[i], 1);
  53. PlayerTextDrawLetterSize(i, VehicleHealth[i], 0.2, 0.999);
  54. PlayerTextDrawColor(i, VehicleHealth[i], -1);
  55. PlayerTextDrawSetOutline(i, VehicleHealth[i], 1);
  56. PlayerTextDrawSetProportional(i, VehicleHealth[i], 1);
  57. }
  58. return 1;
  59. }
  60.  
  61. public OnPlayerDisconnect(playerid, reason)
  62. {
  63. for(new i = 0; i < MAX_PLAYERS; i++)
  64. {
  65. if(IsPlayerConnected(i))
  66. {
  67. PlayerTextDrawDestroy(i, VehicleName[i]);
  68. PlayerTextDrawDestroy(i, VehicleSpeed[i]);
  69. PlayerTextDrawDestroy(i, VehicleHealth[i]);
  70. }
  71.  
  72. }
  73. return 1;
  74. }
  75.  
  76. public OnPlayerStateChange(playerid, newstate, oldstate)
  77. {
  78. // Showing the textdraw if the player is in the vehicle.
  79. // If the player decides to leave the vehicle, the textdraw will not display.
  80. new getvname[50];
  81. if(oldstate-1 && newstate) PlayerTextDrawHide(playerid, VehicleName[playerid]);
  82. else if(newstate-1) PlayerTextDrawShow(playerid, VehicleName[playerid]), format(getvname, sizeof(getvname), "Vehicle: ~g~%s", Vehicles[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]), PlayerTextDrawSetString(playerid, VehicleName[playerid], getvname);
  83.  
  84. if(oldstate-1 && newstate) PlayerTextDrawHide(playerid, VehicleSpeed[playerid]);
  85. else if(newstate-1) PlayerTextDrawShow(playerid, VehicleSpeed[playerid]);
  86.  
  87. if(oldstate-1 && newstate) PlayerTextDrawHide(playerid, VehicleHealth[playerid]);
  88. else if(newstate-1) PlayerTextDrawShow(playerid, VehicleHealth[playerid]);
  89. return 1;
  90. }
  91.  
  92. public OnPlayerUpdate(playerid)
  93. {
  94. for(new i = 0; i < MAX_PLAYERS; i++)
  95. {
  96. if(IsPlayerConnected(i))
  97. {
  98. if(IsPlayerInAnyVehicle(playerid))
  99. {
  100. // Getting the vehicles speed in km/h
  101. new vspeed[25];
  102. format(vspeed, sizeof(vspeed), "Speed: ~y~%d ~g~KM/H", GetVehicleSpeed(i));
  103. PlayerTextDrawSetString(i, VehicleSpeed[i], vspeed);
  104.  
  105. // Getting the vehicles health (shown as percentage)
  106. new vhealthtd[32], Float:vHealth;
  107. GetVehicleHealth(GetPlayerVehicleID(playerid), vHealth);
  108. new Float:percentage = (((vHealth - 250.0) / (1000.0 - 250.0)) * 100.0);
  109.  
  110. format(vhealthtd, sizeof(vhealthtd), "Vehicle Health: ~g~%.0f", percentage);
  111. PlayerTextDrawSetString(i, VehicleHealth[i], vhealthtd);
  112. }
  113. }
  114. }
  115. return 1;
  116. }
  117.  
  118. // STOCKS //
  119.  
  120. // GETVEHICLESPEED STOCK //
  121. stock GetVehicleSpeed(playerid)
  122. {
  123. new Float:Pos[4];
  124. GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  125. Pos[3] = floatsqroot(floatpower(floatabs(Pos[0]), 2) + floatpower(floatabs(Pos[1]), 2) + floatpower(floatabs(Pos[2]), 2)) * 181.5;
  126. return floatround(Pos[3]);
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement