Advertisement
Guest User

Untitled

a guest
Oct 17th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.78 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define COLOR_YELLOW 0xFFFF00AA
  4. #define COLOR_WHITE 0xFFFFFFFF
  5. #define COLOR_GREY 0xAFAFAFFF
  6.  
  7. new VehRadarID [MAX_VEHICLES];
  8. new Text: RadarHud[MAX_PLAYERS];
  9. new Text: DashCamText;
  10. new Text: VehicleModel[MAX_PLAYERS];
  11.  
  12. //
  13.  
  14. new CheckingSpeed [MAX_VEHICLES];
  15. new OldVehID [MAX_PLAYERS];
  16.  
  17. forward UpdateSpeed (vehid);
  18. forward CheckValidTextDraws();
  19.  
  20.  
  21. new VehicleModelNames[212][] ={
  22. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial","Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana",
  23. "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance","Leviathan", "Moonbeam", "Esperanto", "Taxi",
  24. "Washington", "Bobcat","Whoopee", "BF Injection", "Hunter", "Premier","Enforcer", "Securicar", "Banshee",
  25. "Predator", "Bus", "Rhino", "Barracks", "Hotknife","Trailer 1", "Previon", "Coach", "Cabbie", "Stallion",
  26. "Rumpo", "RC Bandit", "Romero", "Packer","Monster", "Admiral", "Squalo","Seasparrow", "Pizzaboy", "Tram", "Trailer 2",
  27. "Turismo", "Speeder", "Reefer", "Tropic","Flatbed", "Yankee", "Caddy", "Solair","Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio",
  28. "Freeway", "RC Baron", "RC Raider","Glendale", "Oceanic", "Sanchez", "Sparrow","Patriot", "Quad", "Coastguard", "Dinghy", "Hermes",
  29. "Sabre", "Rustler", "ZR-350","Walton", "Regina", "Comet", "BMX", "Burrito","Camper", "Marquis", "Baggage", "Dozer", "Maverick",
  30. "News Chopper", "Rancher","FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring","Sandking", "Blista Compact", "Police Maverick",
  31. "Boxvillde", "Benson","Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B","Bloodring Banger", "Rancher", "Super GT", "Elegant",
  32. "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer",
  33. "Shamal", "Hydra","FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune","Cadrona", "FBI Truck", "Willard",
  34. "Forklift", "Tractor", "Combine","Feltzer", "Remington", "Slamvan", "Blade", "Freight","Streak","Vortex", "Vincent", "Bullet",
  35. "Clover", "Sadler", "Firetruck LA","Hustler", "Intruder", "Primo", "Cargobob", "Tampa","Sunrise", "Merit","Utility", "Nevada",
  36. "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan","Stratum", "Elegy", "Raindance","RC Tiger",
  37. "Flash", "Tahoma", "Savanna", "Bandito","Freight Flat", "Streak Carriage", "Kart","Mower", "Dune", "Sweeper", "Broadway",
  38. "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford","BF-400", "News Van", "Tug", "Trailer 3", "Emperor","Wayfarer", "Euros",
  39. "Hotdog","Club", "Freight Carriage", "Trailer 4","Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)","Police Car (SFPD)",
  40. "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha","Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
  41. "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" };
  42.  
  43.  
  44. public OnFilterScriptInit ()
  45. {
  46. printf (" \nCruiser speed radar made by Srdjan loaded.\n");
  47.  
  48. SetTimer("Speedometer", 100, true);
  49. SetTimer ("CheckValidTextDraws", 1000, 1);
  50. //ffffffff
  51. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  52. {
  53. VehRadarID [playerid] = -1;
  54. CheckingSpeed [playerid] = 0;
  55. }
  56.  
  57. DashCamText = CreatePlayerTextDraw(playerid, 326.000000, 306.000000, "LSPD Dash Cam");
  58. PlayerTextDrawAlignment(playerid, DashCamText, 2);
  59. PlayerTextDrawBackgroundColor(playerid, DashCamText, 16909584);
  60. PlayerTextDrawFont(playerid, DashCamText, 1);
  61. PlayerTextDrawLetterSize(playerid, DashCamText, 0.500000, 1.000000);
  62. PlayerTextDrawColor(playerid, DashCamText, -1);
  63. PlayerTextDrawSetOutline(playerid, DashCamText, 1);
  64. PlayerTextDrawSetProportional(playerid, DashCamText, 1);
  65. PlayerTextDrawSetSelectable(playerid, DashCamText, 0);
  66.  
  67. return 1;
  68. }
  69. public OnPlayerConnect(playerid)
  70. {
  71. RadarHud[playerid] = CreatePlayerTextDraw(playerid, 418.000000, 260.000000, "Speed:");
  72. PlayerTextDrawBackgroundColor(playerid, RadarHud[playerid], 255);
  73. PlayerTextDrawFont(playerid, RadarHud[playerid], 2);
  74. PlayerTextDrawLetterSize(playerid, RadarHud[playerid], 0.500000, 1.000000);
  75. PlayerTextDrawColor(playerid, RadarHud[playerid], -1);
  76. PlayerTextDrawSetOutline(playerid, RadarHud[playerid], 1);
  77. PlayerTextDrawSetProportional(playerid, RadarHud[playerid], 1);
  78. PlayerTextDrawSetSelectable(playerid, RadarHud[playerid], 0);
  79.  
  80. VehicleModel[playerid] = CreatePlayerTextDraw(playerid, 96.000000, 260.000000, "Car Model:");
  81. PlayerTextDrawBackgroundColor(playerid, VehicleModel[playerid], 255);
  82. PlayerTextDrawFont(playerid, VehicleModel[playerid], 2);
  83. PlayerTextDrawLetterSize(playerid, VehicleModel[playerid], 0.500000, 1.000000);
  84. PlayerTextDrawColor(playerid, VehicleModel[playerid], -1);
  85. PlayerTextDrawSetOutline(playerid, VehicleModel[playerid], 1);
  86. PlayerTextDrawSetProportional(playerid, VehicleModel[playerid], 1);
  87. PlayerTextDrawSetSelectable(playerid, VehicleModel[playerid], 0);
  88. return 1;
  89. }
  90. public OnPlayerCommandText (playerid, cmdtext[])
  91. {
  92. if (!strcmp (cmdtext, "/placeradar"))
  93. {
  94. if (IsPlayerInAnyVehicle (playerid))
  95. if(IsCopSkin(playerid))
  96. {
  97. new vehid = GetPlayerVehicleID (playerid);
  98. if (VehRadarID [vehid] > -1) return 1;
  99.  
  100. new Float: x, Float: y, Float: z, Float: a;
  101. GetVehiclePos (vehid, x, y, z);
  102. GetVehicleZAngle (vehid, a);
  103. SendClientMessage (playerid, COLOR_WHITE, "Radar Placed.");
  104. VehRadarID [vehid] = CreateObject (367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 300.0);
  105. AttachObjectToVehicle (VehRadarID [vehid], vehid, 0.2, 0.50, 0.3, 0.0, 0.0, 90.0);
  106. {
  107. if (IsPlayerInVehicle (playerid, vehid))
  108. {
  109. TextDrawShowForPlayer(playerid,RadarHud[playerid]);
  110. TextDrawShowForPlayer(playerid,DashCamText);
  111. TextDrawShowForPlayer(playerid,VehicleModel[playerid]);
  112. }
  113. }
  114. }
  115. return 1;
  116. }
  117.  
  118. if (!strcmp (cmdtext, "/removeradar"))
  119. {
  120. if (IsPlayerInAnyVehicle (playerid))
  121. if(IsCopSkin(playerid))
  122. {
  123. new vehid = GetPlayerVehicleID (playerid);
  124. if (VehRadarID [vehid] == -1) return 1;
  125.  
  126. DestroyObject (VehRadarID [vehid]);
  127. SendClientMessage (playerid, COLOR_YELLOW, "Radar has been removed successfully.");
  128. VehRadarID [vehid] = -1;
  129. KillTimer (CheckingSpeed [vehid]);
  130. CheckingSpeed [vehid] = -1;
  131. {
  132. if (IsPlayerInVehicle (playerid, vehid))
  133. {
  134. TextDrawHideForPlayer(playerid, RadarHud[playerid]);
  135. TextDrawHideForPlayer(playerid, DashCamText);
  136. TextDrawHideForPlayer(playerid, VehicleModel[playerid]);
  137. }
  138. }
  139. }
  140. return 1;
  141. }
  142.  
  143. if (!strcmp (cmdtext, "/checkspeed"))
  144. {
  145. if (IsPlayerInAnyVehicle (playerid))
  146. if(IsCopSkin(playerid))
  147. {
  148. new vehid = GetPlayerVehicleID (playerid);
  149. if (VehRadarID [vehid] == -1) return 1;
  150. CheckingSpeed [vehid] = SetTimerEx ("UpdateSpeed", 100, 1, "d", vehid);
  151. }
  152. return 1;
  153. }
  154.  
  155. if (!strcmp (cmdtext, "/stopchecking"))
  156. if(IsCopSkin(playerid))
  157. {
  158. if (IsPlayerInAnyVehicle (playerid))
  159. {
  160. new vehid = GetPlayerVehicleID (playerid);
  161. if (CheckingSpeed [vehid] > 0)
  162. {
  163. KillTimer (CheckingSpeed [vehid]);
  164. CheckingSpeed [vehid] = -1;
  165. }
  166. {
  167. if (IsPlayerInVehicle (playerid, vehid))
  168. {
  169. TextDrawHideForPlayer(playerid, RadarHud[playerid]);
  170. TextDrawHideForPlayer(playerid, DashCamText);
  171. TextDrawHideForPlayer(playerid, VehicleModel[playerid]);
  172. }
  173. }
  174. }
  175. return 1;
  176. }
  177. return 0;
  178. }
  179. GetVehicleInfrontID (vehid)
  180. {
  181. new Float: temp = 7.0;
  182. new j = 0;
  183. for (new i = 1; i <= MAX_VEHICLES; i++)
  184. {
  185. new Float: a, Float: x1, Float: y1, Float: z1, Float: x2, Float: y2, Float: z2;
  186. GetVehiclePos (vehid, x1, y1, z1);
  187. GetVehicleZAngle (vehid, a);
  188. if (i != vehid)
  189. {
  190. if (GetVehiclePos (i, x2, y2, z2))
  191. {
  192. new Float: distance = floatsqroot (floatpower ((x1 - x2), 2) + floatpower ((y1 - y2), 2) + floatpower ((z1 - z2), 2));
  193. GetVehicleZAngle (vehid, a);
  194.  
  195. if (distance < 300.0)
  196. {
  197. x1 = x1 + (distance * floatsin(-a, degrees));
  198. y1 = y1 + (distance * floatcos(-a, degrees));
  199.  
  200. distance = floatsqroot ((floatpower ((x1 - x2), 2)) + (floatpower ((y1 - y2), 2)));
  201.  
  202. if (temp > distance)
  203. {
  204. temp = distance;
  205. j = i;
  206. }
  207. }
  208. }
  209. }
  210. }
  211. if (temp < 7.0) return j;
  212. return -1;
  213. }
  214.  
  215. public UpdateSpeed (vehid)
  216. {
  217. new id = GetVehicleInfrontID (vehid);
  218. if (id < 0)
  219. {
  220. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  221. {
  222. PlayerTextDrawSetString (playerid,RadarHud[playerid], "Speed:-");
  223. PlayerTextDrawSetString (playerid,VehicleModel[playerid],"Car Model:-");
  224. }
  225. }
  226. else
  227. {
  228. new str[32], Float: velocityX, Float: velocityY, Float: velocityZ;
  229. GetVehicleVelocity (id, velocityX, velocityY, velocityZ);
  230. new speed = floatround (floatsqroot (floatpower (velocityX, 2) + floatpower (velocityY, 2) + floatpower (velocityZ, 2)) *200 , floatround_round);
  231. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  232. {
  233. format (str, sizeof (str), "Speed: %d", speed);
  234. PlayerTextDrawSetString (playerid,RadarHud[playerid], str);
  235. format (str, sizeof (str), "Car Model: %s", VehicleModelNames[GetVehicleModel[playerid] (id) - 400]);
  236. PlayerTextDrawSetString (playerid,VehicleModel[playerid], str);
  237. }
  238. }
  239. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  240. {
  241. if (IsPlayerInVehicle (playerid, vehid))
  242. {
  243. TextDrawShowForPlayer(playerid, RadarHud[playerid]);
  244. TextDrawShowForPlayer(playerid, DashCamText);
  245. TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
  246. }
  247. }
  248. return 1;
  249. }
  250.  
  251. public CheckValidTextDraws()
  252. {
  253. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  254. {
  255. if (IsPlayerConnected (playerid))
  256. {
  257. if (IsPlayerInAnyVehicle (playerid))
  258. {
  259. new vehid = GetPlayerVehicleID (playerid);
  260. if (VehRadarID [vehid] > -1)
  261. {
  262. TextDrawShowForPlayer(playerid, RadarHud[playerid]);
  263. TextDrawShowForPlayer(playerid, DashCamText);
  264. if (CheckingSpeed [vehid] > 0)
  265. {
  266. TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
  267. }
  268. else
  269. {
  270. TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
  271. }
  272. }
  273. else
  274. {
  275. TextDrawShowForPlayer(playerid, RadarHud[playerid]);
  276. TextDrawShowForPlayer(playerid, DashCamText);
  277. }
  278. }
  279.  
  280. else
  281. {
  282. TextDrawShowForPlayer(playerid, RadarHud[playerid]);
  283. TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
  284. TextDrawShowForPlayer(playerid, DashCamText);
  285. OldVehID [playerid] = 0;
  286. }
  287. }
  288. }
  289. return 1;
  290. }
  291.  
  292. public OnPlayerStateChange (playerid, newstate, oldstate)
  293. {
  294. if ((oldstate == PLAYER_STATE_ONFOOT) && (newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER))
  295. {
  296. OldVehID [playerid] = GetPlayerVehicleID (playerid);
  297. }
  298. return 1;
  299. }
  300.  
  301. public OnVehicleDeath (vehicleid)
  302. {
  303. DestroyObject (VehRadarID [vehicleid]);
  304. VehRadarID [vehicleid] = -1;
  305. KillTimer (CheckingSpeed [vehicleid]);
  306. CheckingSpeed [vehicleid] = -1;
  307. for(new playerid;playerid<MAX_PLAYERS;playerid++)
  308. {
  309. if (IsPlayerInVehicle (playerid, vehicleid))
  310. {
  311. TextDrawShowForPlayer(playerid, RadarHud[playerid][playerid]);
  312. TextDrawShowForPlayer(playerid, DashCamText);
  313. TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
  314. }
  315. }
  316. }
  317. forward IsCopSkin(playerid);
  318. public IsCopSkin(playerid)
  319. {
  320. switch(GetPlayerSkin(playerid))
  321. {
  322. case 280, 281, 282, 283, 284, 285, 286, 287, 288, 265, 266, 267: return 1;
  323. }
  324. return 0;
  325. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement