Advertisement
Guest User

[FS]Velocimetro

a guest
Oct 10th, 2016
936
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.86 KB | None | 0 0
  1. //www.sampextremeoficial.blogspot.com
  2. #include <a_samp>
  3.  
  4. // (Global Textdraws velocimetro)
  5. new Text:textVelocimetro[5];
  6.  
  7. // (Player Textdraws velocimetro)
  8. new PlayerText:textPlayerVelocimetro[4][MAX_PLAYERS];
  9.  
  10. // (Vendo o velocimetro ou não)
  11. new bool:PlayerVelocimetro[MAX_PLAYERS];
  12.  
  13. // (Timer velocimetro)
  14. new PlayerVelocimetroTimer[MAX_PLAYERS];
  15.  
  16. stock Float:GetVehicleHealthEx(vehicleid)
  17. {
  18. new Float:health;
  19. GetVehicleHealth(vehicleid, health);
  20.  
  21. if ( health > 900.0) {
  22. return health / 10.0;
  23. }
  24. else return ( health / 10.0 )-(24);
  25. }
  26.  
  27. public UpdatePlayerVelocimetro(playerid) {
  28.  
  29. new playervehicle;
  30.  
  31. if ( (playervehicle = GetPlayerVehicleID(playerid)) != INVALID_VEHICLE_ID) {
  32.  
  33. new string_velo[15];
  34.  
  35. format(string_velo, sizeof (string_velo), "%02d km/h", GetVehicleSpeed(playervehicle));
  36. PlayerTextDrawSetString(playerid, textPlayerVelocimetro[1][playerid], string_velo);
  37.  
  38. format(string_velo, sizeof (string_velo), "%.0f%", GetVehicleHealthEx(playervehicle));
  39. PlayerTextDrawSetString(playerid, textPlayerVelocimetro[3][playerid], string_velo);
  40.  
  41. /* Desativado:
  42. format(string_velo, sizeof (string_velo), "%02d Litros", Combustivel[playervehicle]);
  43. PlayerTextDrawSetString(playerid, textPlayerVelocimetro[2][playerid], string_velo);
  44. */
  45. }
  46. return 1;
  47. }
  48.  
  49. public OnPlayerStateChange(playerid, newstate, oldstate) {
  50.  
  51. if ( newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) {
  52. ShowPlayerVelocimetro(playerid) ;
  53. } else {
  54. HidePlayerVelocimetro(playerid) ;
  55. }
  56. return 1;
  57. }
  58.  
  59. stock ShowPlayerVelocimetro(playerid) {
  60. if ( PlayerVelocimetro[playerid] ) {
  61. return 0;
  62. }
  63.  
  64. PlayerTextDrawSetString(playerid, textPlayerVelocimetro[0][playerid], getVehicleName(GetPlayerVehicleID(playerid)));
  65.  
  66. for( new text; text != 5; text++) TextDrawShowForPlayer(playerid, textVelocimetro[text]);
  67. for( new text; text != 4; text++) PlayerTextDrawShow(playerid, textPlayerVelocimetro[text][playerid]);
  68. PlayerVelocimetro[playerid] = true ;
  69. PlayerVelocimetroTimer[playerid] = SetTimerEx("UpdatePlayerVelocimetro", 100, true, "i", playerid);
  70. return 1;
  71. }
  72.  
  73. stock HidePlayerVelocimetro(playerid) {
  74. if ( !PlayerVelocimetro[playerid] ) {
  75. return 0;
  76. }
  77. for( new text; text != 5; text++) TextDrawHideForPlayer(playerid, textVelocimetro[text]);
  78. for( new text; text != 4; text++) PlayerTextDrawHide(playerid, textPlayerVelocimetro[text][playerid]);
  79. PlayerVelocimetro[playerid] = false ;
  80. KillTimer(PlayerVelocimetroTimer[playerid]);
  81. return 1;
  82. }
  83.  
  84. public OnPlayerConnect(playerid) {
  85.  
  86. PlayerVelocimetro[playerid] = false ;
  87.  
  88. textPlayerVelocimetro[0][playerid] = CreatePlayerTextDraw(playerid,615.000000, 385.000000, "Nenhum");
  89. PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[0][playerid], 3);
  90. PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[0][playerid], 0);
  91. PlayerTextDrawFont(playerid,textPlayerVelocimetro[0][playerid], 1);
  92. PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[0][playerid], 0.330000, 1.299999);
  93. PlayerTextDrawColor(playerid,textPlayerVelocimetro[0][playerid], -156);
  94. PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[0][playerid], 0);
  95. PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[0][playerid], 1);
  96. PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[0][playerid], 1);
  97. PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[0][playerid], 0);
  98.  
  99. textPlayerVelocimetro[1][playerid] = CreatePlayerTextDraw(playerid,615.000000, 399.000000, "000 km/h");
  100. PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[1][playerid], 3);
  101. PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[1][playerid], 0);
  102. PlayerTextDrawFont(playerid,textPlayerVelocimetro[1][playerid], 2);
  103. PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[1][playerid], 0.250000, 1.299999);
  104. PlayerTextDrawColor(playerid,textPlayerVelocimetro[1][playerid], -156);
  105. PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[1][playerid], 0);
  106. PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[1][playerid], 1);
  107. PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[1][playerid], 1);
  108. PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[1][playerid], 0);
  109.  
  110. textPlayerVelocimetro[2][playerid] = CreatePlayerTextDraw(playerid,615.000000, 413.000000, "0 litros");
  111. PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[2][playerid], 3);
  112. PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[2][playerid], 0);
  113. PlayerTextDrawFont(playerid,textPlayerVelocimetro[2][playerid], 2);
  114. PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[2][playerid], 0.250000, 1.299999);
  115. PlayerTextDrawColor(playerid,textPlayerVelocimetro[2][playerid], -156);
  116. PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[2][playerid], 0);
  117. PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[2][playerid], 1);
  118. PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[2][playerid], 1);
  119. PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[2][playerid], 0);
  120.  
  121. textPlayerVelocimetro[3][playerid] = CreatePlayerTextDraw(playerid,615.000000, 427.000000, "0%");
  122. PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[3][playerid], 3);
  123. PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[3][playerid], 0);
  124. PlayerTextDrawFont(playerid,textPlayerVelocimetro[3][playerid], 2);
  125. PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[3][playerid], 0.250000, 1.299999);
  126. PlayerTextDrawColor(playerid,textPlayerVelocimetro[3][playerid], -156);
  127. PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[3][playerid], 0);
  128. PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[3][playerid], 1);
  129. PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[3][playerid], 1);
  130. PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[3][playerid], 0);
  131. return 1;
  132. }
  133.  
  134. public OnPlayerDisconnect(playerid) {
  135.  
  136. if (PlayerVelocimetro[playerid]) {
  137. KillTimer(PlayerVelocimetroTimer[playerid]);
  138. }
  139. return 1;
  140. }
  141.  
  142. public OnFilterScriptInit() {
  143.  
  144. textVelocimetro[0] = TextDrawCreate(379.000000, 378.000000, "i");
  145. TextDrawBackgroundColor(textVelocimetro[0], 0);
  146. TextDrawFont(textVelocimetro[0], 2);
  147. TextDrawLetterSize(textVelocimetro[0], 28.800073, 2.600000);
  148. TextDrawColor(textVelocimetro[0], 80);
  149. TextDrawSetOutline(textVelocimetro[0], 0);
  150. TextDrawSetProportional(textVelocimetro[0], 1);
  151. TextDrawSetShadow(textVelocimetro[0], 1);
  152. TextDrawSetSelectable(textVelocimetro[0], 0);
  153.  
  154. textVelocimetro[1] = TextDrawCreate(379.000000, 392.000000, "i");
  155. TextDrawBackgroundColor(textVelocimetro[1], 0);
  156. TextDrawFont(textVelocimetro[1], 2);
  157. TextDrawLetterSize(textVelocimetro[1], 28.800073, 2.600000);
  158. TextDrawColor(textVelocimetro[1], 80);
  159. TextDrawSetOutline(textVelocimetro[1], 0);
  160. TextDrawSetProportional(textVelocimetro[1], 1);
  161. TextDrawSetShadow(textVelocimetro[1], 1);
  162. TextDrawSetSelectable(textVelocimetro[1], 0);
  163.  
  164. textVelocimetro[2] = TextDrawCreate(379.000000, 406.000000, "i");
  165. TextDrawBackgroundColor(textVelocimetro[2], 0);
  166. TextDrawFont(textVelocimetro[2], 2);
  167. TextDrawLetterSize(textVelocimetro[2], 28.800073, 2.600000);
  168. TextDrawColor(textVelocimetro[2], 80);
  169. TextDrawSetOutline(textVelocimetro[2], 0);
  170. TextDrawSetProportional(textVelocimetro[2], 1);
  171. TextDrawSetShadow(textVelocimetro[2], 1);
  172. TextDrawSetSelectable(textVelocimetro[2], 0);
  173.  
  174. textVelocimetro[3] = TextDrawCreate(379.000000, 420.000000, "i");
  175. TextDrawBackgroundColor(textVelocimetro[3], 0);
  176. TextDrawFont(textVelocimetro[3], 2);
  177. TextDrawLetterSize(textVelocimetro[3], 28.800073, 2.600000);
  178. TextDrawColor(textVelocimetro[3], 80);
  179. TextDrawSetOutline(textVelocimetro[3], 0);
  180. TextDrawSetProportional(textVelocimetro[3], 1);
  181. TextDrawSetShadow(textVelocimetro[3], 1);
  182. TextDrawSetSelectable(textVelocimetro[3], 0);
  183.  
  184. textVelocimetro[4] = TextDrawCreate(531.000000, 387.000000, "Carro~n~~n~Velocidade~n~~n~Combustivel~n~~n~Lataria");
  185. TextDrawAlignment(textVelocimetro[4], 3);
  186. TextDrawBackgroundColor(textVelocimetro[4], 0);
  187. TextDrawFont(textVelocimetro[4], 2);
  188. TextDrawLetterSize(textVelocimetro[4], 0.210000, 0.799999);
  189. TextDrawColor(textVelocimetro[4], -186);
  190. TextDrawSetOutline(textVelocimetro[4], 0);
  191. TextDrawSetProportional(textVelocimetro[4], 1);
  192. TextDrawSetShadow(textVelocimetro[4], 1);
  193. TextDrawSetSelectable(textVelocimetro[4], 0);
  194.  
  195. print("*****************************");
  196. print("*** Velocimetro carregado ***");
  197. print("*****************************");
  198. return 1;
  199. }
  200.  
  201. new VehicleNames[212][] =
  202. {
  203. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
  204. {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
  205. {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
  206. {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
  207. {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
  208. {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  209. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  210. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
  211. {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
  212. {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
  213. {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
  214. {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
  215. {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
  216. {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  217. {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
  218. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
  219. {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
  220. {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
  221. {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
  222. {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
  223. {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
  224. {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  225. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  226. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
  227. {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
  228. {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
  229. {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
  230. {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  231. {"Utility Trailer"}
  232. };
  233.  
  234. stock getVehicleName(vehicleid){
  235. new vehmodel = GetVehicleModel(vehicleid);
  236. new nameVeh[75];
  237.  
  238. if (vehmodel < 400 || vehmodel > 611) {
  239. strcat(nameVeh, "Nenhum");
  240. return nameVeh;
  241. }
  242. strcat(nameVeh, VehicleNames[vehmodel - 400]);
  243. return nameVeh;
  244. }
  245.  
  246. stock GetVehicleSpeed(vehicleid)
  247. {
  248. new Float:xPos[3];
  249. GetVehicleVelocity(vehicleid, xPos[0], xPos[1], xPos[2]);
  250. return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
  251. }
  252.  
  253. forward UpdatePlayerVelocimetro(playerid);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement