Guest User

j_Speedo Fixed

a guest
Oct 11th, 2012
925
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.02 KB | None | 0 0
  1. /*
  2. Filterscript Speedo-meter created by Jarnu
  3. Designed for SA-MP Version 0.3e.
  4.  
  5. Instructions:
  6. -Compile the .pwn
  7. -Put j_speedo on filterscript line in server.cfg
  8. -Run the server! Enjoy!
  9.  
  10. Disclaimer:
  11. You have full rights to this file, but only with credits of owner i.e. Jarnu
  12. */
  13.  
  14. #include <a_samp>
  15.  
  16. new Text:vSpeed[MAX_PLAYERS];
  17. new Text:Vehicle[MAX_PLAYERS];
  18. new Text:vHealth[MAX_PLAYERS];
  19. new Text:Textdraw3;
  20. new Text:Textdraw4;
  21. new Text:Textdraw5;
  22. new Text:Textdraw6;
  23. new Speed[MAX_PLAYERS];
  24.  
  25. /*
  26. Vehicle names
  27. */
  28. new VehicleNames[][] =
  29. {
  30. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  31. "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  32. "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  33. "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  34. "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  35. "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  36. "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  37. "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  38. "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  39. "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  40. "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  41. "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  42. "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  43. "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  44. "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
  45. "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  46. "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  47. "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  48. "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  49. "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  50. "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  51. "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  52. "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  53. "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  54. "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  55. "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  56. "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  57. "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  58. "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  59. "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  60. "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  61. "Tiller", "Utility Trailer"
  62. };
  63. public OnFilterScriptInit()
  64. {
  65. print("Speedo-meter by Jarnu was loaded!");
  66. SetTimer("UpdateSpeed", 180, true); //Updating the speedo-meter's speed!
  67. /*
  68. About SetTimer:
  69.  
  70. SetTimer(funcname[], interval, repeating);
  71.  
  72. funcname[] = any name you wait
  73.  
  74. interval = the time.. counted in miliseconds! example 1 second = 1000 miliseconds 10 seconds = 10000 miliseconds
  75.  
  76. repeating = if you use false that will kill timer after the time is over and if true then it will loop again and again
  77.  
  78. */
  79. return 1;
  80. }
  81.  
  82. public OnFilterScriptExit()
  83. {
  84. TextDrawHideForAll(Textdraw3);
  85. TextDrawDestroy(Textdraw3);
  86. return 1;
  87. }
  88. public OnPlayerConnect(playerid)
  89. {
  90. vSpeed[playerid] = TextDrawCreate(240.000000, 370.000000, "Speed: 0 KM/H");
  91. TextDrawBackgroundColor(vSpeed[playerid], 255);
  92. TextDrawFont(vSpeed[playerid], 1);
  93. TextDrawLetterSize(vSpeed[playerid], 0.490000, 1.700000);
  94. TextDrawColor(vSpeed[playerid], -100693846);
  95. TextDrawSetOutline(vSpeed[playerid], 0);
  96. TextDrawSetProportional(vSpeed[playerid], 1);
  97. TextDrawSetShadow(vSpeed[playerid], 1);
  98.  
  99. Vehicle[playerid] = TextDrawCreate(240.000000, 387.000000, "Vehicle: -");
  100. TextDrawBackgroundColor(Vehicle[playerid], 255);
  101. TextDrawFont(Vehicle[playerid], 1);
  102. TextDrawLetterSize(Vehicle[playerid], 0.490000, 1.700000);
  103. TextDrawColor(Vehicle[playerid], -111321686);
  104. TextDrawSetOutline(Vehicle[playerid], 0);
  105. TextDrawSetProportional(Vehicle[playerid], 1);
  106. TextDrawSetShadow(Vehicle[playerid], 1);
  107.  
  108. vHealth[playerid] = TextDrawCreate(240.000000, 404.000000, "Health: -");
  109. TextDrawBackgroundColor(vHealth[playerid], 255);
  110. TextDrawFont(vHealth[playerid], 1);
  111. TextDrawLetterSize(vHealth[playerid], 0.490000, 1.700000);
  112. TextDrawColor(vHealth[playerid], 2030005418);
  113. TextDrawSetOutline(vHealth[playerid], 0);
  114. TextDrawSetProportional(vHealth[playerid], 1);
  115. TextDrawSetShadow(vHealth[playerid], 1);
  116.  
  117. Textdraw3 = TextDrawCreate(313.000000, 440.000000, "_");
  118. TextDrawAlignment(Textdraw3, 2);
  119. TextDrawBackgroundColor(Textdraw3, 255);
  120. TextDrawFont(Textdraw3, 1);
  121. TextDrawLetterSize(Textdraw3, 0.500000, -9.000000);
  122. TextDrawColor(Textdraw3, -100693846);
  123. TextDrawSetOutline(Textdraw3, 0);
  124. TextDrawSetProportional(Textdraw3, 1);
  125. TextDrawSetShadow(Textdraw3, 1);
  126. TextDrawUseBox(Textdraw3, 1);
  127. TextDrawBoxColor(Textdraw3, -222);
  128. TextDrawTextSize(Textdraw3, 0.000000, -160.000000);
  129.  
  130. Textdraw4 = TextDrawCreate(241.000000, 355.000000, "-------------------");
  131. TextDrawBackgroundColor(Textdraw4, 0xFF0000FF);
  132. TextDrawFont(Textdraw4, 1);
  133. TextDrawLetterSize(Textdraw4, 0.500000, 1.000000);
  134. TextDrawColor(Textdraw4, -1);
  135. TextDrawSetOutline(Textdraw4, 1);
  136. TextDrawSetProportional(Textdraw4, 1);
  137.  
  138. Textdraw5 = TextDrawCreate(241.000000, 430.000000, "-------------------");
  139. TextDrawBackgroundColor(Textdraw5, 0xFF0000FF);
  140. TextDrawFont(Textdraw5, 1);
  141. TextDrawLetterSize(Textdraw5, 0.500000, 1.000000);
  142. TextDrawColor(Textdraw5, -1);
  143. TextDrawSetOutline(Textdraw5, 1);
  144. TextDrawSetProportional(Textdraw5, 1);
  145.  
  146. Textdraw6 = TextDrawCreate(339.000000, 394.000000, "_");
  147. TextDrawAlignment(Textdraw6, 2);
  148. TextDrawBackgroundColor(Textdraw6, 255);
  149. TextDrawFont(Textdraw6, 1);
  150. TextDrawLetterSize(Textdraw6, 0.700000, -3.099999);
  151. TextDrawColor(Textdraw6, -1);
  152. TextDrawSetOutline(Textdraw6, 0);
  153. TextDrawSetProportional(Textdraw6, 1);
  154. TextDrawSetShadow(Textdraw6, 1);
  155. TextDrawUseBox(Textdraw6, 1);
  156. TextDrawBoxColor(Textdraw6, 85);
  157. TextDrawTextSize(Textdraw6, 43.000000, -94.000000);
  158.  
  159. return 1;
  160. }
  161. forward UpdateSpeed();
  162. public UpdateSpeed()
  163. {
  164. new Float:vHeal;
  165. for(new i = 0; i < MAX_PLAYERS; i ++)
  166. {
  167. if(IsPlayerInAnyVehicle(i))
  168. {
  169. new veh = GetPlayerVehicleID(i);
  170. GetVehicleHealth(veh, vHeal);
  171. new Float:x, Float:y, Float:z, Float:Speeed; //Defining the speed and other vars
  172. GetVehicleVelocity(GetPlayerVehicleID(i), x, y, z); //Getting the speed of the vehicle!
  173. Speeed = floatmul(floatsqroot(floatadd(floatadd(floatpower(x, 2), floatpower(y, 2)), floatpower(z, 2))), 100.0);
  174. Speed[i] = floatround(floatdiv(Speeed, 0.75), floatround_floor);
  175. TextDrawShowForPlayer(i, vSpeed[i]);
  176. TextDrawShowForPlayer(i, Vehicle[i]);
  177. TextDrawShowForPlayer(i, vHealth[i]);
  178. TextDrawShowForPlayer(i, Textdraw3);
  179. TextDrawShowForPlayer(i, Textdraw4);
  180. TextDrawShowForPlayer(i, Textdraw5);
  181. TextDrawShowForPlayer(i, Textdraw6);
  182. new str[100], str1[100], str2[100];
  183. format(str, sizeof(str),"Speed: ~y~%d KM/H", Speed[i]);
  184. TextDrawSetString(vSpeed[i], str);
  185. format(str1,sizeof(str1),"Vehicle: ~g~%s",VehicleNames[GetVehicleModel(GetPlayerVehicleID(i))-400]);
  186. TextDrawSetString(Vehicle[i], str1);
  187. format(str2, sizeof(str2),"Health: ~r~%.2f", vHeal);
  188. TextDrawSetString(vHealth[i], str2);
  189. }
  190. else if(!IsPlayerInAnyVehicle(i))
  191. {
  192. TextDrawHideForPlayer(i, vSpeed[i]);
  193. TextDrawHideForPlayer(i, Vehicle[i]);
  194. TextDrawHideForPlayer(i, vHealth[i]);
  195. TextDrawHideForPlayer(i, Textdraw3);
  196. TextDrawHideForPlayer(i, Textdraw4);
  197. TextDrawHideForPlayer(i, Textdraw5);
  198. TextDrawHideForPlayer(i, Textdraw6);
  199. }
  200. }
  201. return 1;
  202. }
Advertisement
Add Comment
Please, Sign In to add comment