Advertisement
Guest User

Untitled

a guest
Aug 12th, 2014
742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.09 KB | None | 0 0
  1. //////////////////////////////////////////////////////////////////////////////////////////
  2. // //
  3. // trablon's Speedo System //
  4. // Coder: trablon(Onur AKAN) //
  5. // Tester: None //
  6. // skype: onur.akan95 //
  7. // //
  8. // //
  9. // //
  10. /////////////////////////////////////////////////////////////////////////////////////////
  11. // =========== [ include ] ===================================================//
  12. #include <a_samp>
  13. // =========== [ define ] ====================================================//
  14. #undef MAX_PLAYERS
  15. #define MAX_PLAYERS 30 // You can change it, it does not matter.
  16. #define UPDATES 250 // 250 ms - it will update per 4 second
  17. // =========== [ new ] =======================================================//
  18. new Text: DamageTextDraw[MAX_PLAYERS];
  19. new Text: CarModelTextDraw[MAX_PLAYERS];
  20. new Text: nameTextDraw[MAX_PLAYERS];
  21. new Text: speedoBack;
  22. new Text: SpeedTextDraw[MAX_PLAYERS];
  23. new Text: ServerName;
  24. new UpdateSpeedo[MAX_PLAYERS];
  25.  
  26. new VehicleFriendlyNames[212][] = {
  27. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},
  28. {"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},
  29. {"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},
  30. {"Washington"},{"Bobcat"},{"Mr. Whoopee"},{"BF. Injection"},{"Hunter"},{"Premier"},{"Enforcer"},
  31. {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Article Trailer"},
  32. {"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  33. {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Article Trailer 2"},{"Turismo"},{"Speeder"},
  34. {"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},{"Skimmer"},
  35. {"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},{"Sanchez"},
  36. {"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},
  37. {"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},
  38. {"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},
  39. {"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},
  40. {"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},{"Super GT"},{"Elegant"},
  41. {"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},
  42. {"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},
  43. {"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},
  44. {"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},
  45. {"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},
  46. {"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},
  47. {"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},
  48. {"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"Freight Flat"},{"Streak Carriage"},
  49. {"Kart"},{"Mower"},{"Dunerider"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},
  50. {"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Article Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Mobile Hotdog"},
  51. {"Club"},{"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},
  52. {"Police Car (SFPD)"},{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T Van"},{"Alpha"},
  53. {"Phoenix"},{"Glendale"},{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},
  54. {"Boxville"},{"Farm Plow"},{"Utility Trailer"}
  55. };
  56. // ===========================================================================//
  57. forward public UpdateTexts(playerid);
  58. public UpdateTexts(playerid) {
  59. new id = GetPlayerVehicleID(playerid), Float: hp, string[64];
  60. format(string, sizeof(string), "Speed: ~w~%d", GetVehicleSpeed(id));
  61. TextDrawSetString(SpeedTextDraw[playerid], string);
  62.  
  63. floatround(GetVehicleHealth(GetPlayerVehicleID(playerid), hp));
  64. format(string, sizeof(string), "Damage: ~r~%d", floatround(1000-hp));
  65. TextDrawSetString(DamageTextDraw[playerid], string);
  66. return 1;
  67. }
  68.  
  69. public OnFilterScriptInit()
  70. {
  71. speedoBack = TextDrawCreate(500.000000, 413.000000, "_");
  72. TextDrawBackgroundColor(speedoBack, 255);
  73. TextDrawFont(speedoBack, 1);
  74. TextDrawLetterSize(speedoBack, 0.400000, 1.599999);
  75. TextDrawColor(speedoBack, -1);
  76. TextDrawSetOutline(speedoBack, 0);
  77. TextDrawSetProportional(speedoBack, 1);
  78. TextDrawSetShadow(speedoBack, 1);
  79. TextDrawUseBox(speedoBack, 1);
  80. TextDrawBoxColor(speedoBack, 85);
  81. TextDrawTextSize(speedoBack, 170.000000, 32.000000);
  82. TextDrawSetSelectable(speedoBack, 0);
  83.  
  84. ServerName = TextDrawCreate(427.000000, 413.000000, "Server Name");
  85. TextDrawBackgroundColor(ServerName, 255);
  86. TextDrawFont(ServerName, 0);
  87. TextDrawLetterSize(ServerName, 0.420000, 1.400000);
  88. TextDrawColor(ServerName, -1);
  89. TextDrawSetOutline(ServerName, 1);
  90. TextDrawSetProportional(ServerName, 1);
  91. TextDrawSetSelectable(ServerName, 0);
  92. return 1;
  93. }
  94.  
  95. public OnFilterScriptExit()
  96. {
  97. TextDrawDestroy(speedoBack);
  98. TextDrawDestroy(ServerName);
  99. return 1;
  100. }
  101.  
  102. public OnPlayerConnect(playerid)
  103. {
  104. CarModelTextDraw[playerid] = TextDrawCreate(161.000000, 388.000000, "_");
  105. TextDrawBackgroundColor(CarModelTextDraw[playerid], 0);
  106. TextDrawFont(CarModelTextDraw[playerid], 5);
  107. TextDrawLetterSize(CarModelTextDraw[playerid], -0.000000, -0.000000);
  108. TextDrawColor(CarModelTextDraw[playerid], -1);
  109. TextDrawSetOutline(CarModelTextDraw[playerid], 0);
  110. TextDrawSetProportional(CarModelTextDraw[playerid], 1);
  111. TextDrawSetShadow(CarModelTextDraw[playerid], 1);
  112. TextDrawUseBox(CarModelTextDraw[playerid], 1);
  113. TextDrawBoxColor(CarModelTextDraw[playerid], 0);
  114. TextDrawTextSize(CarModelTextDraw[playerid], 60.000000, 63.000000);
  115. TextDrawSetPreviewModel(CarModelTextDraw[playerid], 400);
  116. TextDrawSetPreviewRot(CarModelTextDraw[playerid], -10.000000, 0.000000, 50.000000, 1.000000);
  117. TextDrawSetSelectable(CarModelTextDraw[playerid], 0);
  118.  
  119. nameTextDraw[playerid] = TextDrawCreate(218.000000, 416.000000, "_");
  120. TextDrawBackgroundColor(nameTextDraw[playerid], 255);
  121. TextDrawFont(nameTextDraw[playerid], 1);
  122. TextDrawLetterSize(nameTextDraw[playerid], 0.260000, 1.000000);
  123. TextDrawColor(nameTextDraw[playerid], 6737151);
  124. TextDrawSetOutline(nameTextDraw[playerid], 1);
  125. TextDrawSetProportional(nameTextDraw[playerid], 1);
  126. TextDrawSetSelectable(nameTextDraw[playerid], 0);
  127.  
  128. SpeedTextDraw[playerid] = TextDrawCreate(278.000000, 416.000000, "Speed: ~w~0");
  129. TextDrawBackgroundColor(SpeedTextDraw[playerid], 255);
  130. TextDrawFont(SpeedTextDraw[playerid], 1);
  131. TextDrawLetterSize(SpeedTextDraw[playerid], 0.260000, 1.000000);
  132. TextDrawColor(SpeedTextDraw[playerid], 6737151);
  133. TextDrawSetOutline(SpeedTextDraw[playerid], 1);
  134. TextDrawSetProportional(SpeedTextDraw[playerid], 1);
  135. TextDrawSetSelectable(SpeedTextDraw[playerid], 0);
  136.  
  137. DamageTextDraw[playerid] = TextDrawCreate(328.000000, 416.000000, "Speed: ~r~500");
  138. TextDrawBackgroundColor(DamageTextDraw[playerid], 255);
  139. TextDrawFont(DamageTextDraw[playerid], 1);
  140. TextDrawLetterSize(DamageTextDraw[playerid], 0.260000, 1.000000);
  141. TextDrawColor(DamageTextDraw[playerid], 6737151);
  142. TextDrawSetOutline(DamageTextDraw[playerid], 1);
  143. TextDrawSetProportional(DamageTextDraw[playerid], 1);
  144. TextDrawSetSelectable(DamageTextDraw[playerid], 0);
  145. return 1;
  146. }
  147.  
  148. public OnPlayerDisconnect(playerid, reason)
  149. {
  150. TextDrawDestroy(CarModelTextDraw[playerid]);
  151. TextDrawDestroy(nameTextDraw[playerid]);
  152. TextDrawDestroy(SpeedTextDraw[playerid]);
  153. TextDrawDestroy(DamageTextDraw[playerid]);
  154. KillTimer(UpdateSpeedo[playerid]);
  155. return 1;
  156. }
  157.  
  158. public OnPlayerStateChange(playerid, newstate, oldstate)
  159. {
  160. if(newstate == PLAYER_STATE_DRIVER) {
  161. TextDrawShowForPlayer(playerid, speedoBack);
  162. TextDrawShowForPlayer(playerid, ServerName);
  163.  
  164. TextDrawSetPreviewModel(CarModelTextDraw[playerid], GetVehicleModel(GetPlayerVehicleID(playerid)));
  165. TextDrawShowForPlayer(playerid, CarModelTextDraw[playerid]);
  166.  
  167. new string[64];
  168. format(string, sizeof(string), VehicleFriendlyNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
  169. TextDrawSetString(nameTextDraw[playerid], string);
  170. TextDrawShowForPlayer(playerid, nameTextDraw[playerid]);
  171.  
  172. TextDrawSetString(SpeedTextDraw[playerid], "Speed: ~w~0");
  173. TextDrawShowForPlayer(playerid, SpeedTextDraw[playerid]);
  174.  
  175. TextDrawSetString(DamageTextDraw[playerid], "Damage: ~r~0");
  176. TextDrawShowForPlayer(playerid, DamageTextDraw[playerid]);
  177.  
  178. UpdateSpeedo[playerid] = SetTimerEx("UpdateTexts", UPDATES, true, "i", playerid);
  179. }
  180.  
  181. if(oldstate == PLAYER_STATE_DRIVER) {
  182. TextDrawHideForPlayer(playerid, speedoBack);
  183. TextDrawHideForPlayer(playerid, ServerName);
  184. TextDrawHideForPlayer(playerid, CarModelTextDraw[playerid]);
  185. TextDrawHideForPlayer(playerid, nameTextDraw[playerid]);
  186. TextDrawHideForPlayer(playerid, SpeedTextDraw[playerid]);
  187. TextDrawHideForPlayer(playerid, DamageTextDraw[playerid]);
  188. KillTimer(UpdateSpeedo[playerid]);
  189. }
  190. return 1;
  191. }
  192. //==================== [ stock ] =============================================//
  193. stock GetVehicleSpeed(vehicleid)
  194. {
  195. new Float:Pos[3],Float:ARRAY ;
  196. GetVehicleVelocity(vehicleid, Pos[0], Pos[1], Pos[2]);
  197. ARRAY = floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2])*200;
  198. return floatround(ARRAY,floatround_round);
  199. }
  200. //==================== [ END ] ===============================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement