Guest User

Anuj

a guest
Dec 2nd, 2009
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 192.61 KB | None | 0 0
  1. #include <a_samp>
  2. #include <utils>
  3.  
  4.  
  5.  
  6. //--------------------------------------------------TEAMS------------------------------------------------------------------------------------------
  7. #define TEAM_LAWYER 0
  8. #define TEAM_COP 1
  9. #define TEAM_ARMY 2
  10. #define TEAM_MEDIC 3
  11. #define TEAM_MECHANIC 4
  12. #define TEAM_CASSEC 5
  13. #define TEAM_DRIVER 6
  14. #define TEAM_BISTRO 7
  15. #define TEAM_JAILTK 8
  16. #define TEAM_CIVIL 9
  17.  
  18. #define TEAM_RAPIST 10
  19. #define TEAM_GUNDEALER 11
  20. #define TEAM_DRUGDEALER 12
  21. #define TEAM_HITMAN 13
  22. #define TEAM_PVTMED 14
  23. #define TEAM_BOUNTYHUNTER 15
  24. #define TEAM_CONARTIST 16
  25. #define TEAM_KIDNAPPER 17
  26. #define TEAM_PRIVLAYWER 18
  27. #define TEAM_TERRORIST 19
  28. #define TEAM_SALESMAN 20
  29.  
  30. #define CIVILIAN_DIALOG 631
  31.  
  32. //-----------------------------------------------------------COLORS--------------------------------------------------------------
  33. #define COLOR_GREY 0xAFAFAFAA
  34. #define COLOR_GREEN 0x33AA33AA
  35. #define COLOR_RED 0xAA3333AA
  36. #define COLOR_YELLOW 0xFFFF00AA
  37. #define COLOR_WHITE 0xFFFFFFAA
  38. #define COLOR_GREY 0xAFAFAFAA
  39. #define COLOR_GREEN 0x33AA33AA
  40. #define RED 0xE60000FF
  41. #define COLOR_YELLOW 0xFFFF00AA
  42. #define COLOR_WHITE 0xFFFFFFAA
  43. #define COLOR_BLUE 0x0000BBAA
  44. #define COLOR_LIGHTBLUE 0x33CCFFAA
  45. #define COLOR_ORANGE 0xFF9900AA
  46. #define COLOR_VERYPINK 0xffccccd0
  47. #define COLOR_RED 0xAA3333AA
  48. #define COLOR_LIME 0x10F441AA
  49. #define COLOR_MAGENTA 0xFF00FFFF
  50. #define COLOR_NAVY 0x000080AA
  51. #define COLOR_AQUA 0xF0F8FFAA
  52. #define COLOR_CRIMSON 0xDC143CAA
  53. #define COLOR_FLBLUE 0x6495EDAA
  54. #define COLOR_BISQUE 0xFFE4C4AA
  55. #define COLOR_BLACK 0x000000AA
  56. #define COLOR_CHARTREUSE 0x7FFF00AA
  57. #define COLOR_BROWN 0XA52A2AAA
  58. #define COLOR_CORAL 0xFF7F50AA
  59. #define COLOR_GOLD 0xB8860BAA
  60. #define COLOR_GREENYELLOW 0xADFF2FAA
  61. #define COLOR_INDIGO 0x4B00B0AA
  62. #define COLOR_IVORY 0xFFFF82AA
  63. #define COLOR_LAWNGREEN 0x7CFC00AA
  64. #define COLOR_SEAGREEN 0x20B2AAAA
  65. #define COLOR_LIMEGREEN 0x32CD32AA
  66. #define COLOR_MIDNIGHTBLUE 0x191970AA
  67. #define COLOR_MAROON 0x800000AA
  68. #define COLOR_OLIVE 0x808000AA
  69. #define COLOR_ORANGERED 0xFF4500AA
  70. #define COLOR_PINK 0xFFC0CBAA
  71. #define COLOR_SPRINGGREEN 0x00FF7FAA
  72. #define COLOR_TOMATO 0xFF6347AA
  73. #define COLOR_YELLOWGREEN 0x9ACD32AA
  74. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  75. #define COLOR_MEDIUMMAGENTA 0x8B008BAA
  76. #define COLOR_BASIC 0x0066FFAA
  77. #define COLOR_SAY 0xFFFFFFAA
  78. #define COLOR_WHISPER 0xFFFFFFAA
  79. #define COLOR_SHOUT 0xFFFFFFAA
  80. #define COLOR_ERROR 0xFFFFFFAA
  81. #define COLOR_ARMY 0x990099ff
  82. #define COLOR_DODGERBLUE 0x1E90FFAA
  83. #define COLOR_ROYALBLUE 0x4169FFAA
  84. #define COLOR_PURPLE 0x800080AA
  85. #define COLOR_DARKOLIVEGREEN 0x556B2FAA
  86. #define COLOR_FORESTGREEN 0x228B22AA
  87. #define COLOR_BLUEVIOLET 0x8A2BE2AA
  88. #define COLOR_DEADCONNECT 0x808080AA
  89.  
  90. #pragma unused ReturnUser
  91. //--------------------------------------------------------NEW----------------------------------------------------------------------------------
  92. new RapedPlyRecent[MAX_PLAYERS];
  93. new bool:TimerSet = false; // Prevents the timer from being set multiple times.
  94. new EchoConnection;
  95. new EchoChan[15] = "#your-channel"; // This is the channel you want your echo to be in, as well as the !say command.
  96. new Connections = 0;
  97. new gTeam[MAX_PLAYERS];
  98. new PlayerTazed[MAX_PLAYERS];
  99. new InBank[MAX_PLAYERS];
  100. new CanChooseSkill[MAX_PLAYERS];
  101. new Jailed[MAX_PLAYERS];
  102. new id;
  103. new oname[26];
  104. new szstring[100];
  105. new string[100];
  106. new cd_timer;
  107. new cd_sec;
  108. new pname[30];
  109. new mname[24];
  110. new oscore;
  111. new RecentAskedMechanic[MAX_PLAYERS];
  112. new LawEnforcementRadio[MAX_PLAYERS];
  113. new HasLawEnforcementRadio[MAX_PLAYERS];
  114. new ReqBkRecent[MAX_PLAYERS];
  115. new ReqBk[MAX_PLAYERS];
  116. new EscapedConvict[MAX_PLAYERS];
  117. new Taxipass[MAX_PLAYERS];
  118. new Driveronduty[MAX_PLAYERS];
  119. new IsSpawned[MAX_PLAYERS];
  120. new hastazer[MAX_PLAYERS];
  121. new Tazed[MAX_PLAYERS];
  122. // Text Draws
  123. //new Text:txtWebAddress;
  124. //new Text:txtScriptVers;
  125. new Text:txtTypeSkill1;
  126. new Text:txtTypeSkill3;
  127. new commitedcrimerecently[MAX_PLAYERS];
  128. new copshavevc[MAX_PLAYERS];
  129. new cuffed[MAX_PLAYERS];
  130. new CuffedTime[MAX_PLAYERS];
  131. new CasSecLastPlayerCuffed[MAX_PLAYERS];
  132. new LeftTwoFourSeven[MAX_PLAYERS];
  133. new TimeToMoveTwoFourSeven[MAX_PLAYERS];
  134. new InAlcatraz[MAX_PLAYERS];
  135. new JailTime[MAX_PLAYERS];
  136. new JailTimeServed[MAX_PLAYERS];
  137. new cannotescapejail[MAX_PLAYERS];
  138. new StoleCopCarRecent[MAX_PLAYERS];
  139. new triedtoescaperecent[MAX_PLAYERS];
  140. new fixedcarrecent[MAX_PLAYERS];
  141. new SandInEngine[MAX_VEHICLES];
  142. new lowwantedkiller[MAX_PLAYERS];
  143. new wantsheal[MAX_PLAYERS];
  144. new wantscure[MAX_PLAYERS];
  145. new InfectedPlyRecent[MAX_PLAYERS];
  146. new Chlamydia[MAX_PLAYERS];
  147. new Salmonella[MAX_PLAYERS];
  148. new VisitReq[MAX_PLAYERS];
  149. new VisitReqExpires[MAX_PLAYERS];
  150. new SpamStrings[MAX_PLAYERS];
  151. new Muted[MAX_PLAYERS];
  152. new RobbedPlyRecent[MAX_PLAYERS];
  153. new beenrobbedrecently[MAX_PLAYERS];
  154. new HasWallet[MAX_PLAYERS];
  155. new OldCash[MAX_PLAYERS];
  156. new PlayerAdminLevel[MAX_PLAYERS];
  157. new Kicking[MAX_PLAYERS];
  158. new PlayerName[32];
  159.  
  160.  
  161. enum zoneinfo {
  162. zone_name[27],
  163. Float:zone_minx,
  164. Float:zone_miny,
  165. Float:zone_minz,
  166. Float:zone_maxx,
  167. Float:zone_maxy,
  168. Float:zone_maxz
  169. }
  170.  
  171. new Float:zones[][zoneinfo] = {
  172. { "LV Drug House (Int)", 2363.7732, -1135.5873, 1050.8750, 2366.7190, -1125.8083, 1050.8826},
  173. { "Alcatraz", 3539.1328, 382.3327, -5.0000, 4085.4063, 560.8972, 500.5000},
  174. { "Alcatraz (Int)", 240.3424, 107.4418, 998.0156, 260.3839, 119.8392, 1008.8303},
  175. { "Alcatraz (Int)", 213.9791, 107.4416, 999.0100, 229.0557, 116.0217, 999.0180},
  176. { "LV City Bank", 2333.6050, 1538.5920, 9.0184, 2420.1487, 1607.1777, 500.5000},
  177. { "LV City Bank (Int)", 2306.0767, -17.3174, 26.5496, 2317.1667, -0.1374, 26.7696},
  178. { "Regular Players Lounge", 2082.1758, 1203.3190, 6.0203, 2125.7268, 1278.4438, 500.5000},
  179. { "Casino", 2078.8538, 1306.0410, 9.0203, 2114.8035, 1364.4226, 500.5000},
  180. { "AutoBahn", 2087.7778, 1384.0966, 9.0203, 2203.1501, 1440.7141, 500.5000},
  181. { "AutoBahn Lane", 2184.8328, 1447.0826, 9.0203, 2195.3687, 1522.7858, 500.5000},
  182. { "LV MultiStory", 2257.6921, 1383.5364, 9.0203, 2357.7520, 1523.2224, 500.5000},
  183. { "LV Pyramid", 2237.4563, 1205.2041, 9.0203, 2416.4814, 1362.8427, 500.5000},
  184. { "LV City Hall", 2354.4023, 1079.9636, 9.0203, 2420.8870, 1186.4084, 500.5000},
  185. { "LV Transfender", 2352.2302, 956.4175, 9.0203, 2421.1843, 1066.9310, 500.5000},
  186. { "LV Gas Station", 2617.8508, 1062.8749, 9.0203, 2657.1074, 1142.5132, 500.5000},
  187. { "Casino Security HQ", 1878.7798, 944.3989, 9.0203, 1923.6537, 966.3892, 500.5000},
  188. { "Four Dragons Casino", 1878.7661, 970.0151, 9.0203, 2035.9320, 1082.8287, 500.5000},
  189. { "The Strip [South]", 2037.4653, 863.7079, 4.0203, 2076.8149, 1702.8253, 500.5000},
  190. { "Caligulas Casino", 2087.7002, 1543.7769, 9.8203, 2317.1528, 1763.7645, 500.5000},
  191. { "RPL (Int)", 956.4382, -61.9423, 1000.1172, 964.4373, -43.0153, 1003.5865},
  192. { "RPL Bar (Int)", 965.8417, -49.4062, 1000.1172, 971.5218, -43.1668, 1003.5865},
  193. { "Bedroom", 943.2505, -48.6990, 1000.1172, 948.3954, -40.9521, 1003.5865},
  194. { "LVPD HQ", 2234.2024, 2419.3340, -8.4531, 2360.7454, 2507.3718, 500.5000},
  195. { "LV Aircraft Carrier", 2782.5579, 441.7090, -5.0000, 3166.1729, 520.0420, 500.5000},
  196. { "24/7 store", -36.6344, -57.9175, 1003.3469, -17.3938, -48.9887, 1003.8469},
  197. { "The Big Ear", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00},
  198. { "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00},
  199. { "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00},
  200. { "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00},
  201. { "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00},
  202. { "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00},
  203. { "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00},
  204. { "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10},
  205. { "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10},
  206. { "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70},
  207. { "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00},
  208. { "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00},
  209. { "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00},
  210. { "Bayside Marina", -2353.10, 2275.70, 0.00, -2153.10, 2475.70, 200.00},
  211. { "Beacon Hill", -399.60, -1075.50, -1.40, -319.00, -977.50, 198.50},
  212. { "Blackfield", 964.30, 1203.20, -89.00, 1197.30, 1403.20, 110.90},
  213. { "Blackfield", 964.30, 1403.20, -89.00, 1197.30, 1726.20, 110.90},
  214. { "Blackfield Chapel", 1375.60, 596.30, -89.00, 1558.00, 823.20, 110.90},
  215. { "Blackfield Chapel", 1325.60, 596.30, -89.00, 1375.60, 795.00, 110.90},
  216. { "Blackfield Intersection", 1197.30, 1044.60, -89.00, 1277.00, 1163.30, 110.90},
  217. { "Blackfield Intersection", 1166.50, 795.00, -89.00, 1375.60, 1044.60, 110.90},
  218. { "Blackfield Intersection", 1277.00, 1044.60, -89.00, 1315.30, 1087.60, 110.90},
  219. { "Blackfield Intersection", 1375.60, 823.20, -89.00, 1457.30, 919.40, 110.90},
  220. { "Blueberry", 104.50, -220.10, 2.30, 349.60, 152.20, 200.00},
  221. { "Blueberry", 19.60, -404.10, 3.80, 349.60, -220.10, 200.00},
  222. { "Blueberry Acres", -319.60, -220.10, 0.00, 104.50, 293.30, 200.00},
  223. { "Calton Heights", -2274.10, 744.10, -6.10, -1982.30, 1358.90, 200.00},
  224. { "Chinatown", -2274.10, 578.30, -7.60, -2078.60, 744.10, 200.00},
  225. { "Commerce", 1323.90, -1842.20, -89.00, 1701.90, -1722.20, 110.90},
  226. { "Commerce", 1323.90, -1722.20, -89.00, 1440.90, -1577.50, 110.90},
  227. { "Commerce", 1370.80, -1577.50, -89.00, 1463.90, -1384.90, 110.90},
  228. { "Commerce", 1463.90, -1577.50, -89.00, 1667.90, -1430.80, 110.90},
  229. { "Commerce", 1583.50, -1722.20, -89.00, 1758.90, -1577.50, 110.90},
  230. { "Commerce", 1667.90, -1577.50, -89.00, 1812.60, -1430.80, 110.90},
  231. { "Conference Center", 1046.10, -1804.20, -89.00, 1323.90, -1722.20, 110.90},
  232. { "Conference Center", 1073.20, -1842.20, -89.00, 1323.90, -1804.20, 110.90},
  233. { "Cranberry Station", -2007.80, 56.30, 0.00, -1922.00, 224.70, 100.00},
  234. { "Class Selection", 942.5793, 0.2095, 1000.9295, 947.4127, 4.8616, 1000.9299},
  235. { "Creek", 2749.90, 1937.20, -89.00, 2921.60, 2669.70, 110.90},
  236. { "Dillimore", 580.70, -674.80, -9.50, 861.00, -404.70, 200.00},
  237. { "Doherty", -2270.00, -324.10, -0.00, -1794.90, -222.50, 200.00},
  238. { "Doherty", -2173.00, -222.50, -0.00, -1794.90, 265.20, 200.00},
  239. { "Downtown", -1982.30, 744.10, -6.10, -1871.70, 1274.20, 200.00},
  240. { "Downtown", -1871.70, 1176.40, -4.50, -1620.30, 1274.20, 200.00},
  241. { "Downtown", -1700.00, 744.20, -6.10, -1580.00, 1176.50, 200.00},
  242. { "Downtown", -1580.00, 744.20, -6.10, -1499.80, 1025.90, 200.00},
  243. { "Downtown", -2078.60, 578.30, -7.60, -1499.80, 744.20, 200.00},
  244. { "Downtown", -1993.20, 265.20, -9.10, -1794.90, 578.30, 200.00},
  245. { "Downtown Los Santos", 1463.90, -1430.80, -89.00, 1724.70, -1290.80, 110.90},
  246. { "Downtown Los Santos", 1724.70, -1430.80, -89.00, 1812.60, -1250.90, 110.90},
  247. { "Downtown Los Santos", 1463.90, -1290.80, -89.00, 1724.70, -1150.80, 110.90},
  248. { "Downtown Los Santos", 1370.80, -1384.90, -89.00, 1463.90, -1170.80, 110.90},
  249. { "Downtown Los Santos", 1724.70, -1250.90, -89.00, 1812.60, -1150.80, 110.90},
  250. { "Downtown Los Santos", 1370.80, -1170.80, -89.00, 1463.90, -1130.80, 110.90},
  251. { "Downtown Los Santos", 1378.30, -1130.80, -89.00, 1463.90, -1026.30, 110.90},
  252. { "Downtown Los Santos", 1391.00, -1026.30, -89.00, 1463.90, -926.90, 110.90},
  253. { "Downtown Los Santos", 1507.50, -1385.20, 110.90, 1582.50, -1325.30, 335.90},
  254. { "East Beach", 2632.80, -1852.80, -89.00, 2959.30, -1668.10, 110.90},
  255. { "East Beach", 2632.80, -1668.10, -89.00, 2747.70, -1393.40, 110.90},
  256. { "East Beach", 2747.70, -1668.10, -89.00, 2959.30, -1498.60, 110.90},
  257. { "East Beach", 2747.70, -1498.60, -89.00, 2959.30, -1120.00, 110.90},
  258. { "East Los Santos", 2421.00, -1628.50, -89.00, 2632.80, -1454.30, 110.90},
  259. { "East Los Santos", 2222.50, -1628.50, -89.00, 2421.00, -1494.00, 110.90},
  260. { "East Los Santos", 2266.20, -1494.00, -89.00, 2381.60, -1372.00, 110.90},
  261. { "East Los Santos", 2381.60, -1494.00, -89.00, 2421.00, -1454.30, 110.90},
  262. { "East Los Santos", 2281.40, -1372.00, -89.00, 2381.60, -1135.00, 110.90},
  263. { "East Los Santos", 2381.60, -1454.30, -89.00, 2462.10, -1135.00, 110.90},
  264. { "East Los Santos", 2462.10, -1454.30, -89.00, 2581.70, -1135.00, 110.90},
  265. { "Easter Basin", -1794.90, 249.90, -9.10, -1242.90, 578.30, 200.00},
  266. { "Easter Basin", -1794.90, -50.00, -0.00, -1499.80, 249.90, 200.00},
  267. { "Easter Bay Airport", -1499.80, -50.00, -0.00, -1242.90, 249.90, 200.00},
  268. { "Easter Bay Airport", -1794.90, -730.10, -3.00, -1213.90, -50.00, 200.00},
  269. { "Easter Bay Airport", -1213.90, -730.10, 0.00, -1132.80, -50.00, 200.00},
  270. { "Easter Bay Airport", -1242.90, -50.00, 0.00, -1213.90, 578.30, 200.00},
  271. { "Easter Bay Airport", -1213.90, -50.00, -4.50, -947.90, 578.30, 200.00},
  272. { "Easter Bay Airport", -1315.40, -405.30, 15.40, -1264.40, -209.50, 25.40},
  273. { "Easter Bay Airport", -1354.30, -287.30, 15.40, -1315.40, -209.50, 25.40},
  274. { "Easter Bay Airport", -1490.30, -209.50, 15.40, -1264.40, -148.30, 25.40},
  275. { "Easter Bay Chemicals", -1132.80, -768.00, 0.00, -956.40, -578.10, 200.00},
  276. { "Easter Bay Chemicals", -1132.80, -787.30, 0.00, -956.40, -768.00, 200.00},
  277. { "El Castillo del Diablo", -464.50, 2217.60, 0.00, -208.50, 2580.30, 200.00},
  278. { "El Castillo del Diablo", -208.50, 2123.00, -7.60, 114.00, 2337.10, 200.00},
  279. { "El Castillo del Diablo", -208.50, 2337.10, 0.00, 8.40, 2487.10, 200.00},
  280. { "El Corona", 1812.60, -2179.20, -89.00, 1970.60, -1852.80, 110.90},
  281. { "El Corona", 1692.60, -2179.20, -89.00, 1812.60, -1842.20, 110.90},
  282. { "El Quebrados", -1645.20, 2498.50, 0.00, -1372.10, 2777.80, 200.00},
  283. { "Esplanade East", -1620.30, 1176.50, -4.50, -1580.00, 1274.20, 200.00},
  284. { "Esplanade East", -1580.00, 1025.90, -6.10, -1499.80, 1274.20, 200.00},
  285. { "Esplanade East", -1499.80, 578.30, -79.60, -1339.80, 1274.20, 20.30},
  286. { "Esplanade North", -2533.00, 1358.90, -4.50, -1996.60, 1501.20, 200.00},
  287. { "Esplanade North", -1996.60, 1358.90, -4.50, -1524.20, 1592.50, 200.00},
  288. { "Esplanade North", -1982.30, 1274.20, -4.50, -1524.20, 1358.90, 200.00},
  289. { "Fallen Tree", -792.20, -698.50, -5.30, -452.40, -380.00, 200.00},
  290. { "Fallow Bridge", 434.30, 366.50, 0.00, 603.00, 555.60, 200.00},
  291. { "Fern Ridge", 508.10, -139.20, 0.00, 1306.60, 119.50, 200.00},
  292. { "Financial", -1871.70, 744.10, -6.10, -1701.30, 1176.40, 300.00},
  293. { "Fisher's Lagoon", 1916.90, -233.30, -100.00, 2131.70, 13.80, 200.00},
  294. { "Flint Intersection", -187.70, -1596.70, -89.00, 17.00, -1276.60, 110.90},
  295. { "Flint Range", -594.10, -1648.50, 0.00, -187.70, -1276.60, 200.00},
  296. { "Fort Carson", -376.20, 826.30, -3.00, 123.70, 1220.40, 200.00},
  297. { "Foster Valley", -2270.00, -430.20, -0.00, -2178.60, -324.10, 200.00},
  298. { "Foster Valley", -2178.60, -599.80, -0.00, -1794.90, -324.10, 200.00},
  299. { "Foster Valley", -2178.60, -1115.50, 0.00, -1794.90, -599.80, 200.00},
  300. { "Foster Valley", -2178.60, -1250.90, 0.00, -1794.90, -1115.50, 200.00},
  301. { "Frederick Bridge", 2759.20, 296.50, 0.00, 2774.20, 594.70, 200.00},
  302. { "Gant Bridge", -2741.40, 1659.60, -6.10, -2616.40, 2175.10, 200.00},
  303. { "Gant Bridge", -2741.00, 1490.40, -6.10, -2616.40, 1659.60, 200.00},
  304. { "Ganton", 2222.50, -1852.80, -89.00, 2632.80, -1722.30, 110.90},
  305. { "Ganton", 2222.50, -1722.30, -89.00, 2632.80, -1628.50, 110.90},
  306. { "Garcia", -2411.20, -222.50, -0.00, -2173.00, 265.20, 200.00},
  307. { "Garcia", -2395.10, -222.50, -5.30, -2354.00, -204.70, 200.00},
  308. { "Garver Bridge", -1339.80, 828.10, -89.00, -1213.90, 1057.00, 110.90},
  309. { "Garver Bridge", -1213.90, 950.00, -89.00, -1087.90, 1178.90, 110.90},
  310. { "Garver Bridge", -1499.80, 696.40, -179.60, -1339.80, 925.30, 20.30},
  311. { "Glen Park", 1812.60, -1449.60, -89.00, 1996.90, -1350.70, 110.90},
  312. { "Glen Park", 1812.60, -1100.80, -89.00, 1994.30, -973.30, 110.90},
  313. { "Glen Park", 1812.60, -1350.70, -89.00, 2056.80, -1100.80, 110.90},
  314. { "Green Palms", 176.50, 1305.40, -3.00, 338.60, 1520.70, 200.00},
  315. { "Greenglass College", 964.30, 1044.60, -89.00, 1197.30, 1203.20, 110.90},
  316. { "Greenglass College", 964.30, 930.80, -89.00, 1166.50, 1044.60, 110.90},
  317. { "Hampton Barns", 603.00, 264.30, 0.00, 761.90, 366.50, 200.00},
  318. { "Hankypanky Point", 2576.90, 62.10, 0.00, 2759.20, 385.50, 200.00},
  319. { "Harry Gold Parkway", 1777.30, 863.20, -89.00, 1817.30, 2342.80, 110.90},
  320. { "Hashbury", -2593.40, -222.50, -0.00, -2411.20, 54.70, 200.00},
  321. { "Hilltop Farm", 967.30, -450.30, -3.00, 1176.70, -217.90, 200.00},
  322. { "Hunter Quarry", 337.20, 710.80, -115.20, 860.50, 1031.70, 203.70},
  323. { "Idlewood", 1812.60, -1852.80, -89.00, 1971.60, -1742.30, 110.90},
  324. { "Idlewood", 1812.60, -1742.30, -89.00, 1951.60, -1602.30, 110.90},
  325. { "Idlewood", 1951.60, -1742.30, -89.00, 2124.60, -1602.30, 110.90},
  326. { "Idlewood", 1812.60, -1602.30, -89.00, 2124.60, -1449.60, 110.90},
  327. { "Idlewood", 2124.60, -1742.30, -89.00, 2222.50, -1494.00, 110.90},
  328. { "Idlewood", 1971.60, -1852.80, -89.00, 2222.50, -1742.30, 110.90},
  329. { "Jefferson", 1996.90, -1449.60, -89.00, 2056.80, -1350.70, 110.90},
  330. { "Jefferson", 2124.60, -1494.00, -89.00, 2266.20, -1449.60, 110.90},
  331. { "Jefferson", 2056.80, -1372.00, -89.00, 2281.40, -1210.70, 110.90},
  332. { "Jefferson", 2056.80, -1210.70, -89.00, 2185.30, -1126.30, 110.90},
  333. { "Jefferson", 2185.30, -1210.70, -89.00, 2281.40, -1154.50, 110.90},
  334. { "Jefferson", 2056.80, -1449.60, -89.00, 2266.20, -1372.00, 110.90},
  335. { "Julius Thruway East", 2623.10, 943.20, -89.00, 2749.90, 1055.90, 110.90},
  336. { "Julius Thruway East", 2685.10, 1055.90, -89.00, 2749.90, 2626.50, 110.90},
  337. { "Julius Thruway East", 2536.40, 2442.50, -89.00, 2685.10, 2542.50, 110.90},
  338. { "Julius Thruway East", 2625.10, 2202.70, -89.00, 2685.10, 2442.50, 110.90},
  339. { "Julius Thruway North", 2498.20, 2542.50, -89.00, 2685.10, 2626.50, 110.90},
  340. { "Julius Thruway North", 2237.40, 2542.50, -89.00, 2498.20, 2663.10, 110.90},
  341. { "Julius Thruway North", 2121.40, 2508.20, -89.00, 2237.40, 2663.10, 110.90},
  342. { "Julius Thruway North", 1938.80, 2508.20, -89.00, 2121.40, 2624.20, 110.90},
  343. { "Julius Thruway North", 1534.50, 2433.20, -89.00, 1848.40, 2583.20, 110.90},
  344. { "Julius Thruway North", 1848.40, 2478.40, -89.00, 1938.80, 2553.40, 110.90},
  345. { "Julius Thruway North", 1704.50, 2342.80, -89.00, 1848.40, 2433.20, 110.90},
  346. { "Julius Thruway North", 1377.30, 2433.20, -89.00, 1534.50, 2507.20, 110.90},
  347. { "Julius Thruway South", 1457.30, 823.20, -89.00, 2377.30, 863.20, 110.90},
  348. { "Julius Thruway South", 2377.30, 788.80, -89.00, 2537.30, 897.90, 110.90},
  349. { "Julius Thruway West", 1197.30, 1163.30, -89.00, 1236.60, 2243.20, 110.90},
  350. { "Julius Thruway West", 1236.60, 2142.80, -89.00, 1297.40, 2243.20, 110.90},
  351. { "Juniper Hill", -2533.00, 578.30, -7.60, -2274.10, 968.30, 200.00},
  352. { "Juniper Hollow", -2533.00, 968.30, -6.10, -2274.10, 1358.90, 200.00},
  353. { "K.A.C.C. Military Fuels", 2498.20, 2626.50, -89.00, 2749.90, 2861.50, 110.90},
  354. { "Kincaid Bridge", -1339.80, 599.20, -89.00, -1213.90, 828.10, 110.90},
  355. { "Kincaid Bridge", -1213.90, 721.10, -89.00, -1087.90, 950.00, 110.90},
  356. { "Kincaid Bridge", -1087.90, 855.30, -89.00, -961.90, 986.20, 110.90},
  357. { "King's", -2329.30, 458.40, -7.60, -1993.20, 578.30, 200.00},
  358. { "King's", -2411.20, 265.20, -9.10, -1993.20, 373.50, 200.00},
  359. { "King's", -2253.50, 373.50, -9.10, -1993.20, 458.40, 200.00},
  360. { "LVA Freight Depot", 1457.30, 863.20, -89.00, 1777.40, 1143.20, 110.90},
  361. { "LVA Freight Depot", 1375.60, 919.40, -89.00, 1457.30, 1203.20, 110.90},
  362. { "LVA Freight Depot", 1277.00, 1087.60, -89.00, 1375.60, 1203.20, 110.90},
  363. { "LVA Freight Depot", 1315.30, 1044.60, -89.00, 1375.60, 1087.60, 110.90},
  364. { "LVA Freight Depot", 1236.60, 1163.40, -89.00, 1277.00, 1203.20, 110.90},
  365. { "Las Barrancas", -926.10, 1398.70, -3.00, -719.20, 1634.60, 200.00},
  366. { "Las Brujas", -365.10, 2123.00, -3.00, -208.50, 2217.60, 200.00},
  367. { "Las Colinas", 1994.30, -1100.80, -89.00, 2056.80, -920.80, 110.90},
  368. { "Las Colinas", 2056.80, -1126.30, -89.00, 2126.80, -920.80, 110.90},
  369. { "Las Colinas", 2185.30, -1154.50, -89.00, 2281.40, -934.40, 110.90},
  370. { "Las Colinas", 2126.80, -1126.30, -89.00, 2185.30, -934.40, 110.90},
  371. { "Las Colinas", 2747.70, -1120.00, -89.00, 2959.30, -945.00, 110.90},
  372. { "Las Colinas", 2632.70, -1135.00, -89.00, 2747.70, -945.00, 110.90},
  373. { "Las Colinas", 2281.40, -1135.00, -89.00, 2632.70, -945.00, 110.90},
  374. { "Las Payasadas", -354.30, 2580.30, 2.00, -133.60, 2816.80, 200.00},
  375. { "Las Venturas Airport", 1236.60, 1203.20, -89.00, 1457.30, 1883.10, 110.90},
  376. { "Las Venturas Airport", 1457.30, 1203.20, -89.00, 1777.30, 1883.10, 110.90},
  377. { "Las Venturas Airport", 1457.30, 1143.20, -89.00, 1777.40, 1203.20, 110.90},
  378. { "Las Venturas Airport", 1515.80, 1586.40, -12.50, 1729.90, 1714.50, 87.50},
  379. { "LVPD (Int)", 228.8148, 140.0497, 1003.0000, 248.7047, 169.0779, 1003.0400},
  380. { "LVPD (Int)", 188.3310, 156.6014, 1003.0000, 203.9910, 180.7771, 1003.0400},
  381. { "Last Dime Motel", 1823.00, 596.30, -89.00, 1997.20, 823.20, 110.90},
  382. { "Leafy Hollow", -1166.90, -1856.00, 0.00, -815.60, -1602.00, 200.00},
  383. { "Lil' Probe Inn", -90.20, 1286.80, -3.00, 153.80, 1554.10, 200.00},
  384. { "Linden Side", 2749.90, 943.20, -89.00, 2923.30, 1198.90, 110.90},
  385. { "Linden Station", 2749.90, 1198.90, -89.00, 2923.30, 1548.90, 110.90},
  386. { "Linden Station", 2811.20, 1229.50, -39.50, 2861.20, 1407.50, 60.40},
  387. { "Little Mexico", 1701.90, -1842.20, -89.00, 1812.60, -1722.20, 110.90},
  388. { "Little Mexico", 1758.90, -1722.20, -89.00, 1812.60, -1577.50, 110.90},
  389. { "Los Flores", 2581.70, -1454.30, -89.00, 2632.80, -1393.40, 110.90},
  390. { "Los Flores", 2581.70, -1393.40, -89.00, 2747.70, -1135.00, 110.90},
  391. { "Los Santos International", 1249.60, -2394.30, -89.00, 1852.00, -2179.20, 110.90},
  392. { "Los Santos International", 1852.00, -2394.30, -89.00, 2089.00, -2179.20, 110.90},
  393. { "Los Santos International", 1382.70, -2730.80, -89.00, 2201.80, -2394.30, 110.90},
  394. { "Los Santos International", 1974.60, -2394.30, -39.00, 2089.00, -2256.50, 60.90},
  395. { "Los Santos International", 1400.90, -2669.20, -39.00, 2189.80, -2597.20, 60.90},
  396. { "Los Santos International", 2051.60, -2597.20, -39.00, 2152.40, -2394.30, 60.90},
  397. { "Marina", 647.70, -1804.20, -89.00, 851.40, -1577.50, 110.90},
  398. { "Marina", 647.70, -1577.50, -89.00, 807.90, -1416.20, 110.90},
  399. { "Marina", 807.90, -1577.50, -89.00, 926.90, -1416.20, 110.90},
  400. { "Market", 787.40, -1416.20, -89.00, 1072.60, -1310.20, 110.90},
  401. { "Market", 952.60, -1310.20, -89.00, 1072.60, -1130.80, 110.90},
  402. { "Market", 1072.60, -1416.20, -89.00, 1370.80, -1130.80, 110.90},
  403. { "Market", 926.90, -1577.50, -89.00, 1370.80, -1416.20, 110.90},
  404. { "Market Station", 787.40, -1410.90, -34.10, 866.00, -1310.20, 65.80},
  405. { "Martin Bridge", -222.10, 293.30, 0.00, -122.10, 476.40, 200.00},
  406. { "Missionary Hill", -2994.40, -811.20, 0.00, -2178.60, -430.20, 200.00},
  407. { "Montgomery", 1119.50, 119.50, -3.00, 1451.40, 493.30, 200.00},
  408. { "Montgomery", 1451.40, 347.40, -6.10, 1582.40, 420.80, 200.00},
  409. { "Montgomery Intersection", 1546.60, 208.10, 0.00, 1745.80, 347.40, 200.00},
  410. { "Montgomery Intersection", 1582.40, 347.40, 0.00, 1664.60, 401.70, 200.00},
  411. { "Mulholland", 1414.00, -768.00, -89.00, 1667.60, -452.40, 110.90},
  412. { "Mulholland", 1281.10, -452.40, -89.00, 1641.10, -290.90, 110.90},
  413. { "Mulholland", 1269.10, -768.00, -89.00, 1414.00, -452.40, 110.90},
  414. { "Mulholland", 1357.00, -926.90, -89.00, 1463.90, -768.00, 110.90},
  415. { "Mulholland", 1318.10, -910.10, -89.00, 1357.00, -768.00, 110.90},
  416. { "Mulholland", 1169.10, -910.10, -89.00, 1318.10, -768.00, 110.90},
  417. { "Mulholland", 768.60, -954.60, -89.00, 952.60, -860.60, 110.90},
  418. { "Mulholland", 687.80, -860.60, -89.00, 911.80, -768.00, 110.90},
  419. { "Mulholland", 737.50, -768.00, -89.00, 1142.20, -674.80, 110.90},
  420. { "Mulholland", 1096.40, -910.10, -89.00, 1169.10, -768.00, 110.90},
  421. { "Mulholland", 952.60, -937.10, -89.00, 1096.40, -860.60, 110.90},
  422. { "Mulholland", 911.80, -860.60, -89.00, 1096.40, -768.00, 110.90},
  423. { "Mulholland", 861.00, -674.80, -89.00, 1156.50, -600.80, 110.90},
  424. { "Mulholland Intersection", 1463.90, -1150.80, -89.00, 1812.60, -768.00, 110.90},
  425. { "North Rock", 2285.30, -768.00, 0.00, 2770.50, -269.70, 200.00},
  426. { "Ocean Docks", 2373.70, -2697.00, -89.00, 2809.20, -2330.40, 110.90},
  427. { "Ocean Docks", 2201.80, -2418.30, -89.00, 2324.00, -2095.00, 110.90},
  428. { "Ocean Docks", 2324.00, -2302.30, -89.00, 2703.50, -2145.10, 110.90},
  429. { "Ocean Docks", 2089.00, -2394.30, -89.00, 2201.80, -2235.80, 110.90},
  430. { "Ocean Docks", 2201.80, -2730.80, -89.00, 2324.00, -2418.30, 110.90},
  431. { "Ocean Docks", 2703.50, -2302.30, -89.00, 2959.30, -2126.90, 110.90},
  432. { "Ocean Docks", 2324.00, -2145.10, -89.00, 2703.50, -2059.20, 110.90},
  433. { "Ocean Flats", -2994.40, 277.40, -9.10, -2867.80, 458.40, 200.00},
  434. { "Ocean Flats", -2994.40, -222.50, -0.00, -2593.40, 277.40, 200.00},
  435. { "Ocean Flats", -2994.40, -430.20, -0.00, -2831.80, -222.50, 200.00},
  436. { "Octane Springs", 338.60, 1228.50, 0.00, 664.30, 1655.00, 200.00},
  437. { "Old Venturas Strip", 2162.30, 2012.10, -89.00, 2685.10, 2202.70, 110.90},
  438. { "Palisades", -2994.40, 458.40, -6.10, -2741.00, 1339.60, 200.00},
  439. { "Paradiso", -2741.00, 793.40, -6.10, -2533.00, 1268.40, 200.00},
  440. { "Pershing Square", 1440.90, -1722.20, -89.00, 1583.50, -1577.50, 110.90},
  441. { "Pilgrim", 2437.30, 1383.20, -89.00, 2624.40, 1783.20, 110.90},
  442. { "Pilgrim", 2624.40, 1383.20, -89.00, 2685.10, 1783.20, 110.90},
  443. { "Pilson Intersection", 1098.30, 2243.20, -89.00, 1377.30, 2507.20, 110.90},
  444. { "Pirates in Men's Pants", 1817.30, 1469.20, -89.00, 2027.40, 1703.20, 110.90},
  445. { "Playa del Seville", 2703.50, -2126.90, -89.00, 2959.30, -1852.80, 110.90},
  446. { "Prickle Pine", 1534.50, 2583.20, -89.00, 1848.40, 2863.20, 110.90},
  447. { "Prickle Pine", 1117.40, 2507.20, -89.00, 1534.50, 2723.20, 110.90},
  448. { "Prickle Pine", 1848.40, 2553.40, -89.00, 1938.80, 2863.20, 110.90},
  449. { "Prickle Pine", 1938.80, 2624.20, -89.00, 2121.40, 2861.50, 110.90},
  450. { "Queens", -2533.00, 458.40, 0.00, -2329.30, 578.30, 200.00},
  451. { "Queens", -2593.40, 54.70, 0.00, -2411.20, 458.40, 200.00},
  452. { "Queens", -2411.20, 373.50, 0.00, -2253.50, 458.40, 200.00},
  453. { "Randolph Industrial Estate", 1558.00, 596.30, -89.00, 1823.00, 823.20, 110.90},
  454. { "Redsands East", 1817.30, 2011.80, -89.00, 2106.70, 2202.70, 110.90},
  455. { "Redsands East", 1817.30, 2202.70, -89.00, 2011.90, 2342.80, 110.90},
  456. { "Redsands East", 1848.40, 2342.80, -89.00, 2011.90, 2478.40, 110.90},
  457. { "Redsands West", 1236.60, 1883.10, -89.00, 1777.30, 2142.80, 110.90},
  458. { "Redsands West", 1297.40, 2142.80, -89.00, 1777.30, 2243.20, 110.90},
  459. { "Redsands West", 1377.30, 2243.20, -89.00, 1704.50, 2433.20, 110.90},
  460. { "Redsands West", 1704.50, 2243.20, -89.00, 1777.30, 2342.80, 110.90},
  461. { "Regular Tom", -405.70, 1712.80, -3.00, -276.70, 1892.70, 200.00},
  462. { "Richman", 647.50, -1118.20, -89.00, 787.40, -954.60, 110.90},
  463. { "Richman", 647.50, -954.60, -89.00, 768.60, -860.60, 110.90},
  464. { "Richman", 225.10, -1369.60, -89.00, 334.50, -1292.00, 110.90},
  465. { "Richman", 225.10, -1292.00, -89.00, 466.20, -1235.00, 110.90},
  466. { "Richman", 72.60, -1404.90, -89.00, 225.10, -1235.00, 110.90},
  467. { "Richman", 72.60, -1235.00, -89.00, 321.30, -1008.10, 110.90},
  468. { "Richman", 321.30, -1235.00, -89.00, 647.50, -1044.00, 110.90},
  469. { "Richman", 321.30, -1044.00, -89.00, 647.50, -860.60, 110.90},
  470. { "Richman", 321.30, -860.60, -89.00, 687.80, -768.00, 110.90},
  471. { "Richman", 321.30, -768.00, -89.00, 700.70, -674.80, 110.90},
  472. { "Robada Intersection", -1119.00, 1178.90, -89.00, -862.00, 1351.40, 110.90},
  473. { "Roca Escalante", 2237.40, 2202.70, -89.00, 2536.40, 2542.50, 110.90},
  474. { "Roca Escalante", 2536.40, 2202.70, -89.00, 2625.10, 2442.50, 110.90},
  475. { "Rockshore East", 2537.30, 676.50, -89.00, 2902.30, 943.20, 110.90},
  476. { "Rockshore West", 1997.20, 596.30, -89.00, 2377.30, 823.20, 110.90},
  477. { "Rockshore West", 2377.30, 596.30, -89.00, 2537.30, 788.80, 110.90},
  478. { "Rodeo", 72.60, -1684.60, -89.00, 225.10, -1544.10, 110.90},
  479. { "Rodeo", 72.60, -1544.10, -89.00, 225.10, -1404.90, 110.90},
  480. { "Rodeo", 225.10, -1684.60, -89.00, 312.80, -1501.90, 110.90},
  481. { "Rodeo", 225.10, -1501.90, -89.00, 334.50, -1369.60, 110.90},
  482. { "Rodeo", 334.50, -1501.90, -89.00, 422.60, -1406.00, 110.90},
  483. { "Rodeo", 312.80, -1684.60, -89.00, 422.60, -1501.90, 110.90},
  484. { "Rodeo", 422.60, -1684.60, -89.00, 558.00, -1570.20, 110.90},
  485. { "Rodeo", 558.00, -1684.60, -89.00, 647.50, -1384.90, 110.90},
  486. { "Rodeo", 466.20, -1570.20, -89.00, 558.00, -1385.00, 110.90},
  487. { "Rodeo", 422.60, -1570.20, -89.00, 466.20, -1406.00, 110.90},
  488. { "Rodeo", 466.20, -1385.00, -89.00, 647.50, -1235.00, 110.90},
  489. { "Rodeo", 334.50, -1406.00, -89.00, 466.20, -1292.00, 110.90},
  490. { "San Andreas Sound", 2450.30, 385.50, -100.00, 2759.20, 562.30, 200.00},
  491. { "Santa Flora", -2741.00, 458.40, -7.60, -2533.00, 793.40, 200.00},
  492. { "Santa Maria Beach", 342.60, -2173.20, -89.00, 647.70, -1684.60, 110.90},
  493. { "Santa Maria Beach", 72.60, -2173.20, -89.00, 342.60, -1684.60, 110.90},
  494. { "Shady Cabin", -1632.80, -2263.40, -3.00, -1601.30, -2231.70, 200.00},
  495. { "Shady Creeks", -1820.60, -2643.60, -8.00, -1226.70, -1771.60, 200.00},
  496. { "Shady Creeks", -2030.10, -2174.80, -6.10, -1820.60, -1771.60, 200.00},
  497. { "Sobell Rail Yards", 2749.90, 1548.90, -89.00, 2923.30, 1937.20, 110.90},
  498. { "Spinybed", 2121.40, 2663.10, -89.00, 2498.20, 2861.50, 110.90},
  499. { "Temple", 1252.30, -1130.80, -89.00, 1378.30, -1026.30, 110.90},
  500. { "Temple", 1252.30, -1026.30, -89.00, 1391.00, -926.90, 110.90},
  501. { "Temple", 1252.30, -926.90, -89.00, 1357.00, -910.10, 110.90},
  502. { "Temple", 952.60, -1130.80, -89.00, 1096.40, -937.10, 110.90},
  503. { "Temple", 1096.40, -1130.80, -89.00, 1252.30, -1026.30, 110.90},
  504. { "Temple", 1096.40, -1026.30, -89.00, 1252.30, -910.10, 110.90},
  505. { "The Emerald Isle", 2011.90, 2202.70, -89.00, 2237.40, 2508.20, 110.90},
  506. { "The Farm", -1209.60, -1317.10, 114.90, -908.10, -787.30, 251.90},
  507. { "The Mako Span", 1664.60, 401.70, 0.00, 1785.10, 567.20, 200.00},
  508. { "The Panopticon", -947.90, -304.30, -1.10, -319.60, 327.00, 200.00},
  509. { "The Sherman Dam", -968.70, 1929.40, -3.00, -481.10, 2155.20, 200.00},
  510. { "The Visage", 1817.30, 1863.20, -89.00, 2106.70, 2011.80, 110.90},
  511. { "The Visage", 1817.30, 1703.20, -89.00, 2027.40, 1863.20, 110.90},
  512. { "Unity Station", 1692.60, -1971.80, -20.40, 1812.60, -1932.80, 79.50},
  513. { "Valle Ocultado", -936.60, 2611.40, 2.00, -715.90, 2847.90, 200.00},
  514. { "Verdant Bluffs", 930.20, -2488.40, -89.00, 1249.60, -2006.70, 110.90},
  515. { "Verdant Bluffs", 1073.20, -2006.70, -89.00, 1249.60, -1842.20, 110.90},
  516. { "Verdant Bluffs", 1249.60, -2179.20, -89.00, 1692.60, -1842.20, 110.90},
  517. { "Verdant Meadows", 37.00, 2337.10, -3.00, 435.90, 2677.90, 200.00},
  518. { "Verona Beach", 647.70, -2173.20, -89.00, 930.20, -1804.20, 110.90},
  519. { "Verona Beach", 930.20, -2006.70, -89.00, 1073.20, -1804.20, 110.90},
  520. { "Verona Beach", 851.40, -1804.20, -89.00, 1046.10, -1577.50, 110.90},
  521. { "Verona Beach", 1161.50, -1722.20, -89.00, 1323.90, -1577.50, 110.90},
  522. { "Verona Beach", 1046.10, -1722.20, -89.00, 1161.50, -1577.50, 110.90},
  523. { "Vinewood", 787.40, -1310.20, -89.00, 952.60, -1130.80, 110.90},
  524. { "Vinewood", 787.40, -1130.80, -89.00, 952.60, -954.60, 110.90},
  525. { "Vinewood", 647.50, -1227.20, -89.00, 787.40, -1118.20, 110.90},
  526. { "Vinewood", 647.70, -1416.20, -89.00, 787.40, -1227.20, 110.90},
  527. { "Whitewood Estates", 883.30, 1726.20, -89.00, 1098.30, 2507.20, 110.90},
  528. { "Whitewood Estates", 1098.30, 1726.20, -89.00, 1197.30, 2243.20, 110.90},
  529. { "Willowfield", 1970.60, -2179.20, -89.00, 2089.00, -1852.80, 110.90},
  530. { "Willowfield", 2089.00, -2235.80, -89.00, 2201.80, -1989.90, 110.90},
  531. { "Willowfield", 2089.00, -1989.90, -89.00, 2324.00, -1852.80, 110.90},
  532. { "Willowfield", 2201.80, -2095.00, -89.00, 2324.00, -1989.90, 110.90},
  533. { "Willowfield", 2541.70, -1941.40, -89.00, 2703.50, -1852.80, 110.90},
  534. { "Willowfield", 2324.00, -2059.20, -89.00, 2541.70, -1852.80, 110.90},
  535. { "Willowfield", 2541.70, -2059.20, -89.00, 2703.50, -1941.40, 110.90},
  536. { "Yellow Bell Station", 1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00},
  537. { "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00},
  538. { "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00},
  539. { "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00},
  540. { "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00},
  541. { "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00},
  542. { "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00},
  543. { "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}};
  544.  
  545. new zoneupdates[MAX_PLAYERS];
  546. new player_zone[MAX_PLAYERS];
  547. new zoneupdate;
  548. public update_zones() {
  549. new line1[10];
  550. new line2[10];
  551.  
  552. for(new i=0; i<MAX_PLAYERS; i++) {
  553. if(IsPlayerConnected(i) && zoneupdates[i] == 1) {
  554. if(IsPlayerInZone(i,player_zone[i])) { }
  555. else {
  556.  
  557. new player_zone_before;
  558. player_zone_before = player_zone[i];
  559. player_zone[i] = -1;
  560.  
  561.  
  562. for(new j=0; j<sizeof(zones);j++) {
  563. if(IsPlayerInZone(i,j) && player_zone[i] == -1) {
  564.  
  565. if(player_zone_before == -1) GameTextForPlayer(i,zones[j][zone_name],1500,1);
  566. else if(strcmp(zones[j][zone_name],zones[player_zone_before][zone_name],true) != 0) GameTextForPlayer(i,zones[j][zone_name],1500,1);
  567.  
  568. player_zone[i] = j;
  569. format(line1,10,"p%dzone",i);
  570. format(line2,10,"%d",j);
  571.  
  572.  
  573.  
  574. }
  575. }
  576.  
  577.  
  578.  
  579. if(player_zone[i] == -1) player_zone[i] = player_zone_before;
  580. }
  581.  
  582.  
  583. }
  584. }
  585.  
  586.  
  587. }
  588.  
  589. IsPlayerInZone(playerid, zoneid) {
  590. if(zoneid == -1) return 0;
  591. new Float:x, Float:y, Float:z;
  592. GetPlayerPos(playerid,x,y,z);
  593. if(x >= zones[zoneid][zone_minx] && x < zones[zoneid][zone_maxx]
  594. && y >= zones[zoneid][zone_miny] && y < zones[zoneid][zone_maxy]
  595. && z >= zones[zoneid][zone_minz] && z < zones[zoneid][zone_maxz]
  596. && z < 1200.0000) return 1;
  597. return 0;
  598. }
  599. //-----------------------------------------------------DEFINES----------------------------------------------------------------------
  600. #define DISTANCE_SAY 4
  601. #define DISTANCE_WHISPER 2
  602. #define DISTANCE_SHOUT 8
  603. #define SendClientMessageToPlayer
  604. #define RETURNERROR 1
  605. #define FIX_DISTANCE 5.0 //Distance between players to be able to fix
  606. #define BREAK_DISTANCE 5.0 //Distance between players to be able to break
  607. #define CUFF/UNCUFF_DISTANCE 5.0 //Distance between players to be able to cuff/uncuff
  608. #define GetDistanceBetweenPlayers
  609. //-----------------------------------------------------------------FORWARDS------------------------------------------------------------------------
  610. forward Taze(playerid);
  611. forward ExitJail(playerid);
  612. forward countdown();
  613. forward ProxDetector(Float:radi, playerid, str[], col1, col2, col3, col4, col5);
  614. forward update_zones();
  615. forward ReqMechRecentTime();
  616. forward ReqBkRecentTime();
  617. forward CopBackUpColour();
  618. forward TaxiDriverTimer();
  619. forward TaxiPassengerTimer();
  620. forward TaxiDriverOffDutyCriminal();
  621. forward WantedLevelReduce();
  622. forward copshavevctimer();
  623. forward SandEngine();
  624. forward commitedcrimerecent();
  625. forward AutoUnjail();
  626. forward HandCuffed();
  627. forward EscapeCuffsTime();
  628. forward twofoursevenmoveplayer();
  629. forward JailCuffs();
  630. forward AutoUnjailAlcatraz();
  631. forward StoleCopCarRecentTimer();
  632. forward TriedToEscapePrisone();
  633. forward fixedcarrecenttimer();
  634. forward PolicePayDay();
  635. forward Tazingtime();
  636. forward Tazing();
  637. forward RapedPlayerRecent();
  638. forward WantedRed();
  639. forward WantedYellow();
  640. forward WantedOrange();
  641. forward WantedInnocent();
  642. forward WantedLevelReduce();
  643. forward IsStr(cmd[], str[] );
  644. forward HasChlamydia();
  645. forward HasSalmonella();
  646. forward InfectedPlayerRecent();
  647. forward VisitReqTimer();
  648. forward DialogTimeout(playerid);
  649. forward RobbedPlayerRecent();
  650. forward playerbeenrobbedrecent();
  651. forward CashCheck();
  652. forward AntiJetpack();
  653. forward EventTimer();
  654.  
  655. //-------------------------------------------------------------------------------------------------------------------------------------------------
  656. main()
  657. {
  658. print("\n----------------------------------");
  659. print(" Killdahobo99's Cops AND Robbers! ");
  660. print("----------------------------------\n");
  661. }
  662.  
  663. public OnGameModeInit()
  664. {
  665. ShowNameTags(1);
  666. ShowPlayerMarkers(1);
  667. AllowInteriorWeapons(1);
  668. UsePlayerPedAnims();
  669. SetTimer("UpdateCmdFreq",2000,1);
  670. SetTimer("ReqBkRecentTime",50000,1);
  671. SetTimer("TaxiPassengerTimer", 1000,1);
  672. SetTimer("TaxiDriverOffDutyCriminal",500,1);
  673. SetTimer("HandCuffed",5000,1);
  674. SetTimer("EscapeCuffsTime",1000,1);
  675. SetTimer("twofoursevenmoveplayer",1000,1);
  676. SetTimer("JailCuffs",5000,1);
  677. SetTimer("StoleCopCarRecentTimer",60000,1);
  678. SetTimer("TriedToEscapePrisone",40000,1);
  679. SetTimer("fixedcarrecenttimer",1000,1);
  680. SetTimer("PolicePayDay", 3700000,1);
  681. SetTimer("Tazing",300,1);
  682. SetTimer("WantedYellow",100,1);
  683. SetTimer("WantedOrange",100,1);
  684. SetTimer("WantedRed",100,1);
  685. SetTimer("WantedInnocent",100,1);
  686. SetTimer("WantedLevelReduce",1200000,1);
  687. SetTimer("HasChlamydia",10000,1);
  688. SetTimer("HasSalmonella",15000,1);
  689. SetTimer("InfectedPlayerRecent",61000,1);
  690. SetTimer("VisitReqTimer",1000,1);
  691. SetTimer("playerbeenrobbedrecent",1000,1);
  692. SetTimer("RobbedPlayerRecent",60000,1);
  693. SetTimer("CashCheck",2000,1);
  694. SetTimer("AntiJetpack",2000,1 );
  695.  
  696. //skins
  697. AddPlayerClass(281, 1958.3783, 1343.1572, 15.3746, 269.1425, 3, 1, 29, 1000, 27, 1000); //cops
  698. AddPlayerClass(282, 1958.3783, 1343.1572, 15.3746, 269.1425, 3, 1, 29, 1000, 27, 1000); //cops
  699. AddPlayerClass(283, 1958.3783, 1343.1572, 15.3746, 269.1425, 3, 1, 22, 1000, 27, 1000); //cops
  700. AddPlayerClass(284, 1958.3783, 1343.1572, 15.3746, 269.1425, 3, 1, 29, 1000, 27, 1000); //cops
  701. AddPlayerClass(100, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //RAPISTs
  702. AddPlayerClass(247, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //RAPISTs
  703. AddPlayerClass(248, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //RAPISTs
  704. AddPlayerClass(275, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 22, 100, 0, 0); //medics
  705. AddPlayerClass(276, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 22, 100, 0, 0); //medics
  706. AddPlayerClass(268, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 22, 100, 0, 0); //mechanic
  707. AddPlayerClass(133,1151.7200,1399.4144,5.8203,0.9030,22,50,0,0,0,0); // taxi spawn male
  708. AddPlayerClass(151,1151.7200,1399.4144,5.8203,0.9030,22,50,0,0,0,0); // taxi spawn female
  709. AddPlayerClass(7,2090.1008,2078.2600,10.8203,263.0699,0,0,0,0,0,0); // civil skin
  710. AddPlayerClass(12,2090.1008,2078.2600,10.8203,263.0699,0,0,0,0,0,0);// civil skin
  711. AddPlayerClass(23,2090.1008,2078.2600,10.8203,263.0699,0,0,0,0,0,0);// civil skin
  712. AddPlayerClass(29,2815.0498,2254.1252,10.8203,158.6954,0,0,0,0,0,0); // hoody skin civi
  713. AddPlayerClass(294,2814.0542,2253.4043,10.8203,315.9051,0,0,0,0,0,0); // woozie skin
  714. AddPlayerClass(214,2812.1963,2247.7256,10.8203,352.8735,0,0,0,0,0,0); // civi
  715. AddPlayerClass(1,2634.0793,1072.6293,10.8203,88.4012,0,0,0,0,0,0);// civil skin
  716. AddPlayerClass(15,2634.0793,1072.6293,10.8203,88.4012,0,0,0,0,0,0);// civil skin
  717. AddPlayerClass(34,2634.0793,1072.6293,10.8203,88.4012,0,0,0,0,0,0);// civil skin
  718. AddPlayerClass(2,2193.6528,2007.7402,12.2894,1.8574,0,0,0,0,0,0);// civil skin
  719. AddPlayerClass(9,2193.6528,2007.7402,12.2894,1.8574,0,0,0,0,0,0); // civil skin
  720. AddPlayerClass(19,2193.6528,2007.7402,12.2894,1.8574,0,0,0,0,0,0);// civil skin
  721. AddPlayerClass(22,2193.6528,2007.7402,12.2894,1.8574,0,0,0,0,0,0);// civil skin
  722. AddPlayerClass(26,2082.0784,2480.8333,10.8203,182.0390,0,0,0,0,0,0);// civil skin
  723. AddPlayerClass(31,2082.0784,2480.8333,10.8203,182.0390,0,0,0,0,0,0);// civil skin
  724. AddPlayerClass(45,2082.0784,2480.8333,10.8203,182.0390,0,0,0,0,0,0);// civil skin
  725. AddPlayerClass(46,2082.0784,2480.8333,10.8203,182.0390,0,0,0,0,0,0);// civil skin
  726. AddPlayerClass(9,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); // civil skin
  727. AddPlayerClass(13,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  728. AddPlayerClass(14,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  729. AddPlayerClass(24,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  730. AddPlayerClass(33,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  731. AddPlayerClass(36,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  732. AddPlayerClass(38,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  733. AddPlayerClass(52,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  734. AddPlayerClass(63,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  735. AddPlayerClass(75,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  736. AddPlayerClass(82,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  737. AddPlayerClass(87,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  738. AddPlayerClass(92,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  739. AddPlayerClass(94,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  740. AddPlayerClass(127,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  741. AddPlayerClass(128,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  742. AddPlayerClass(138,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  743. AddPlayerClass(146,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  744. AddPlayerClass(147,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  745. AddPlayerClass(158,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  746. AddPlayerClass(160,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  747. AddPlayerClass(204,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  748. AddPlayerClass(249,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  749. AddPlayerClass(264,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  750. AddPlayerClass(269,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  751. AddPlayerClass(270,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  752. AddPlayerClass(271,2193.7366,2007.4865,12.2894,358.2378,0,0,0,0,0,0); //civil skin
  753. AddPlayerClass(141,2193.5884,2007.4149,12.2894,355.9373,0,0,0,0,0,0); // gloris skin
  754. //cars
  755. AddStaticVehicle(411, 2040.2279, 1344.4127, 10.6719, 3.5436, 126, 54);//car at startup (pink one)
  756. AddStaticVehicle(525,1838.2072,-1871.2131,13.2668,359.8898,15,9); // towtruck spawn
  757. AddStaticVehicle(416,2001.6316,-1416.9932,17.1417,179.4604,1,3); // ambulance 1
  758. AddStaticVehicle(416,2031.3794,-1447.4681,17.2951,90.1763,1,3); // ambulance 2
  759. AddStaticVehicle(416,2041.5632,-1427.1017,17.3134,179.9384,1,3); // ambulance 3
  760. AddStaticVehicle(596,1595.6708,-1709.4218,5.6120,359.4651,0,1); // police car 1
  761. AddStaticVehicle(596,1591.3555,-1709.4719,5.6115,0.7742,0,1); // police car 2
  762. AddStaticVehicle(596,1587.4143,-1709.3801,5.6119,0.3866,0,1); // police car 3
  763. AddStaticVehicle(596,1583.4478,-1709.2052,5.6117,0.7722,0,1); // police car 4
  764. AddStaticVehicle(596,1578.4871,-1709.1460,5.6116,0.9822,0,1); // police car 5
  765. AddStaticVehicle(596,1574.5258,-1709.3149,5.6117,0.0858,0,1); // police car 6
  766. AddStaticVehicle(596,1570.1759,-1708.9761,5.6116,359.8893,0,1); // police car 7
  767. AddStaticVehicle(427,1586.2490,-1667.6289,6.0242,269.0723,0,1); // police truck 1
  768. AddStaticVehicle(523,1576.9045,-1620.3688,13.1121,177.8967,52,87); // police bike 1
  769. AddStaticVehicle(523,1575.2959,-1619.4702,13.1128,179.4936,52,87); // police bike 2
  770. AddStaticVehicle(523,1573.4370,-1619.1609,13.1174,178.7406,52,87); // police bike 3
  771. AddStaticVehicle(523,1571.4720,-1619.2458,13.1127,178.4413,52,87); // police bike 4
  772. AddStaticVehicle(523,1569.1483,-1619.2261,13.1170,178.8356,52,87); // police bike 5
  773. AddStaticVehicle(523,1567.3580,-1619.2892,13.1177,180.8754,52,87); // police bike 6
  774. AddStaticVehicle(523,1564.2758,-1618.6649,13.1172,179.9521,52,87); // police bike 7
  775. AddStaticVehicle(523,1560.9429,-1619.6959,13.1136,178.9873,52,87); // police bike 8
  776. AddStaticVehicle(596,1538.7184,-1646.4347,5.6117,179.2216,0,1); // police car 9
  777. AddStaticVehicle(596,1544.4259,-1654.7628,5.6119,88.4707,0,1); // police car 10
  778. AddStaticVehicle(596,1543.7122,-1667.8077,5.6117,91.4667,0,1); // police car 11
  779. AddStaticVehicle(596,1543.7365,-1684.3832,5.6121,89.5124,0,1); // police car 12
  780. AddStaticVehicle(601,1603.8721,-1604.6080,13.2646,89.2274,25,3); // police water truck
  781. AddStaticVehicle(497,1550.9861,-1609.5383,13.5597,267.1017,0,1); // police helicopter 1
  782. AddStaticVehicle(432,2785.5745,-2417.8245,13.5100,90.8903,15,9); // tank1
  783. AddStaticVehicle(432,2786.2795,-2455.9883,13.5101,90.1932,15,9); // tank2
  784. AddStaticVehicle(432,2787.8340,-2494.3132,13.5281,87.9262,15,9); // tank3
  785. AddStaticVehicle(420,1679.4591,-2249.7490,13.3541,89.8033,15,9); // taxi 1
  786. AddStaticVehicle(420,1671.7194,-2249.7466,13.3258,89.9032,15,9); // taxi 2
  787. AddStaticVehicle(420,1662.3582,-2249.7859,13.3183,90.3345,15,9); // taxi 3
  788. AddStaticVehicle(420,1699.7119,-2323.3850,13.3403,90.3001,15,9); // taxi 4
  789. AddStaticVehicle(420,1686.5626,-2323.7249,13.3389,91.4650,15,9); // taxi 5
  790. AddStaticVehicle(420,1673.2457,-2323.8757,13.3164,91.2138,15,9); // taxi 6
  791. AddStaticVehicle(409,1662.7511,-2260.3301,13.3722,90.3492,15,9); // limo 1
  792. AddStaticVehicle(409,1686.6589,-2260.2078,13.3998,90.5434,15,9); // limo 2
  793. return 1;
  794. }
  795.  
  796. public OnGameModeExit()
  797. {
  798. return 1;
  799. }
  800.  
  801.  
  802.  
  803.  
  804. //RANDOM PUBLICS:
  805. public SandEngine()
  806. {
  807. for(new v = 0; v < MAX_VEHICLES; v++)
  808. {
  809. if(SandInEngine[v] == 1)
  810. {
  811. new Float:vHealth;
  812. GetVehicleHealth(v, vHealth);
  813. SetVehicleHealth(v, vHealth -100);
  814.  
  815. }
  816. }
  817. }
  818.  
  819.  
  820. public AntiJetpack( )
  821. {
  822. for (new i = 0; i < MAX_PLAYERS; i++)
  823. {
  824. if(IsPlayerConnected(i) && IsSpawned[i] == 1)
  825. {
  826. new pSpecialAction = GetPlayerSpecialAction(i);
  827. if (pSpecialAction == SPECIAL_ACTION_USEJETPACK && PlayerAdminLevel[i] != 1337)
  828. {
  829. new inter;
  830. inter = GetPlayerInterior(i);
  831. GetPlayerName(i, pname, 30);
  832. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r",pname,i);
  833. SendClientMessageToAll(0xFF7F50AA, string);
  834. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN DETECTED AS A CHEATER/HACKER");
  835. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN BANNED FROM THIS SERVER");
  836. SendClientMessage(i,COLOR_RED,"If you think this is a mistake. Visit www.sa-rpg.co.uk to appeal this ban");
  837. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r Det:[JetPack] Int:[%d]",pname,i,inter);
  838. printf("%s", string);
  839. if(udb_Exists(PlayerName(i)) && PLAYERLIST_authed[i]) {
  840. dUserSetINT(PlayerName(i)).("nameban",1);
  841. }
  842. SetPlayerInterior(i,10);
  843. SetPlayerPos(i,219.6257,111.2549,999.0156);
  844. SetPlayerFacingAngle(i,2.2339);
  845. SetCameraBehindPlayer(i);
  846. Banning[i] = 1;
  847. SetTimer("BanPlayer",700,0);
  848. }
  849. }
  850. }
  851. }
  852. public weaponanti()
  853. {
  854. for (new i = 0; i < MAX_PLAYERS; i++)
  855. {
  856. if(IsPlayerConnected(i) && IsSpawned[i] == 1 && GetPlayerState(i) == PLAYER_STATE_ONFOOT)
  857. {
  858. if (GetPlayerWeapon(i) == 38 || GetPlayerWeapon(i) == 16 || GetPlayerWeapon(i) == 17 || GetPlayerWeapon(i) == 18 || GetPlayerWeapon(i) == 19 || GetPlayerWeapon(i) == 35 || GetPlayerWeapon(i) == 36 || GetPlayerWeapon(i) == 37 || GetPlayerWeapon(i) == 39 || GetPlayerWeapon(i) == 4)
  859. {
  860. if(PlayerAdminLevel[i] != 1337) {
  861. new pname[30];
  862. new string[256];
  863. new inter;
  864. inter = GetPlayerInterior(i);
  865. new wep = GetPlayerWeapon(i);
  866. GetPlayerName(i, pname, 30);
  867. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r",pname,i);
  868. SendClientMessageToAll(0xFF7F50AA, string);
  869. ircSay(EchoConnection, EchoChan,string);
  870. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN DETECTED AS A CHEATER/HACKER");
  871. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN BANNED FROM THIS SERVER");
  872. SendClientMessage(i,COLOR_RED,"If you think this is a mistake. Visit www.sa-rpg.co.uk to appeal this ban");
  873. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r Wep:[%d] Int:[%d]",pname,i,wep,inter);
  874. printf("%s", string);
  875. if(udb_Exists(PlayerName(i)) && PLAYERLIST_authed[i]) {
  876. dUserSetINT(PlayerName(i)).("nameban",1);
  877. }
  878. SetPlayerInterior(i,10);
  879. SetPlayerPos(i,219.6257,111.2549,999.0156);
  880. SetPlayerFacingAngle(i,2.2339);
  881. SetCameraBehindPlayer(i);
  882. Banning[i] = 1;
  883. SetTimer("BanPlayer",700,0);
  884.  
  885. }
  886. }
  887. }
  888. }
  889. }
  890. public CashCheck()
  891. {
  892. for(new i=0; i < MAX_PLAYERS; i++)
  893. {
  894. if (IsPlayerConnected(i))
  895. {
  896. if(GetPlayerMoney(i) > OldCash[i])
  897. {
  898. new pname[30];
  899. new string[100];
  900. new difference;
  901. difference = GetPlayerMoney(i) - OldCash[i];
  902. GetPlayerName(i,pname,30);
  903. printf("**(CASH INCREASE)** %s(%d) money has increased from $%d to $%d (%d) (%d)",pname,i,OldCash[i],GetPlayerMoney(i),difference,GetPlayerInterior(i));
  904. format(string, sizeof(string), "**(CASH INCREASE)** %s(%d) money has increased from $%d to $%d (%d) (%d)",pname,i,OldCash[i],GetPlayerMoney(i),difference,GetPlayerInterior(i));
  905. if(difference >= 1500000 && PlayerAdminLevel[i] != 1337) {
  906. ResetPlayerMoney(i);
  907. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r",pname,i);
  908. SendClientMessageToAll(0xFF7F50AA, string);
  909. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN DETECTED AS A CHEATER/HACKER");
  910. SendClientMessage(i,COLOR_RED,"YOU HAVE BEEN BANNED FROM THIS SERVER");
  911. SendClientMessage(i,COLOR_RED,"If you think this is a mistake. Visit www.sa-rpg.co.uk to appeal this ban");
  912. format(string, sizeof(string), "**(AUTO BAN)** %s(%d) Our Anti-Cheat has detected a hax0r Inc:[$%d] Int:[%d]",pname,i,difference,GetPlayerInterior(i));
  913. printf("%s", string);
  914. if(udb_Exists(PlayerName(i)) && PLAYERLIST_authed[i]) {
  915. dUserSetINT(PlayerName(i)).("nameban",1);
  916. }
  917. SetPlayerInterior(i,10);
  918. SetPlayerPos(i,219.6257,111.2549,999.0156);
  919. SetPlayerFacingAngle(i,2.2339);
  920. SetCameraBehindPlayer(i);
  921.  
  922. Banning[i] = 1;
  923. SetTimer("BanPlayer",700,0);
  924. }
  925. OldCash[i] = GetPlayerMoney(i);
  926. }
  927.  
  928. }
  929.  
  930. }
  931.  
  932. }
  933.  
  934. public playerbeenrobbedrecent()
  935. {
  936. for(new i=0; i < MAX_PLAYERS; i++)
  937. {
  938. if (IsPlayerConnected(i) && beenrobbedrecently[i] >=1)
  939. {
  940. beenrobbedrecently[i] --;
  941. }
  942. }
  943. }
  944. public RobbedPlayerRecent()
  945. {
  946. for(new i = 0; i < MAX_PLAYERS; i++)
  947. {
  948. if(RobbedPlyRecent[i] == 1)
  949. {
  950. RobbedPlyRecent[i] =0;
  951.  
  952. }
  953. }
  954. }
  955.  
  956. /*public PlayerVarDecrease()
  957. {
  958. for(new i=0; i < MAX_PLAYERS; i++)
  959. {
  960. if (IsPlayerConnected(i))
  961. {
  962. if(HasCried[i] >=1) {
  963. HasCried[i] --;
  964. }
  965. if(GotCopBriberecently[i] >= 1) {
  966. GotCopBriberecently[i] --;
  967. }
  968. if(SpamStrings[i] >=1) {
  969. SpamStrings[i] --;
  970. }
  971. }
  972. }
  973. }
  974.  
  975. */
  976.  
  977. public RapedPlayerRecent()
  978. {
  979. for(new i = 0; i < MAX_PLAYERS; i++)
  980. {
  981. if(RapedPlyRecent[i] == 1)
  982. {
  983. RapedPlyRecent[i] =0;
  984.  
  985. }
  986. }
  987. }
  988.  
  989. public DialogTimeout(playerid)
  990. {
  991. if(CanChooseSkill[playerid] == 1)
  992. {
  993. // Function to hide the dialogs & unfreeze them.
  994. CanChooseSkill[playerid] = 0;
  995. SendClientMessage(playerid, 0x1E90FFAA, "You didn't pick an option in time, therefore we gave you the rapist skill.");
  996. TogglePlayerControllable(playerid, 1);
  997. ShowPlayerDialog(playerid, -1, DIALOG_STYLE_INPUT, "Hi this is a useless piece of text", "oi","This too","And so is this."); // Using -1 as dialogid hides the dialogs.
  998. }
  999. return 1;
  1000. }
  1001.  
  1002. public VisitReqTimer()
  1003. {
  1004. for(new i=0; i < MAX_PLAYERS; i++)
  1005. {
  1006. if (IsPlayerConnected(i))
  1007. {
  1008. if(VisitReq[i] == 1)
  1009. {
  1010. if (VisitReqExpires[i] > 0)
  1011.  
  1012. {
  1013. VisitReqExpires[i] --;
  1014. }
  1015. if (VisitReqExpires[i] == 0)
  1016. {
  1017.  
  1018. SendClientMessage(i, 0xA9A9A9AA, "|_Alcatraz Visiting Pass Expired_|");
  1019. SendClientMessage(i,0x00C7FFAA,"The visiting pass given to you has expired");
  1020. VisitReq[i] =0;
  1021. VisitReqExpires[i] =0;
  1022. }
  1023. }
  1024. }
  1025. }
  1026. }
  1027.  
  1028. public HasSalmonella()
  1029. {
  1030. for(new i = 0; i < MAX_PLAYERS; i++)
  1031. {
  1032. new Float:health;
  1033. GetPlayerHealth(i, health);
  1034.  
  1035. if(Salmonella[i] == 1 && health > 5 && IsSpawned[i] == 1 && IsPlayerConnected(i))
  1036. {
  1037. SetPlayerHealth(i, health-5);
  1038. }
  1039. else
  1040. if(Salmonella[i] == 1 && health <= 5 && IsSpawned[i] == 1 && IsPlayerConnected(i))
  1041. {
  1042. new victim[24];
  1043. SetPlayerHealth(i, health-5);
  1044. GetPlayerName(i,victim, 24);
  1045. format(szstring, sizeof(szstring), "%s(%d) Has died from Salmonella",victim,i);
  1046. SendClientMessageToAll(0xB22222AA,szstring);
  1047. }
  1048. }
  1049. }
  1050.  
  1051. public HasChlamydia()
  1052. {
  1053. for(new i = 0; i < MAX_PLAYERS; i++)
  1054. {
  1055. new Float:health;
  1056. GetPlayerHealth(i, health);
  1057.  
  1058. if(Chlamydia[i] == 1 && health > 5 && IsSpawned[i] == 1 && IsPlayerConnected(i))
  1059. {
  1060. SetPlayerHealth(i, health-5);
  1061. }
  1062. else
  1063. if(Chlamydia[i] == 1 && health <= 5 && IsSpawned[i] == 1 && IsPlayerConnected(i))
  1064. {
  1065. new victim[24];
  1066. SetPlayerHealth(i, health-5);
  1067. GetPlayerName(i,victim, 24);
  1068. format(szstring, sizeof(szstring), "%s(%d) Has died from Chlamydia",victim,i);
  1069. SendClientMessageToAll(0xB22222AA,szstring);
  1070. }
  1071. }
  1072. }
  1073.  
  1074. public InfectedPlayerRecent()
  1075. {
  1076. for(new i = 0; i < MAX_PLAYERS; i++)
  1077. {
  1078. if(InfectedPlyRecent[i] == 1)
  1079. {
  1080. InfectedPlyRecent[i] =0;
  1081.  
  1082. }
  1083. }
  1084. }
  1085. public WantedOrange()
  1086. {
  1087. for(new i = 0; i < MAX_PLAYERS; i++)
  1088. {
  1089. if(IsSpawned[i] == 1)
  1090. {
  1091. if(GetPlayerWantedLevel(i) >= 4 && GetPlayerWantedLevel(i) <= 9)
  1092. {
  1093. SetPlayerColor(i, COLOR_ORANGE);
  1094. }
  1095. }
  1096. }
  1097. }
  1098. public WantedRed()
  1099. {
  1100. for(new i = 0; i < MAX_PLAYERS; i++)
  1101. {
  1102. if(IsSpawned[i] == 1)
  1103. {
  1104. if(GetPlayerWantedLevel(i) >= 10)
  1105. {
  1106. SetPlayerColor(i, COLOR_RED);
  1107. }
  1108. }
  1109. }
  1110. }
  1111.  
  1112. public WantedInnocent()
  1113. {
  1114. for(new i = 0; i < MAX_PLAYERS; i++)
  1115. {
  1116. if(IsSpawned[i] == 1 && gTeam[i] >= 3)
  1117. {
  1118. if(GetPlayerWantedLevel(i) == 0)
  1119. {
  1120. SetPlayerToTeamColour(i);
  1121. }
  1122. }
  1123. }
  1124. }
  1125.  
  1126. public Tazingtime()
  1127. {
  1128. for (new i = 0; i < MAX_PLAYERS; i++)
  1129. {
  1130. if(Tazed[i] == 1)
  1131. {
  1132. Tazed[i] =0;
  1133. TogglePlayerControllable(i, 1);
  1134.  
  1135. }
  1136. }
  1137. }
  1138. public Tazing()
  1139. {
  1140. for (new i = 0; i < MAX_PLAYERS; i++)
  1141. {
  1142. if(Tazed[i] == 1)
  1143. {
  1144.  
  1145. new Float:phealth;
  1146. GetPlayerHealth(i,phealth);
  1147. if(phealth > 50)
  1148. {
  1149. SetPlayerHealth(i, phealth-5);
  1150. PlayerPlaySound(i, 1190, 0.0, 0.0, 0.0);
  1151. TogglePlayerControllable(i, 0);
  1152. }
  1153. }
  1154. }
  1155. }
  1156.  
  1157. public PolicePayDay()
  1158. {
  1159. for (new i = 0; i < MAX_PLAYERS; i++)
  1160. {
  1161. if (gTeam[i] == TEAM_COP && GetPlayerColor(i) == COLOR_BLUE)
  1162. {
  1163. SendClientMessage(i,COLOR_ROYALBLUE,"SAPD RESOURCES: You have received your daily paycheck. $1500 ");
  1164. GivePlayerMoney(i,1500);
  1165. }
  1166. }
  1167. }
  1168. public fixedcarrecenttimer()
  1169. {
  1170. for(new i=0; i < MAX_PLAYERS; i++)
  1171. {
  1172. if (IsPlayerConnected(i) && IsSpawned[i] ==1)
  1173. {
  1174. if (fixedcarrecent[i] >= 1)
  1175.  
  1176. {
  1177. fixedcarrecent[i] --;
  1178. }
  1179. }
  1180. }
  1181. }
  1182.  
  1183. public TriedToEscapePrisone()
  1184. {
  1185. for(new i = 0; i < MAX_PLAYERS; i++)
  1186. {
  1187. if(IsPlayerConnected(i))
  1188. {
  1189. if(IsSpawned[i] == 1 && Jailed[i] == 1)
  1190. {
  1191. if(triedtoescaperecent[i] == 1)
  1192. {
  1193. triedtoescaperecent[i] =0;
  1194. } }
  1195. }
  1196. }
  1197. }
  1198.  
  1199. public EscapeCuffsTime()
  1200. {
  1201. for(new i=0; i < MAX_PLAYERS; i++)
  1202. {
  1203. if (IsPlayerConnected(i))
  1204. {
  1205. if(IsSpawned[i] == 1 && cuffed[i] == 1)
  1206. {
  1207. if (CuffedTime[i] >= 1)
  1208.  
  1209. {
  1210. CuffedTime[i] --;
  1211. }
  1212. }
  1213. }
  1214. }
  1215. }
  1216. public JailCuffs()
  1217. {
  1218. for(new i = 0; i < MAX_PLAYERS; i++)
  1219. {
  1220. if(Jailed[i] == 1)
  1221. {
  1222. LeftTwoFourSeven[i] =999;
  1223. TimeToMoveTwoFourSeven[i] =999;
  1224. TogglePlayerControllable(i, 1);
  1225. }
  1226. if(Jailed[i] == 1 && cuffed[i] == 1 && IsPlayerConnected(i))
  1227. {
  1228. cuffed[i] =0;
  1229. SendClientMessage(i,COLOR_WHITE,"LVPD Prison Service: Your handcuffs have been removed");
  1230. }
  1231. }
  1232. }
  1233. public HandCuffed()
  1234. {
  1235. for(new i = 0; i < MAX_PLAYERS; i++)
  1236. {
  1237. if(cuffed[i] == 1 && IsPlayerConnected(i))
  1238. {
  1239. GameTextForPlayer(i,"YOU ARE HANDCUFFED",4000,3);
  1240.  
  1241. }
  1242. }
  1243. }
  1244. public twofoursevenmoveplayer()
  1245. {
  1246. for (new i = 0; i < MAX_PLAYERS; i++)
  1247. {
  1248. if(IsPlayerConnected(i) && IsSpawned[i] == 1 && GetPlayerInterior(i) == 0 && Jailed[i] == 0)
  1249. {
  1250. if(TimeToMoveTwoFourSeven[i] >=1 && TimeToMoveTwoFourSeven[i] <=3)
  1251. {
  1252. TimeToMoveTwoFourSeven[i] --;
  1253. }
  1254. if(TimeToMoveTwoFourSeven[i] == 0)
  1255. {
  1256. if(LeftTwoFourSeven[i] == 1)
  1257. {
  1258. SetPlayerVirtualWorld(i,0);
  1259. SetPlayerInterior(i,0);
  1260. SetPlayerPos(i,1592.2305,2214.1846,10.8203);
  1261. SetPlayerFacingAngle(i,187.0764);
  1262. SetCameraBehindPlayer(i);
  1263. LeftTwoFourSeven[i] =999;
  1264. TimeToMoveTwoFourSeven[i] =999;
  1265. TogglePlayerControllable(i, 1);
  1266. }
  1267. if(LeftTwoFourSeven[i] == 2)
  1268. {
  1269. SetPlayerVirtualWorld(i,0);
  1270. SetPlayerInterior(i,0);
  1271. SetPlayerPos(i,2191.6472,2476.4624,10.8203);
  1272. SetPlayerFacingAngle(i,272.7751);
  1273. SetCameraBehindPlayer(i);
  1274. LeftTwoFourSeven[i] =999;
  1275. TimeToMoveTwoFourSeven[i] =999;
  1276. TogglePlayerControllable(i, 1);
  1277. }
  1278. if(LeftTwoFourSeven[i] == 3)
  1279. {
  1280. SetPlayerVirtualWorld(i,0);
  1281. SetPlayerInterior(i,0);
  1282. SetPlayerPos(i,2630.5876,1124.3673,10.8203);
  1283. SetPlayerFacingAngle(i,177.8683);
  1284. SetCameraBehindPlayer(i);
  1285. LeftTwoFourSeven[i] =999;
  1286. TimeToMoveTwoFourSeven[i] =999;
  1287. TogglePlayerControllable(i, 1);
  1288. }
  1289. if(LeftTwoFourSeven[i] == 4)
  1290. {
  1291. SetPlayerVirtualWorld(i,0);
  1292. SetPlayerInterior(i,0);
  1293. SetPlayerPos(i,2108.0222,901.5873,10.8203);
  1294. SetPlayerFacingAngle(i,2.9187);
  1295. SetCameraBehindPlayer(i);
  1296. LeftTwoFourSeven[i] =999;
  1297. TimeToMoveTwoFourSeven[i] =999;
  1298. TogglePlayerControllable(i, 1);
  1299. }
  1300. if(LeftTwoFourSeven[i] == 5)
  1301. {
  1302. SetPlayerVirtualWorld(i,0);
  1303. SetPlayerInterior(i,0);
  1304. SetPlayerPos(i,664.9492,1726.6813,6.9922);
  1305. SetPlayerFacingAngle(i,42.5792);
  1306. SetCameraBehindPlayer(i);
  1307. LeftTwoFourSeven[i] =999;
  1308. TimeToMoveTwoFourSeven[i] =999;
  1309. TogglePlayerControllable(i, 1);
  1310. }
  1311. if(LeftTwoFourSeven[i] == 6)
  1312. {
  1313. SetPlayerVirtualWorld(i,0);
  1314. SetPlayerInterior(i,0);
  1315. SetPlayerPos(i,2142.6326,2739.4309,10.8203);
  1316. SetPlayerFacingAngle(i,5.6754);
  1317. SetCameraBehindPlayer(i);
  1318. LeftTwoFourSeven[i] =999;
  1319. TimeToMoveTwoFourSeven[i] =999;
  1320. TogglePlayerControllable(i, 1);
  1321. }
  1322. }
  1323. }
  1324. }
  1325. }
  1326. public commitedcrimerecent()
  1327. {
  1328. for(new i = 0; i < MAX_PLAYERS; i++)
  1329. {
  1330. if(commitedcrimerecently[i] >= 1)
  1331. {
  1332. commitedcrimerecently[i] --;
  1333.  
  1334. }
  1335. }
  1336. }
  1337. public WantedLevelReduce()
  1338. {
  1339. for (new i = 0; i < MAX_PLAYERS; i++)
  1340. {
  1341. if(IsPlayerConnected(i))
  1342. {
  1343. if(IsSpawned[i] == 1)
  1344. {
  1345. if(commitedcrimerecently[i] == 0)
  1346. {
  1347. if(GetPlayerWantedLevel(i) >= 1)
  1348. {
  1349. if(copshavevc[i] == 0)
  1350. {
  1351. new plwl = GetPlayerWantedLevel(i);
  1352. SetPlayerWantedLevel(i,plwl -1);
  1353. new criminal[30];
  1354. plwl = GetPlayerWantedLevel(i);
  1355. new pcol = GetPlayerColor(i);
  1356. GetPlayerName(i,criminal,30);
  1357. format(szstring, sizeof(szstring), "Reduced Wanted Level: %d",plwl);
  1358. SendClientMessage(i, pcol, szstring);
  1359. format(szstring, sizeof(szstring), "**(Reduced Wanted Level)** %s(%d) New Wanted Level: %d",criminal,i,plwl);
  1360. printf("%s",szstring);
  1361. }
  1362. }
  1363. }
  1364. }
  1365. }
  1366. }
  1367. }
  1368.  
  1369. public AutoUnjailAlcatraz()
  1370. {
  1371. for(new i=0; i < MAX_PLAYERS; i++)
  1372. {
  1373. if (IsPlayerConnected(i))
  1374. {
  1375. if(Jailed[i] == 1 && InAlcatraz[i] == 1)
  1376. {
  1377. if (JailTime[i] > 0)
  1378.  
  1379. {
  1380. JailTime[i] --;
  1381. new jtime;
  1382. jtime = (JailTime[i]);
  1383. format(szstring, sizeof(szstring), "~w~ALCATRAZ~n~..JAILTIME..~n~ %d",jtime);
  1384. GameTextForPlayer(i, szstring, 3000,6);
  1385. JailTimeServed[i] ++;
  1386. }
  1387. if (JailTime[i] == 0)
  1388. {
  1389. GetPlayerName(i, pname, 24);
  1390. new timeserved;
  1391. timeserved = (JailTimeServed[i]);
  1392. SetPlayerPos(i,230.0633,121.7518,1010.2188);
  1393. SetPlayerFacingAngle(i,208.3710);
  1394. SetCameraBehindPlayer(i);
  1395. cannotescapejail[i] =0;
  1396. SendClientMessage(i, 0xA9A9A9AA, "|_Released From Alcatraz_|");
  1397. SendClientMessage(i,0x00C7FFAA,"You have been auto-released from Alcatraz. You are free to leave Alcatraz Island");
  1398. format(szstring, sizeof(szstring), "%s(%d) Has been auto-released from Alcatraz. Time Served: %d Seconds",pname,i,timeserved);
  1399. SendClientMessageToAll(0x00C7FFAA, szstring);
  1400. Jailed[i] = 0;
  1401. InAlcatraz[i] =0;
  1402. JailTimeServed[i] =0;
  1403. }
  1404. }
  1405. }
  1406. }
  1407. }
  1408.  
  1409. public AutoUnjail()
  1410. {
  1411. for(new i=0; i < MAX_PLAYERS; i++)
  1412. {
  1413. if (IsPlayerConnected(i))
  1414. {
  1415. if(Jailed[i] == 1 && InAlcatraz[i] == 0)
  1416. {
  1417. if (JailTime[i] > 0)
  1418.  
  1419. {
  1420. JailTime[i] --;
  1421. new jtime;
  1422. jtime = (JailTime[i]);
  1423. format(szstring, sizeof(szstring), "~w~..JAILTIME..~n~ %d",jtime);
  1424. GameTextForPlayer(i, szstring, 3000,6);
  1425. JailTimeServed[i] ++;
  1426. }
  1427. if (JailTime[i] == 0)
  1428. {
  1429. GetPlayerName(i, pname, 24);
  1430. new timeserved;
  1431. timeserved = (JailTimeServed[i]);
  1432. SetPlayerInterior(i,3);
  1433. SetPlayerPos(i,210.5272,146.3341,1003.0234);
  1434. SetPlayerFacingAngle(i,179.4662);
  1435. SetCameraBehindPlayer(i);
  1436. cannotescapejail[i] =0;
  1437. SendClientMessage(i, 0xA9A9A9AA, "|_Released From Jail_|");
  1438. SendClientMessage(i,0x00C7FFAA,"You have been auto-released from jail. You are free to leave the Police Station");
  1439. format(szstring, sizeof(szstring), "%s(%d) Has been auto-released from jail. JailTime Served: %d Seconds",pname,i,timeserved);
  1440. SendClientMessageToAll(0x00C7FFAA, szstring);
  1441. Jailed[i] = 0;
  1442. JailTimeServed[i] =0;
  1443. }
  1444. }
  1445. }
  1446. }
  1447. }
  1448. public StoleCopCarRecentTimer()
  1449. {
  1450. for(new i = 0; i < MAX_PLAYERS; i++)
  1451. {
  1452. if(StoleCopCarRecent[i] == 1 && IsPlayerConnected(i))
  1453. {
  1454. StoleCopCarRecent[i] =0;
  1455.  
  1456. }
  1457. }
  1458. }
  1459.  
  1460. //------------------------------------------------------------------
  1461.  
  1462. //RANDOM SPAWNS
  1463. // Alcatraz random jail spawns
  1464. new Float:AlcatrazArrestedSpawn[3][4] =
  1465. {
  1466. {219.5959,110.5754,999.0156,329.5980},
  1467. {223.3139,111.6365,999.0156,181.6979},
  1468. {227.4478,110.4877,999.0156,335.7287}
  1469. };
  1470. // Arrested random jail spawns
  1471. new Float:ArrestedSpawn[3][4] =
  1472. {
  1473. {198.1349,162.0804,1003.0300,24.3831},
  1474. {198.1261,174.6805,1003.0234,209.8438},
  1475. {193.7771,175.3129,1003.0234,337.1648}
  1476. };
  1477. //---------------------------------------
  1478. public OnPlayerRequestClass(playerid, classid)
  1479. {
  1480. SetPlayerTeamFromClass(playerid, classid);
  1481. SetPlayerColor(playerid,COLOR_DEADCONNECT);
  1482. SetPlayerPos(playerid, 1578.7716, -1696.0856, 6.2187);
  1483. SetPlayerInterior(playerid, 0);
  1484. SetPlayerFacingAngle(playerid, 44.5271);
  1485. SetPlayerCameraPos(playerid, 1575.2716, -1692.0856, 7.7187);
  1486. SetPlayerCameraLookAt(playerid, 1578.7716, -1696.0856, 6.2187);
  1487.  
  1488. if (classid >= 0 && classid <= 3)
  1489. {
  1490. SetPlayerTeamFromClass(playerid, classid);
  1491. SetPlayerToTeamColor(playerid);
  1492. SetPlayerPos(playerid, 1574.4642,-1694.2188,6.2188);
  1493. GameTextForPlayer(playerid, "~b~POLICE OFFICER~n~~w~CITY OFFICER", 3000, 5);
  1494. }
  1495. if (classid >= 4 && classid <= 6)
  1496. {
  1497. SetPlayerTeamFromClass(playerid, classid);
  1498. SetPlayerToTeamColor(playerid);
  1499. SetPlayerPos(playerid, 1879.6774,-2543.1067,17.2344);
  1500. GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~~r~~h~RAPIST TEAM!", 6000, 6);
  1501. }
  1502. if (classid >= 7 && classid <= 8)
  1503. {
  1504. SetPlayerTeamFromClass(playerid, classid);
  1505. SetPlayerToTeamColor(playerid);
  1506. SetPlayerPos(playerid, 1879.6774,-2543.1067,17.2344);
  1507. GameTextForPlayer(playerid, "~b~MEDIC", 3000, 5);
  1508. }
  1509. if (classid >= 9 && classid <=9)
  1510. {
  1511. SetPlayerTeamFromClass(playerid, classid);
  1512. SetPlayerToTeamColor(playerid);
  1513. SetPlayerPos(playerid, 1879.6774,-2543.1067,17.2344);
  1514. GameTextForPlayer(playerid, "~w~CAR MECHANIC", 3000, 5);
  1515. }
  1516. if (classid >= 10 && classid <= 11)
  1517. {
  1518. SetPlayerTeamFromClass(playerid, classid);
  1519. SetPlayerToTeamColor(playerid);
  1520. SetPlayerPos(playerid, 1879.6774,-2543.1067,17.2344);
  1521. GameTextForPlayer(playerid, "~g~TAXI DRIVER", 3000, 5);
  1522. }
  1523. if (classid >= 12 && classid <= 57)
  1524. {
  1525. SetPlayerTeamFromClass(playerid, classid);
  1526. SetPlayerToTeamColor(playerid);
  1527. SetPlayerPos(playerid, 1879.6774,-2543.1067,17.2344);
  1528. GameTextForPlayer(playerid, "~w~CIVILIAN~b~~n~CHOOSE A JOB WHEN YOU SPAWN", 3000, 5);
  1529. }
  1530. return 1;
  1531. }
  1532.  
  1533. SetPlayerTeamFromClass(playerid, classid)
  1534. {
  1535. if (classid >= 0 && classid <= 3)
  1536. {
  1537. gTeam[playerid] = TEAM_COP;
  1538. }
  1539. else if (classid >= 4 && classid <= 6)
  1540. {
  1541. gTeam[playerid] = TEAM_RAPIST;
  1542. }
  1543. else if (classid >= 7 && classid <= 8)
  1544. {
  1545. gTeam[playerid] = TEAM_MEDIC;
  1546. }
  1547. else if (classid == 9)
  1548. {
  1549. gTeam[playerid] = TEAM_MECHANIC;
  1550. }
  1551. else if (classid >= 10 && classid <= 11)
  1552. {
  1553. gTeam[playerid] = TEAM_DRIVER;
  1554. }
  1555. else if (classid >= 13 && classid <= 57)
  1556. {
  1557. gTeam[playerid] = TEAM_CIVIL;
  1558. }
  1559. return 1;
  1560. }
  1561.  
  1562. SetPlayerToTeamColor(playerid)
  1563. {
  1564. if (gTeam[playerid] == TEAM_COP)
  1565. {
  1566. SetPlayerColor(playerid, COLOR_BLUE);
  1567. }
  1568. else if (gTeam[playerid] == TEAM_RAPIST)
  1569. {
  1570. SetPlayerColor(playerid, COLOR_YELLOWGREEN);
  1571. }
  1572. else if (gTeam[playerid] == TEAM_MEDIC)
  1573. {
  1574. SetPlayerColor(playerid, COLOR_VERYPINK);
  1575. }
  1576. else if (gTeam[playerid] == TEAM_MECHANIC)
  1577. {
  1578. SetPlayerColor(playerid, COLOR_WHITE);
  1579. }
  1580. else if (gTeam[playerid] == TEAM_DRIVER)
  1581. {
  1582. SetPlayerColor(playerid, COLOR_WHITE);
  1583. }
  1584. else if (gTeam[playerid] == TEAM_CIVIL)
  1585. {
  1586. SetPlayerColor(playerid, COLOR_WHITE);
  1587. }
  1588. return 1;
  1589. }
  1590.  
  1591. public OnPlayerRequestSpawn(playerid)
  1592. {
  1593. return 1;
  1594. }
  1595.  
  1596. public OnPlayerConnect(playerid)
  1597. {
  1598. Jailed[playerid] = 0;
  1599. TogglePlayerClock(playerid, 1);
  1600. SetPlayerMapIcon( playerid, 1, 1568.9421,-1626.2323,13.3828, 30, 0 );
  1601. RecentAskedMechanic[playerid] =0;
  1602. SetPlayerVirtualWorld(playerid,0);
  1603. ResetPlayerWeapons(playerid);
  1604. VisitReq[playerid] =0;
  1605. VisitReqExpires[playerid] =0;
  1606. player_zone[playerid] = -1;
  1607. LawEnforcementRadio[playerid] =0;
  1608. HasLawEnforcementRadio[playerid] =0;
  1609. ReqBk[playerid] =0;
  1610. ReqBkRecent[playerid] =0;
  1611. Driveronduty[playerid] =0;
  1612. InBank[playerid] =0;
  1613. hastazer[playerid] =0;
  1614. commitedcrimerecently[playerid] =0;
  1615. cuffed[playerid] =0;
  1616. CasSecLastPlayerCuffed[playerid] =999;
  1617. LeftTwoFourSeven[playerid] =999;
  1618. InAlcatraz[playerid] =0;
  1619. JailTime[playerid] =0;
  1620. cannotescapejail[playerid] =0;
  1621. StoleCopCarRecent[playerid] =0;
  1622. triedtoescaperecent[playerid] =0;
  1623. EscapedConvict[playerid] =0;
  1624. fixedcarrecent[playerid] =0;
  1625. Tazed[playerid] =0;
  1626. lowwantedkiller[playerid] =0;
  1627. Salmonella[playerid] =0;
  1628. lowwantedkiller[playerid] =0;
  1629. wantsheal[playerid] =0;
  1630. Chlamydia[playerid] =0;
  1631. SpamStrings[playerid] =0;
  1632. Muted[playerid] =0;
  1633. RobbedPlyRecent[playerid] =0;
  1634. beenrobbedrecently[playerid] =0;
  1635. HasWallet[playerid] =0;
  1636. PlayerAdminLevel[playerid] =0;
  1637. Kicking[playerid] =0;
  1638. return 1;
  1639. }
  1640. public OnPlayerDisconnect(playerid, reason)
  1641. {
  1642. Jailed[playerid] = 0;
  1643. Kicking[playerid] = 0;
  1644. player_zone[playerid] = -1;
  1645. PlayerAdminLevel[playerid] =0;
  1646. if (PLAYERLIST_authed[playerid]) {
  1647. dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
  1648. dUserSetINT(PlayerName(playerid)).("score",GetPlayerScore(playerid));
  1649. dUserSetINT(PlayerName(playerid)).("robrank",robberrank[playerid]);
  1650. dUserSetINT(PlayerName(playerid)).("respect",respect[playerid]);
  1651. dUserSetINT(PlayerName(playerid)).("teamkills",teamkiller[playerid]);
  1652. dUserSetINT(PlayerName(playerid)).("innocentkills",innocentkiller[playerid]);
  1653. dUserSetINT(PlayerName(playerid)).("lowwantedkills",lowwantedkiller[playerid]);
  1654. dUserSetINT(PlayerName(playerid)).("cashinsured",BankRobInsurance[playerid]);
  1655. return 1;
  1656. }
  1657.  
  1658. public OnPlayerSpawn(playerid)
  1659. {
  1660. SetCameraBehindPlayer(playerid);
  1661. SetPlayerWantedLevel(playerid, 0);
  1662. SetPlayerToTeamColour(playerid);
  1663. IsSpawned[playerid] =1;
  1664. player_zone[playerid] = -1;
  1665. zoneupdates[playerid] = 1;
  1666. player_zone[playerid] = -1;
  1667. RobbedPlyRecent[playerid] =1;
  1668. if(!zoneupdate) zoneupdate = SetTimer("update_zones",1000,4);
  1669.  
  1670. IsSpawned[playerid] =1;
  1671.  
  1672. if (gTeam[playerid] == TEAM_MEDIC)
  1673. {
  1674. SetPlayerPos( playerid, 2017.6257, -1412.9340, 16.9922);
  1675. }
  1676.  
  1677. else if(gTeam[playerid] == TEAM_COP)
  1678. {
  1679. SendClientMessage(playerid,0x1E90FFAA, "Type /commands for your commands");
  1680. SendClientMessage(playerid,0x1E90FFAA, "POLICE OFFICER: Your job is to keep criminals off the streets of San Andreas");
  1681. SendClientMessage(playerid,0x1E90FFAA, "Remember: This is not a deathmatch server. Please abide by the /rules and enjoy");
  1682. hastazer[playerid] =1;
  1683. HasLawEnforcementRadio[playerid] =1;
  1684. LawEnforcementRadio[playerid] =1;
  1685. SetPlayerPos( playerid, 1574.4642,-1694.2188, 6.2188);
  1686. TextDrawShowForPlayer(playerid,txtTypeSkill1);
  1687.  
  1688. }
  1689. else if(gTeam[playerid] == TEAM_MECHANIC)
  1690. {
  1691.  
  1692. SendClientMessage(playerid,0x1E90FFAA, "Type /commands for your commands");
  1693. SendClientMessage(playerid,0x1E90FFAA, "CAR MECHANIC: You can fix beat up cars");
  1694. SendClientMessage(playerid,0x1E90FFAA, "Look out for players needing your services on the chat");
  1695. SendClientMessage(playerid,0x1E90FFAA, "Remember: This is not a deathmatch server. Please abide by the /rules and enjoy");
  1696. SetPlayerPos( playerid, 1848.1210, -1863.0183, 13.5781);
  1697. TextDrawShowForPlayer(playerid,txtTypeSkill3);
  1698.  
  1699. }
  1700.  
  1701. else if (gTeam[playerid] == TEAM_DRIVER)
  1702. {
  1703. SetPlayerPos( playerid, 1679.4591,-2249.7490, 13.3541);
  1704. }
  1705.  
  1706. else if (gTeam[playerid] == TEAM_CIVIL)
  1707. {
  1708. SetPlayerPos( playerid, 2102.7009, -1806.6798, 13.5547 );
  1709. SetPlayerFacingAngle(playerid, 88.6658);
  1710. SetTimerEx("DialogTimeout", 60000, false, "i", playerid);
  1711.  
  1712. CanChooseSkill[playerid] = 1;
  1713. TogglePlayerControllable(playerid, 0);
  1714. SendClientMessage(playerid, 0x1E90FFAA, "Use /skill to pick a skill. If you don't pick one, you'll be given one automatically.");
  1715. SendClientMessage(playerid, 0x1E90FFAA, "You have 60 seconds to pick a skill.");
  1716. }
  1717. return 1;
  1718. }
  1719.  
  1720. public OnPlayerDeath(playerid, killerid, reason)
  1721. {
  1722. cuffed[playerid] =0;
  1723. JailTime[playerid] =0;
  1724. InAlcatraz[playerid] =0;
  1725. cannotescapejail[playerid] =0;
  1726. triedtoescaperecent[playerid] =0;
  1727. EscapedConvict[playerid] =0;
  1728. IsSpawned[playerid] =0;
  1729. HasLawEnforcementRadio[playerid] =0;
  1730. LawEnforcementRadio[playerid] =0;
  1731. Tazed[playerid] =0;
  1732. wantsheal[playerid] =0;
  1733. Chlamydia[playerid] =0;
  1734. Salmonella[playerid] =0;
  1735. VisitReq[playerid] =0;
  1736. VisitReqExpires[playerid] =0;
  1737. InBank[playerid] =0;
  1738. HasWallet[playerid] =0;
  1739. return 1;
  1740. }
  1741.  
  1742. public OnVehicleSpawn(vehicleid)
  1743. {
  1744. return 1;
  1745. }
  1746.  
  1747. public OnVehicleDeath(vehicleid, killerid)
  1748. {
  1749. DestroyVehicle(vehicleid);
  1750. SandInEngine[vehicleid] =0;
  1751. return 1;
  1752. }
  1753.  
  1754. public OnPlayerText(playerid, text[])
  1755. {
  1756. if(SpamStrings[playerid] >= 1) {
  1757. SendClientMessage(playerid, COLOR_ERROR, "DO NOT SPAM! Please wait before talking again!");
  1758. return 0;
  1759. }
  1760. if(Muted[playerid] == 1)
  1761. {
  1762. SendClientMessage(playerid, COLOR_ERROR, "You are Muted. You Cannot Chat");
  1763. return 0;
  1764. }
  1765. if(strfind(text,"rcon",true)!= -1 )
  1766. {
  1767. return 0;
  1768. }
  1769. if(strfind(text,"login",true)!= -1 )
  1770. {
  1771. return 0;
  1772. }
  1773.  
  1774. new msg[128];
  1775. new name[32];
  1776. GetPlayerName(playerid, name, sizeof(name));
  1777. format(msg, sizeof(msg), "\2;%s(%i)\2; - %s",name,playerid,text); // [0] <jacob> hi
  1778.  
  1779. SpamStrings[playerid] ++;
  1780. return 1;
  1781. }
  1782. public OnPlayerCommandText(playerid,cmdtext[])
  1783. {
  1784. new cmd[256];
  1785. new tmp[256];
  1786. new idx;
  1787. new giveplayerid;
  1788. cmd = strtok(cmdtext, idx);
  1789.  
  1790. if(strcmp(cmd, "/cuff", true) == 0) {
  1791. if(IsSpawned[playerid] == 0) {
  1792. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  1793. return 1;
  1794. }
  1795. if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid]) {
  1796. SendClientMessage(playerid,COLOR_ERROR,"You are not Law Enforcement");
  1797. return 1;
  1798. }
  1799. if(Jailed[playerid] ==1) {
  1800. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  1801. return 1;
  1802. }
  1803. tmp = strtok(cmdtext, idx);
  1804. if(!strlen(tmp)) {
  1805. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /cuff (id)");
  1806. return 1;
  1807. }
  1808. giveplayerid = strval(tmp);
  1809. if(!IsPlayerConnected(giveplayerid)) {
  1810. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  1811. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1812. return 1;
  1813. }
  1814. GetPlayerName(playerid,oname, 24);
  1815. GetPlayerName(giveplayerid, pname, 24);
  1816.  
  1817. if(!IsNumeric(tmp)) {
  1818. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /cuff (id) ID Must be a number");
  1819. return 1;
  1820. }
  1821.  
  1822. if(gTeam[giveplayerid] <= 2) {
  1823. SendClientMessage(playerid, COLOR_ERROR, "You cannot handcuff a Law Enforcement agent");
  1824. return 1;
  1825. }
  1826. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 4) {
  1827. format(szstring, sizeof(szstring), "%s(%d) Is not close enough you cannot handcuff that player",pname, giveplayerid);
  1828. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1829. return 1;
  1830. }
  1831. if(cuffed[giveplayerid] == 1) {
  1832. format(szstring, sizeof(szstring), "%s(%d) Is already handcuffed",pname, giveplayerid);
  1833. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1834. return 1;
  1835. }
  1836. if(Jailed[giveplayerid] == 1) {
  1837. format(szstring, sizeof(szstring), "%s(%d) Is in jail. You cannot handcuff a prisoner",pname, giveplayerid);
  1838. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1839. return 1;
  1840. }
  1841. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  1842. SendClientMessage(playerid, COLOR_ERROR, "You cannot handcuff a player from inside a car");
  1843. return 1;
  1844. }
  1845. if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) {
  1846. SendClientMessage(playerid, COLOR_ERROR, "You cannot handcuff a player from inside a car");
  1847. return 1;
  1848. }
  1849. if(GetPlayerState(giveplayerid) == PLAYER_STATE_PASSENGER) {
  1850. format(szstring, sizeof(szstring), "%s(%d) Is in a vehicle. Ask the player to get out before trying to use your handcuffs", pname, giveplayerid);
  1851. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1852. return 1;
  1853. }
  1854. if(GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER) {
  1855. format(szstring, sizeof(szstring), "%s(%d) Is in a vehicle. Ask the player to get out before trying to use your handcuffs", pname, giveplayerid);
  1856. SendClientMessage(playerid, COLOR_ERROR, szstring);
  1857. return 1;
  1858. }
  1859.  
  1860. if(GetPlayerState(giveplayerid) == PLAYER_STATE_ONFOOT) {
  1861. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Handcuffed_|");
  1862. format(szstring, sizeof(szstring), "%s(%d): Has put handcuffs on you. Use /breakcuffs to attempt an escape",oname, playerid);
  1863. SendClientMessage(giveplayerid, COLOR_DODGERBLUE, szstring);
  1864. TogglePlayerControllable(giveplayerid, 0);
  1865. cuffed[giveplayerid] =1;
  1866. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Handcuffed_|");
  1867. format(szstring, sizeof(szstring), "You have placed %s(%d) in handcuffs. Use /search (id) to search for illegal items", pname, giveplayerid);
  1868. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  1869. format(szstring, sizeof(szstring), "Use /ar to arrest this player if he is warrant (Orange/Red).", pname, giveplayerid);
  1870. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  1871. format(szstring, sizeof(szstring), "DO NOT GO AWAY AND LEAVE PLAYERS HANDCUFFED. YOU WILL BE KICKED IF YOU DO", pname, giveplayerid);
  1872. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  1873. }
  1874. return 1;
  1875. }
  1876.  
  1877. if(strcmp(cmd, "/rob", true) == 0) {
  1878. if(IsSpawned[playerid] == 0) {
  1879. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  1880. return 1;
  1881. }
  1882. if(cuffed[playerid] == 1) {
  1883. SendClientMessage(playerid,COLOR_ERROR,"You are handcuffed. You cannot use this command");
  1884. return 1;
  1885. }
  1886. if(Jailed[playerid] == 1) {
  1887. SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command in jail");
  1888. return 1;
  1889. }
  1890. if(gTeam[playerid] == TEAM_COP) {
  1891. SendClientMessage(playerid,COLOR_ERROR,"Law Enforcement agents cannot rob people");
  1892. return 1;
  1893. }
  1894. if(gTeam[playerid] == TEAM_ARMY) {
  1895. SendClientMessage(playerid,COLOR_ERROR,"Law Enforcement agents cannot rob people");
  1896. return 1;
  1897. }
  1898. if(gTeam[playerid] == TEAM_LAWYER) {
  1899. SendClientMessage(playerid,COLOR_ERROR,"Lawyers cannot rob people");
  1900. return 1;
  1901. }
  1902. if(gTeam[playerid] == TEAM_CASSEC) {
  1903. SendClientMessage(playerid,COLOR_ERROR,"Casino Security agents cannot rob people");
  1904. return 1;
  1905. }
  1906. if(gTeam[playerid] == TEAM_MEDIC) {
  1907. SendClientMessage(playerid,COLOR_ERROR,"Medics cannot rob people");
  1908. return 1;
  1909. }
  1910. if(gTeam[playerid] == TEAM_JAILTK) {
  1911. SendClientMessage(playerid,COLOR_ERROR,"Jail Turnkeys cannot rob people");
  1912. return 1;
  1913. }
  1914. if(RobbedPlyRecent[playerid] == 1) {
  1915. SendClientMessage(playerid,COLOR_ERROR,"Command used recently... Please wait");
  1916. return 1;
  1917. }
  1918.  
  1919. if(InBank[playerid] == 1) {
  1920. SendClientMessage(playerid, COLOR_ERROR, "You cannot rob a player inside the bank");
  1921. return 1;
  1922. }
  1923. tmp = strtok(cmdtext, idx);
  1924. if(!strlen(tmp)) {
  1925. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rob (id)");
  1926. return 1;
  1927. }
  1928. if(!IsNumeric(tmp)) {
  1929. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rob (id) ID Must be a number");
  1930. return 1;
  1931. }
  1932. if(strval(tmp) == playerid) {
  1933. SendClientMessage(playerid, COLOR_ERROR, "You cannot rob yourself");
  1934. return 1;
  1935. }
  1936. giveplayerid = strval(tmp);
  1937. if(!IsPlayerConnected(giveplayerid)) {
  1938. format(string, sizeof(string), "ID (%d) is not an active player", giveplayerid);
  1939. SendClientMessage(playerid, COLOR_ERROR, string);
  1940. return 1;
  1941. }
  1942. new rname[24];
  1943. new vname[24];
  1944. GetPlayerName(playerid,rname, 24);
  1945. GetPlayerName(giveplayerid, vname, 24);
  1946. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 3) {
  1947. format(string, sizeof(string), "%s(%d) Is not close enough. You cannot rob that player",vname,giveplayerid);
  1948. SendClientMessage(playerid, COLOR_ERROR, string);
  1949. return 1;
  1950. }
  1951. if(IsPlayerInAnyVehicle(playerid)) {
  1952. SendClientMessage(playerid, COLOR_ERROR, "You cannot rob a player from inside a vehicle");
  1953. return 1;
  1954. }
  1955. if(Jailed[giveplayerid] == 1) {
  1956. format(string, sizeof(string), "%s(%d) Is in jail. You cannot rob a prisoner",vname,giveplayerid);
  1957. SendClientMessage(playerid, COLOR_ERROR, string);
  1958. return 1;
  1959. }
  1960. if(cuffed[giveplayerid] == 1) {
  1961. format(string, sizeof(string), "%s(%d) Is handcuffed. You cannot rob a player who is handcuffed",vname,giveplayerid);
  1962. SendClientMessage(playerid, COLOR_ERROR, string);
  1963. return 1;
  1964. }
  1965. if(IsPlayerInAnyVehicle(giveplayerid)) {
  1966. format(string, sizeof(string), "%s(%d) Is in a vehicle. You cannot rob that player",vname,giveplayerid);
  1967. SendClientMessage(playerid, COLOR_ERROR, string);
  1968. return 1;
  1969. }
  1970. if(GetPlayerMoney(giveplayerid) <= 100) {
  1971. format(string, sizeof(string), "%s(%d) Does not have any cash",vname,giveplayerid);
  1972. SendClientMessage(playerid, COLOR_ERROR, string);
  1973. return 1;
  1974. }
  1975. if(beenrobbedrecently[giveplayerid] >= 1) {
  1976. format(string, sizeof(string), "%s(%d) Has been robbed recently. Please wait",vname,giveplayerid);
  1977. SendClientMessage(playerid, COLOR_ERROR, string);
  1978. return 1;
  1979. }
  1980. if(HasWallet[giveplayerid] >= 1) {
  1981. HasWallet[giveplayerid] --;
  1982. format(string, sizeof(string), "%s(%d) has got a secure wallet. You failed to rob any of that players cash",vname,giveplayerid);
  1983. SendClientMessage(playerid, COLOR_RED, string);
  1984. format(string, sizeof(string), "%s(%d) has attempted to rob you. Your wallet will keep your cash secure for %d more rob(s)",rname,playerid,HasWallet[giveplayerid]);
  1985. SendClientMessage(giveplayerid, 0x00C7FFAA, string);
  1986. printf("%s(%d) has attempted to rob %s(%d) Wallet Chances: %d",rname,playerid,vname,giveplayerid,HasWallet[giveplayerid]);
  1987. PlayerPlaySound(giveplayerid, 1190, 0.0, 0.0, 0.0);
  1988. beenrobbedrecently[giveplayerid] =60;
  1989. return 1;
  1990. }
  1991. new pcash = random(GetPlayerMoney(giveplayerid));
  1992. format(string, sizeof(string), "%s(%d) Has robbed $%d from %s(%d)",rname,playerid,pcash,vname,giveplayerid);
  1993. printf("%s", string);
  1994. GivePlayerMoney(playerid,pcash);
  1995. GivePlayerMoney(giveplayerid, -pcash);
  1996. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Robbery Victim_|");
  1997. format(string, sizeof(string), "%s(%d) Has robbed $%d from you", rname,playerid,pcash);
  1998. SendClientMessage(giveplayerid, 0xD2691EAA, string);
  1999. OldCash[giveplayerid] -=pcash;
  2000. SendClientMessage(playerid, 0xA9A9A9AA, "|_Robbery Complete_|");
  2001. format(string, sizeof(string), "You have robbed $%d from %s(%d)", pcash,vname,giveplayerid);
  2002. SendClientMessage(playerid, 0x00C7FFAA, string);
  2003. format(string, sizeof(string), "~w~Robbed by ~n~%s(%d)~n~$%d lost",rname,playerid,pcash);
  2004. GameTextForPlayer(giveplayerid,string,5000,3);
  2005. oscore = GetPlayerScore(playerid);
  2006. SetPlayerScore(playerid, oscore +1);
  2007. format(string, sizeof(string), "~w~Robbed %s(%d)~n~$%d stolen",vname,giveplayerid,pcash);
  2008. GameTextForPlayer(playerid,string,5000,3);
  2009. RobbedPlyRecent[playerid] =1;
  2010. beenrobbedrecently[giveplayerid] =120;
  2011. commitedcrimerecently[playerid] +=120;
  2012. if(robberrank[playerid] >=0 && robberrank[playerid] <=9) {
  2013. SendClientMessage(playerid,COLOR_WHITE,"Your robbing skill level has been increased. Type /robskill for more info");
  2014. SendClientMessage(playerid,COLOR_WHITE,"Your respect level has been decreased. Type /respect for more information");
  2015. robberrank[playerid] +=1;
  2016. respect[playerid] -=1;
  2017. }
  2018. new current_zone;
  2019. current_zone = player_zone[playerid];
  2020. for(new i=0;i<MAX_PLAYERS;i++)
  2021. {
  2022. if(LawEnforcementRadio[i] == 1) {
  2023. format(string, sizeof(string), "DISPATCH: (ROBBERY) Suspect: %s(%d) has robbed %s(%d) Location: %s",rname,playerid,vname,giveplayerid,zones[current_zone][zone_name]);
  2024. SendClientMessage(i,COLOR_ROYALBLUE,string);
  2025. }
  2026. }
  2027. if(gTeam[giveplayerid] == TEAM_COP || gTeam[giveplayerid] == TEAM_ARMY) {
  2028. new plwl = GetPlayerWantedLevel(playerid);
  2029. SetPlayerWantedLevel(playerid, plwl +4 );
  2030. }
  2031. else{
  2032. new plwl = GetPlayerWantedLevel(playerid);
  2033. SetPlayerWantedLevel(playerid, plwl +2 );
  2034. }
  2035. new pcol = GetPlayerColor(playerid);
  2036. new plwl = GetPlayerWantedLevel(playerid);
  2037. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2038. format(string, sizeof(string), "(ROBBERY) Wanted Level %d",plwl);
  2039. SendClientMessage(playerid,pcol,string);
  2040. return 1;
  2041. }
  2042.  
  2043. if(strcmp(cmd, "/rape", true) == 0) {
  2044. if(IsSpawned[playerid] == 0) {
  2045. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2046. return 1;
  2047. }
  2048. if(cuffed[playerid] == 1) {
  2049. SendClientMessage(playerid,COLOR_ERROR,"You are handcuffed. You cannot use this command");
  2050. return 1;
  2051. }
  2052. if(gTeam[playerid] == TEAM_LAWYER) {
  2053. SendClientMessage(playerid,COLOR_ERROR,"You are a lawyer. You cannot use this command");
  2054. return 1;
  2055. }
  2056. if(Jailed[playerid] == 1) {
  2057. SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command in jail");
  2058. return 1;
  2059. }
  2060. if(gTeam[playerid] == TEAM_COP) {
  2061. SendClientMessage(playerid,COLOR_ERROR,"Law Enforcement agents cannot rape people");
  2062. return 1;
  2063. }
  2064. if(gTeam[playerid] == TEAM_ARMY) {
  2065. SendClientMessage(playerid,COLOR_ERROR,"Law Enforcement agents cannot rape people");
  2066. return 1;
  2067. }
  2068. if(gTeam[playerid] == TEAM_CASSEC) {
  2069. SendClientMessage(playerid,COLOR_ERROR,"Casino Security agents cannot rape people");
  2070. return 1;
  2071. }
  2072. if(gTeam[playerid] == TEAM_MEDIC) {
  2073. SendClientMessage(playerid,COLOR_ERROR,"Medics cannot rape people");
  2074. return 1;
  2075. }
  2076. if(gTeam[playerid] == TEAM_JAILTK) {
  2077. SendClientMessage(playerid,COLOR_ERROR,"Jail Turnkeys cannot rape people");
  2078. return 1;
  2079. }
  2080. if(RapedPlyRecent[playerid] == 1) {
  2081. SendClientMessage(playerid,COLOR_ERROR,"Command used recently... Please wait");
  2082. return 1;
  2083. }
  2084. if(InBank[playerid] == 1) {
  2085. SendClientMessage(playerid, COLOR_ERROR, "You cannot rape a player inside the bank");
  2086. return 1;
  2087. }
  2088. tmp = strtok(cmdtext, idx);
  2089. if(!strlen(tmp)) {
  2090. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rape (id)");
  2091. return 1;
  2092. }
  2093. if(!IsNumeric(tmp)) {
  2094. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rape (id) ID Must be a number");
  2095. return 1;
  2096. }
  2097. if(strval(tmp) == playerid) {
  2098. SendClientMessage(playerid, COLOR_ERROR, "You cannot rape yourself");
  2099. return 1;
  2100. }
  2101. return 1;
  2102. //giveplayerid = strval(tmp);
  2103. if(!IsPlayerConnected(giveplayerid)) {
  2104. format(string, sizeof(string), "ID (%d) Is not an active player",giveplayerid);
  2105. SendClientMessage(playerid, COLOR_ERROR, string);
  2106. return 1;
  2107. }
  2108. new rapername[24];
  2109. new victimname[24];
  2110. GetPlayerName(playerid,rapername, 24);
  2111. GetPlayerName(giveplayerid, victimname, 24);
  2112.  
  2113. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 2) {
  2114. format(string, sizeof(string), "%s(%d) Is not close enough. You cannot rape that player",victimname,giveplayerid);
  2115. SendClientMessage(playerid, COLOR_ERROR, string);
  2116. return 1;
  2117. }
  2118. if(Jailed[giveplayerid] == 1) {
  2119. format(string, sizeof(string), "%s(%d) Is in jail. You cannot rape a prisoner",victimname,giveplayerid);
  2120. SendClientMessage(playerid, COLOR_ERROR, string);
  2121. return 1;
  2122. }
  2123. if(cuffed[giveplayerid] == 1) {
  2124. format(string, sizeof(string), "%s(%d) Is handcuffed. You cannot rob a player who is handcuffed",victimname,giveplayerid);
  2125. SendClientMessage(playerid, COLOR_ERROR, string);
  2126. return 1;
  2127. }
  2128. if(IsPlayerInAnyVehicle(giveplayerid)) {
  2129. format(string, sizeof(string), "%s(%d) Is in a vehicle. You cannot rape that player",victimname,giveplayerid);
  2130. SendClientMessage(playerid, COLOR_ERROR, string);
  2131. return 1;
  2132. }
  2133. new Float:victimhealth;
  2134. GetPlayerHealth(giveplayerid,victimhealth);
  2135. if(IsSpawned[giveplayerid] == 0) {
  2136. new plwl = GetPlayerWantedLevel(playerid);
  2137. new pcol = GetPlayerColor(playerid);
  2138. SetPlayerWantedLevel(playerid,plwl +1);
  2139. format(string, sizeof(string), "%s(%d) Has raped %s(%d)'s dead, rotting corpse",rapername,playerid,victimname,giveplayerid);
  2140. SendClientMessageToAll(0xB22222AA, string);
  2141. SpamStrings[playerid] ++;
  2142. if(Chlamydia[playerid] == 0) {
  2143. format(string, sizeof(string), "%s(%d) Has been infected with Chlamydia",rapername,playerid);
  2144. SendClientMessageToAll(0x00C7FFAA, string);
  2145. Chlamydia[playerid] =1;
  2146. }
  2147. SendClientMessage(playerid, 0xA9A9A9AA, "|_Rape Complete_|");
  2148. format(string, sizeof(string), "You have raped %s(%d)'s dead body", victimname,giveplayerid);
  2149. SendClientMessage(playerid,0x00C7FFAA,string);
  2150. plwl = GetPlayerWantedLevel(playerid);
  2151. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2152. format(string, sizeof(string), "(CORPSE RAPE) Wanted Level %d",plwl);
  2153. SendClientMessage(playerid,pcol,string);
  2154. return 1;
  2155. }
  2156. if(gTeam[playerid] == TEAM_RAPIST && victimhealth <=25) {
  2157. SetPlayerHealth(giveplayerid,0);
  2158. oscore = GetPlayerScore(playerid);
  2159. SetPlayerScore(playerid, oscore +1);
  2160. format(string, sizeof(string), "%s(%d) Has been raped to death by rapist %s(%d)",victimname,giveplayerid,rapername,playerid);
  2161. SendClientMessageToAll(0xB22222AA, string);
  2162. new plwl = GetPlayerWantedLevel(playerid);
  2163. new pcol = GetPlayerColor(playerid);
  2164. SetPlayerWantedLevel(playerid,plwl +10);
  2165. plwl = GetPlayerWantedLevel(playerid);
  2166. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2167. format(string, sizeof(string), "(MURDER) Wanted Level %d",plwl);
  2168. SendClientMessage(playerid,pcol,string);
  2169. format(string, sizeof(string), "~r~RAPED TO DEATH BY~n~~w~%s(%d)",rapername,playerid);
  2170. GameTextForPlayer(giveplayerid,string,5000,3);
  2171. new current_zone;
  2172. current_zone = player_zone[playerid];
  2173. for(new i=0;i<MAX_PLAYERS;i++)
  2174. {
  2175. if(LawEnforcementRadio[i] == 1) {
  2176. format(string, sizeof(string), "DISPATCH: (MURDER) Suspect: %s(%d) has murdered %s(%d) Location: %s",rapername,playerid,victimname,giveplayerid,zones[current_zone][zone_name]);
  2177. SendClientMessage(i,COLOR_ROYALBLUE,string);
  2178. SendClientMessage(i,COLOR_ROYALBLUE,"DISPATCH: All units in the area respond");
  2179. }
  2180. }
  2181. return 1;
  2182. }
  2183. if(gTeam[playerid] == TEAM_RAPIST) {
  2184. new Float:phealth;
  2185. GetPlayerHealth(giveplayerid,phealth);
  2186. SetPlayerHealth(giveplayerid, phealth-10);
  2187. GetPlayerHealth(playerid,phealth);
  2188. SetPlayerHealth(playerid, phealth+10);
  2189. oscore = GetPlayerScore(playerid);
  2190. SetPlayerScore(playerid, oscore +1);
  2191. Chlamydia[giveplayerid] =1;
  2192. format(string, sizeof(string), "%s(%d) Has been infected with Chlamydia",victimname,giveplayerid);
  2193. SendClientMessageToAll(0x00C7FFAA, string);
  2194. }
  2195. if(gTeam[playerid] != TEAM_RAPIST && Chlamydia[playerid] == 1) {
  2196. Chlamydia[giveplayerid] =1;
  2197. format(string, sizeof(string), "%s(%d) Has been infected with Chlamydia",victimname,giveplayerid);
  2198. SendClientMessageToAll(0x00C7FFAA, string);
  2199. format(string, sizeof(string), "You have infected %s(%d) with Chlamydia",victimname,giveplayerid);
  2200. SendClientMessage(playerid,0x00C7FFAA, string);
  2201. }
  2202. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Rape Victim_|");
  2203. format(string, sizeof(string), "%s(%d) Has raped you",rapername,playerid);
  2204. SendClientMessage(giveplayerid, 0xD2691EAA, string);
  2205. SendClientMessage(playerid, 0xA9A9A9AA, "|_Rape Complete_|");
  2206. format(string, sizeof(string), "You have raped %s(%d)", victimname,giveplayerid);
  2207. SendClientMessage(playerid, 0x00C7FFAA, string);
  2208. RapedPlyRecent[playerid] =1;
  2209. format(string, sizeof(string), "%s(%d) Has raped %s(%d)",rapername,playerid,victimname,giveplayerid);
  2210. printf("%s", string);
  2211. PlayerPlaySound(giveplayerid, 1190, 0.0, 0.0, 0.0);
  2212. commitedcrimerecently[playerid] +=120;
  2213. new current_zone;
  2214. current_zone = player_zone[playerid];
  2215. for(new i=0;i<MAX_PLAYERS;i++)
  2216. {
  2217. if(LawEnforcementRadio[i] == 1) {
  2218. format(string, sizeof(string), "DISPATCH: (RAPE) Suspect: %s(%d) has raped %s(%d) Location: %s",rapername,playerid,victimname,giveplayerid,zones[current_zone][zone_name]);
  2219. SendClientMessage(i,COLOR_ROYALBLUE,string);
  2220. }
  2221. }
  2222. if(gTeam[giveplayerid] == TEAM_COP || gTeam[giveplayerid] == TEAM_ARMY) {
  2223. new plwl = GetPlayerWantedLevel(playerid);
  2224. SetPlayerWantedLevel(playerid, plwl +4 );
  2225. }
  2226. else{
  2227. new plwl = GetPlayerWantedLevel(playerid);
  2228. SetPlayerWantedLevel(playerid, plwl +2 );
  2229. }
  2230. new pcol = GetPlayerColor(playerid);
  2231. new plwl = GetPlayerWantedLevel(playerid);
  2232. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2233. format(string, sizeof(string), "(RAPE) Wanted Level %d",plwl);
  2234. SendClientMessage(playerid,pcol,string);
  2235.  
  2236.  
  2237. return 1;
  2238. }
  2239.  
  2240. if(strcmp(cmd, "/fine", true) == 0) {
  2241. if(IsSpawned[playerid] == 0) {
  2242. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2243. return 1;
  2244. }
  2245. if(gTeam[playerid] >= 3) {
  2246. SendClientMessage(playerid,COLOR_ERROR,"You are not Law Enforcement");
  2247. return 1;
  2248. }
  2249. tmp = strtok(cmdtext, idx);
  2250. if(!strlen(tmp)) {
  2251. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /fine (id)");
  2252. return 1;
  2253. }
  2254. if(!IsNumeric(tmp)) {
  2255. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /fine (id) ID Must be a number");
  2256. return 1;
  2257. }
  2258. giveplayerid = strval(tmp);
  2259. if(!IsPlayerConnected(giveplayerid)) {
  2260. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  2261. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2262. return 1;
  2263. }
  2264. GetPlayerName(playerid,oname, 24);
  2265. GetPlayerName(giveplayerid, pname, 24);
  2266. if(GetPlayerWantedLevel(giveplayerid) == 0) {
  2267. format(szstring, sizeof(szstring), "%s(%d) Is innocent. You cannot issue a fine",pname,giveplayerid);
  2268. SendClientMessage(playerid,COLOR_ERROR,szstring);
  2269. return 1;
  2270. }
  2271.  
  2272. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 8) {
  2273. format(szstring, sizeof(szstring), "%s(%d) Is too far away. You cannot issue a fine",pname,giveplayerid);
  2274. SendClientMessage(playerid,COLOR_ERROR,szstring);
  2275. return 1;
  2276. }
  2277. if(GetPlayerWantedLevel(giveplayerid) == 1) {
  2278. format(szstring, sizeof(szstring), "Officer %s(%d) has fined you $500. Your wanted level has been reduced ",oname,playerid);
  2279. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  2280. format(szstring, sizeof(szstring), "~w~You have been fined~n~ ~b~$500");
  2281. GameTextForPlayer(giveplayerid, szstring,5000, 0);
  2282. new plwl = GetPlayerWantedLevel(giveplayerid);
  2283. SetPlayerWantedLevel(giveplayerid,plwl -1);
  2284. GivePlayerMoney(giveplayerid, -500);
  2285. oscore = GetPlayerScore(playerid);
  2286. SetPlayerScore(playerid, oscore +1);
  2287. format(szstring, sizeof(szstring), "You have issued a fine to %s(%d) and you receive a collection bonus of $125",pname,giveplayerid);
  2288. SendClientMessage(playerid,COLOR_DODGERBLUE, szstring);
  2289. GivePlayerMoney(playerid, 125);
  2290. oscore = GetPlayerScore(playerid);
  2291. SetPlayerScore(playerid, oscore +1);
  2292. return 1;
  2293. }
  2294.  
  2295. if(GetPlayerWantedLevel(giveplayerid) == 2) {
  2296. format(szstring, sizeof(szstring), "Officer %s(%d) has fined you $1000. Your wanted level has been reduced ",oname,playerid);
  2297. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  2298. format(szstring, sizeof(szstring), "~w~You have been fined~n~ ~b~$1000");
  2299. GameTextForPlayer(giveplayerid, szstring,5000, 0);
  2300. new plwl = GetPlayerWantedLevel(giveplayerid);
  2301. SetPlayerWantedLevel(giveplayerid,plwl -2);
  2302. GivePlayerMoney(giveplayerid, -1000);
  2303. oscore = GetPlayerScore(playerid);
  2304. SetPlayerScore(playerid, oscore +1);
  2305. format(szstring, sizeof(szstring), "You have issued a fine to %s(%d) and you receive a collection bonus of $250",pname,giveplayerid);
  2306. SendClientMessage(playerid,COLOR_DODGERBLUE, szstring);
  2307. GivePlayerMoney(playerid, 250);
  2308. oscore = GetPlayerScore(playerid);
  2309. SetPlayerScore(playerid, oscore +1);
  2310. return 1;
  2311. }
  2312. if(GetPlayerWantedLevel(giveplayerid) == 3) {
  2313. format(szstring, sizeof(szstring), "Officer %s(%d) has fined you $2000. Your wanted level has been reduced ",oname,playerid);
  2314. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  2315. format(szstring, sizeof(szstring), "~w~You have been fined~n~ ~b~$2000");
  2316. GameTextForPlayer(giveplayerid, szstring,5000, 0);
  2317. new plwl = GetPlayerWantedLevel(giveplayerid);
  2318. SetPlayerWantedLevel(giveplayerid,plwl -3);
  2319. GivePlayerMoney(giveplayerid, -2000);
  2320. oscore = GetPlayerScore(playerid);
  2321. SetPlayerScore(playerid, oscore +1);
  2322. format(szstring, sizeof(szstring), "You have issued a fine to %s(%d) and you receive a collection bonus of $500",pname,giveplayerid);
  2323. SendClientMessage(playerid,COLOR_DODGERBLUE, szstring);
  2324. GivePlayerMoney(playerid, 500);
  2325. oscore = GetPlayerScore(playerid);
  2326. SetPlayerScore(playerid, oscore +1);
  2327. return 1;
  2328. }
  2329. if(GetPlayerWantedLevel(giveplayerid) >= 4) {
  2330. format(szstring, sizeof(szstring), "%s(%d) Has a warrant. You cannot issue a fine. Take the suspect into custody ",pname,giveplayerid);
  2331. SendClientMessage(playerid,COLOR_ERROR, szstring);
  2332. }
  2333. return 1;
  2334. }
  2335.  
  2336. if(strcmp(cmd, "/skill", true) == 0) {
  2337.  
  2338. if(CanChooseSkill[playerid] == 0) return SendClientMessage(playerid, COLOR_DODGERBLUE, "You've already chose a skill or you're not a civilian!");
  2339.  
  2340. new listitems[] = "Rapist\nGun Dealer\nDrug Dealer\nHitman\nPrivate Medic\nBounty Hunter\nCon Artist\nKidnapper\nPrivate Laywer\nTerrorist\nSalesman";
  2341. ShowPlayerDialog(playerid, CIVILIAN_DIALOG, DIALOG_STYLE_LIST, "Choose a skill.", listitems, "Select", "Cancel");
  2342. GameTextForPlayer(playerid, "~g~Choose a skill!", 3000, 0);
  2343. return 1;
  2344. }
  2345.  
  2346. if(strcmp(cmd, "/parole", true) == 0) {
  2347. if(IsSpawned[playerid] == 0) {
  2348. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2349. return 1;
  2350. }
  2351. if(gTeam[playerid] != 1 && gTeam[playerid] != 8) {
  2352. SendClientMessage(playerid, COLOR_ERROR, "Only the Jail Turnkey or Police Officer classes can release prisoners from jail");
  2353. return 1;
  2354. }
  2355. if(Jailed[playerid] == 1) {
  2356. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2357. return 1;
  2358. }
  2359. tmp = strtok(cmdtext, idx);
  2360. if(!strlen(tmp)) {
  2361. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /parole (id)");
  2362. return 1;
  2363. }
  2364. giveplayerid = strval(tmp);
  2365. if(!IsNumeric(tmp)) {
  2366. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /parole (id) ID Must be a number");
  2367. return 1;
  2368. }
  2369. if(!IsPlayerConnected(giveplayerid)) {
  2370. format(szstring, sizeof(szstring), "ID (%d) Is not an active player", giveplayerid);
  2371. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2372. return 1;
  2373. }
  2374. new prisonername[24];
  2375. new turnkeyname[24];
  2376. GetPlayerName(giveplayerid,prisonername, 24);
  2377. GetPlayerName(playerid, turnkeyname, 24);
  2378. if(InAlcatraz[giveplayerid] == 1) {
  2379. format(szstring, sizeof(szstring), "%s(%d) is in jail on Alcatraz Island. You cannot parole that player",prisonername,giveplayerid);
  2380. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2381. return 1;
  2382. }
  2383. if(Jailed[giveplayerid] == 0) {
  2384. format(szstring, sizeof(szstring), "%s(%d) is not in jail",prisonername,giveplayerid);
  2385. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2386. return 1;
  2387. }
  2388. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 5) {
  2389. format(szstring, sizeof(szstring), "%s(%d) Is in jail. You are not close enough to parole",prisonername,giveplayerid);
  2390. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2391. return 1;
  2392. }
  2393. SetPlayerInterior(giveplayerid,3);
  2394. SetPlayerPos(giveplayerid,210.5272,146.3341,1003.0234);
  2395. SetPlayerFacingAngle(giveplayerid,179.4662);
  2396. SetCameraBehindPlayer(giveplayerid);
  2397. Jailed[giveplayerid] = 0;
  2398. JailTime[giveplayerid] =0;
  2399. cannotescapejail[giveplayerid] =0;
  2400. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Released From Jail_|");
  2401. format(szstring, sizeof(szstring), "%s(%d) has released you from jail",turnkeyname,playerid);
  2402. SendClientMessage(giveplayerid, 0x00C7FFAA, szstring);
  2403. SendClientMessage(playerid, 0xA9A9A9AA, "|_Prisoner Released_|");
  2404. format(szstring, sizeof(szstring), "You have released %s(%d) from jail",prisonername,giveplayerid);
  2405. SendClientMessage(playerid, 0x00C7FFAA, szstring);
  2406. format(szstring, sizeof(szstring), "%s(%d) Has released %s(%d) from jail early",turnkeyname,playerid,prisonername,giveplayerid);
  2407. SendClientMessageToAll(0x00C7FFAA, szstring);
  2408. format(szstring, sizeof(szstring), "%s(%d) Has released %s(%d) from jail early",turnkeyname,playerid,prisonername,giveplayerid);
  2409. printf("%s",szstring);
  2410. oscore = GetPlayerScore(playerid);
  2411. SetPlayerScore(playerid, oscore +1);
  2412. return 1;
  2413. }
  2414.  
  2415. if (strcmp("/cm", cmdtext, true, 3) == 0)
  2416. {
  2417. if(IsSpawned[playerid] == 0) {
  2418. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2419. return 1;
  2420. }
  2421. if(Jailed[playerid] == 1) {
  2422. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2423. return 1;
  2424. }
  2425. if(HasLawEnforcementRadio[playerid] == 0) {
  2426. SendClientMessage(playerid,COLOR_ERROR,"You do not have a Law Enforcement radio");
  2427. return 1;
  2428. }
  2429. if(LawEnforcementRadio[playerid] == 0) {
  2430. SendClientMessage(playerid, COLOR_ERROR, "Your Law Enforcement radio is off. Turn it on with /radon before using it");
  2431. return 1;
  2432. }
  2433. if(strlen(cmdtext) <= 4) {
  2434. SendClientMessage(playerid,COLOR_ERROR,"USAGE: /cm MESSAGE");
  2435. return 1;
  2436. }
  2437. else{
  2438. new output[255];
  2439. GetPlayerName(playerid, pname, 24);
  2440. strmid(output,cmdtext,3,strlen(cmdtext));
  2441. format(szstring, sizeof(szstring), "COP MESSAGE: %s(%d) %s",pname,playerid,output);
  2442. printf("%s", szstring);
  2443. for(new i=0;i<MAX_PLAYERS;i++)
  2444. {
  2445. if(LawEnforcementRadio[i] == 1) {
  2446. format(szstring, sizeof(szstring), "COP MESSAGE: %s(%d) %s",pname,playerid,output);
  2447. SendClientMessage(i,COLOR_ROYALBLUE,szstring);
  2448. }
  2449. }
  2450. }
  2451. return 1;
  2452. }
  2453.  
  2454. if(strcmp(cmd, "/heal", true) == 0) {
  2455. if(IsSpawned[playerid] == 0) {
  2456. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2457. return 1;
  2458. }
  2459. if(Jailed[playerid] == 1) {
  2460. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2461. return 1;
  2462. }
  2463. if(gTeam[playerid] != TEAM_MEDIC && gTeam[playerid] != TEAM_PVTMED ) {
  2464. SendClientMessage(playerid,COLOR_ERROR,"You are not a medic");
  2465. return 1;
  2466. }
  2467. tmp = strtok(cmdtext, idx);
  2468. if(!strlen(tmp)) {
  2469. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /heal (id)");
  2470. return 1;
  2471. }
  2472. giveplayerid = strval(tmp);
  2473. if(!IsNumeric(tmp)) {
  2474. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /heal (id) ID Must be a number");
  2475. return 1;
  2476. }
  2477. GetPlayerName(playerid,mname, 24);
  2478. GetPlayerName(giveplayerid, pname, 24);
  2479. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 5) {
  2480. format(szstring, sizeof(szstring), "%s(%d) Is not close enough. You cannot heal that player",pname,giveplayerid);
  2481. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2482. return 1;
  2483. }
  2484. if(wantsheal[giveplayerid] == 0) {
  2485. format(szstring, sizeof(szstring), "Medic %s(%d) has attempted to heal you. Type /medic if you need a Medic",mname,playerid);
  2486. SendClientMessage(giveplayerid,COLOR_FORESTGREEN, szstring);
  2487. format(szstring, sizeof(szstring), "%s(%d) has not asked for a medic. You cannot heal that player", pname,giveplayerid);
  2488. SendClientMessage(playerid,COLOR_ERROR, szstring);
  2489. }
  2490. else
  2491. if(wantsheal[giveplayerid] == 1) {
  2492. new mrand = random(3500);
  2493. oscore = GetPlayerScore(playerid);
  2494. SendClientMessage(giveplayerid,0xA9A9A9AA, "|_Health Restored_|");
  2495. format(szstring, sizeof(szstring), "Medic %s(%d) has healed you for $%d",mname,playerid,mrand);
  2496. SendClientMessage(giveplayerid,COLOR_FORESTGREEN, szstring);
  2497. SendClientMessage(playerid,0xA9A9A9AA, "|_Player Health Restored_|");
  2498. format(szstring, sizeof(szstring), "%s(%d) has been healed. You earned $%d", pname,giveplayerid,mrand);
  2499. SendClientMessage(playerid,COLOR_FORESTGREEN, szstring);
  2500. SetPlayerHealth(giveplayerid,100);
  2501. GivePlayerMoney(giveplayerid,-mrand);
  2502. GivePlayerMoney(playerid,mrand);
  2503. SetPlayerScore(playerid, oscore +1);
  2504. wantsheal[giveplayerid] =0;
  2505. }
  2506. return 1;
  2507. }
  2508.  
  2509. if(strcmp(cmd, "/medic", true) == 0) {
  2510. if(IsSpawned[playerid] == 0) {
  2511. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2512. return 1;
  2513. }
  2514. if(gTeam[playerid] == TEAM_MEDIC) {
  2515. SendClientMessage(playerid,COLOR_ERROR,"You are a Medic. Type /healme or /cureme");
  2516. return 1;
  2517. }
  2518. if(gTeam[playerid] == TEAM_PVTMED) {
  2519. SendClientMessage(playerid,COLOR_ERROR,"You are a Private Medic. Type /healme or /cureme");
  2520. return 1;
  2521. }
  2522. if (!GetPlayersInTeam(TEAM_MEDIC) && !GetPlayersInTeam(TEAM_PVTMED)) {
  2523. SendClientMessage(playerid,COLOR_ERROR,"Unable to locate any Medics");
  2524. return 1;
  2525. }
  2526. SendClientMessage(playerid, COLOR_DODGERBLUE, "You have called a medic");
  2527. for(new i=0;i<MAX_PLAYERS;i++)
  2528. {
  2529. if(IsPlayerConnected(i))
  2530. {
  2531. if(gTeam[i] == TEAM_MEDIC || gTeam[i] == TEAM_PVTMED ) {
  2532. GetPlayerName(playerid, pname, 24);
  2533. new current_zone;
  2534. current_zone = player_zone[playerid];
  2535. format(szstring, sizeof(szstring), "%s(%d) Has requested a medic. Location: %s",pname,playerid,zones[current_zone][zone_name]);
  2536. SendClientMessage(i, COLOR_FORESTGREEN, szstring);
  2537.  
  2538. wantsheal[playerid] =1;
  2539. wantscure[playerid] =1;
  2540. }
  2541. }
  2542. }
  2543. return 1;
  2544. }
  2545.  
  2546. if(strcmp(cmdtext, "/radon", true) == 0)
  2547. {
  2548. if(HasLawEnforcementRadio[playerid] == 0) {
  2549. SendClientMessage(playerid,COLOR_WHITE,"You dont have a police radio");
  2550. return 1;
  2551. }
  2552. if(LawEnforcementRadio[playerid] == 1) {
  2553. SendClientMessage(playerid,COLOR_WHITE,"Radio is already on");
  2554. return 1;
  2555. }
  2556. if(LawEnforcementRadio[playerid] == 0) {
  2557. SendClientMessage(playerid,COLOR_WHITE,"Radio is now on. You will receive alerts from dispatch about crimes");
  2558. LawEnforcementRadio[playerid] = 1;
  2559. }
  2560. return 1;
  2561. }
  2562.  
  2563. if(strcmp(cmdtext, "/radoff", true) == 0)
  2564. {
  2565. if(HasLawEnforcementRadio[playerid] == 0) {
  2566. SendClientMessage(playerid,COLOR_WHITE,"You dont have a police radio");
  2567. return 1;
  2568. }
  2569. if(LawEnforcementRadio[playerid] == 0) {
  2570. SendClientMessage(playerid,COLOR_WHITE,"Radio is already off");
  2571. return 1;
  2572. }
  2573. if(LawEnforcementRadio[playerid] == 1) {
  2574. SendClientMessage(playerid,COLOR_WHITE,"Radio is now off");
  2575. LawEnforcementRadio[playerid] = 0;
  2576. }
  2577. return 1;
  2578. }
  2579.  
  2580. // WHISPER ========================================================================
  2581. if (!strcmp("/w", cmdtext, true, 2))
  2582. {
  2583. if(cmdtext[2] == 0)
  2584. {
  2585. SendClientMessage(playerid,COLOR_ERROR,"Error : You must enter a message!");
  2586. return 1;
  2587. }
  2588.  
  2589. new name[256];
  2590. GetPlayerName(playerid, name, 32);
  2591. format(szstring,sizeof(szstring),"%s : %s", name, cmdtext[3]);
  2592. new success=0;
  2593. for(new i=0; i<=MAX_PLAYERS; i++)
  2594. {
  2595. if(IsPlayerConnected(i) == 1 && PlayerInRange(playerid, i, DISTANCE_WHISPER))
  2596. {
  2597. success = 1;
  2598. SendClientMessage(i, COLOR_WHISPER,szstring);
  2599. }
  2600. }
  2601.  
  2602. if(success != 1 && RETURNERROR == 1)
  2603. {
  2604. SendClientMessage(playerid,COLOR_ERROR,"Error : Nobody heard you..");
  2605. }
  2606. return 1;
  2607. }
  2608.  
  2609. if(strcmp(cmd, "/uncuff", true) == 0) {
  2610. if(IsSpawned[playerid] == 0) {
  2611. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2612. return 1;
  2613. }
  2614. if(Jailed[playerid] ==1) {
  2615. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2616. return 1;
  2617. }
  2618. tmp = strtok(cmdtext, idx);
  2619. if(!strlen(tmp)) {
  2620. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /uncuff (id)");
  2621. return 1;
  2622. }
  2623. giveplayerid = strval(tmp);
  2624. if(!IsPlayerConnected(giveplayerid)) {
  2625. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  2626. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2627. return 1;
  2628. }
  2629. GetPlayerName(playerid,oname, 24);
  2630. GetPlayerName(giveplayerid, pname, 24);
  2631.  
  2632. if(!IsNumeric(tmp)) {
  2633. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /uncuff (id) ID Must be a number");
  2634. return 1;
  2635. }
  2636. if(cuffed[giveplayerid] == 0) {
  2637. format(szstring, sizeof(szstring), "%s(%d) is not handcuffed",pname, giveplayerid);
  2638. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2639. return 1;
  2640. }
  2641.  
  2642. //if(gTeam[giveplayerid] == 1) {
  2643. //SendClientMessage(playerid, COLOR_ERROR, "You cannot ask another Law Enforcement agent to surrender");
  2644. //return 1;
  2645. //}
  2646. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 2) {
  2647. format(szstring, sizeof(szstring), "%s(%d) is not close enough to cannot uncuff",pname, giveplayerid);
  2648. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2649. return 1;
  2650. }
  2651. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  2652. SendClientMessage(playerid, COLOR_DODGERBLUE, "You cannot take players handcuffs off from inside a car");
  2653. return 1;
  2654. }
  2655. if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) {
  2656. SendClientMessage(playerid, COLOR_DODGERBLUE, "You cannot handcuff a player from inside a car");
  2657. return 1;
  2658. }
  2659. if(GetPlayerState(giveplayerid) == PLAYER_STATE_PASSENGER) {
  2660. format(szstring, sizeof(szstring), "%s(%d) is in a vehicle. You cannot uncuff that player", pname, giveplayerid);
  2661. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  2662. return 1;
  2663. }
  2664. if(GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER) {
  2665. format(szstring, sizeof(szstring), "%s(%d) is in a vehicle. You cannot uncuff that player", pname, giveplayerid);
  2666. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  2667. return 1;
  2668. }
  2669. if(GetPlayerState(giveplayerid) == PLAYER_STATE_ONFOOT) {
  2670. format(szstring, sizeof(szstring), "%s(%d): Has removed your handcuffs",oname, playerid);
  2671. SendClientMessage(giveplayerid, COLOR_DODGERBLUE, szstring);
  2672. TogglePlayerControllable(giveplayerid, 1);
  2673. cuffed[giveplayerid] =0;
  2674. format(szstring, sizeof(szstring), "You have removed %s(%d)'s handcuffs", pname, giveplayerid);
  2675. SendClientMessage(playerid, COLOR_DODGERBLUE, szstring);
  2676. }
  2677. return 1;
  2678. }
  2679.  
  2680. if(strcmp(cmd, "/bk", true) == 0)
  2681. {
  2682. if(ReqBkRecent[playerid] == 1) {
  2683. SendClientMessage(playerid, COLOR_ERROR, "You have asked for backup recently. Please wait before asking for backup again");
  2684. return 1;
  2685. }
  2686. if(Jailed[playerid] ==1) {
  2687. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2688. return 1;
  2689. }
  2690. if(IsPlayerConnected(playerid)) {
  2691. new current_zone;
  2692. GetPlayerName(playerid,oname, 24);
  2693. current_zone = player_zone[playerid];
  2694. for(new i=0;i<MAX_PLAYERS;i++)
  2695. {
  2696. if(LawEnforcementRadio[i] == 1) {
  2697. format(szstring, sizeof(szstring), "ASSISTANCE REQUIRED: Officer %s(%d) Is requesting backup. Location: %s",oname,playerid,zones[current_zone][zone_name]);
  2698. SendClientMessage(i, COLOR_ROYALBLUE, szstring);
  2699. format(szstring, sizeof(szstring), "All units respond. Provide backup to officer %s(%d) Location: %s",oname,playerid,zones[current_zone][zone_name]);
  2700. SendClientMessage(i, COLOR_ROYALBLUE, szstring);
  2701. }
  2702. }
  2703.  
  2704. ReqBk[playerid] =1;
  2705. SetPlayerColor(playerid,COLOR_PURPLE);
  2706. SetTimer("CopBackUpColour", 10000, 0);
  2707. ReqBkRecent[playerid] =1;
  2708. }
  2709. return 1;
  2710. }
  2711. if(strcmp(cmd, "/breakcuffs", true) == 0) {
  2712. if(IsSpawned[playerid] == 0) {
  2713. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2714. return 1;
  2715. }
  2716. if(gTeam[playerid] <= 2) {
  2717. SendClientMessage(playerid,COLOR_ERROR,"Law Enforcement agents cannot use this command");
  2718. return 1;
  2719. }
  2720. if(Jailed[playerid] == 1) {
  2721. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2722. return 1;
  2723. }
  2724. if(cuffed[playerid] == 0) {
  2725. SendClientMessage(playerid,COLOR_ERROR,"You are not handcuffed. You cannot use this command");
  2726. return 1;
  2727. }
  2728. if(CuffedTime[playerid] >= 1) {
  2729. SendClientMessage(playerid, COLOR_ERROR, "Please wait before trying to break the handcuffs");
  2730. return 1;
  2731. }
  2732. new breakcuffsrand = random(100);
  2733. if(breakcuffsrand >=26 && breakcuffsrand <=100) // Failed
  2734. {
  2735. new escapedname[24];
  2736. GetPlayerName(playerid,escapedname,24);
  2737. new plwl = GetPlayerWantedLevel(playerid);
  2738. new pcol = GetPlayerColor(playerid);
  2739. SetPlayerWantedLevel(playerid, plwl +1 );
  2740. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2741. plwl = GetPlayerWantedLevel(playerid);
  2742. format(szstring, sizeof(szstring), "(ATTEMPTED ESCAPE) Wanted Level: %d",plwl);
  2743. SendClientMessage(playerid,pcol,szstring);
  2744. SendClientMessage(playerid,COLOR_ERROR,"You have been seen trying to escape from the handcuffs. Attempt failed");
  2745. format(szstring, sizeof(szstring), "%s(%d) Has tried to escape from handcuffs",escapedname,playerid);
  2746. CuffedTime[playerid] =10;
  2747. printf("%s",szstring);
  2748. commitedcrimerecently[playerid] +=120;
  2749. for(new i=0;i<MAX_PLAYERS;i++)
  2750. {
  2751. if(LawEnforcementRadio[i] == 1 && IsSpawned[i] == 1)
  2752. {
  2753. if(GetDistanceBetweenPlayers(playerid,i) < 25)
  2754. {
  2755. new szstring1[256];
  2756. new szstring2[256];
  2757. new current_zone;
  2758. current_zone = player_zone[playerid];
  2759. format(szstring1, sizeof(szstring1), "DISPATCH: (ATTEMPTED ESCAPE) %s(%d) Has attempted to escape from handcuffs",escapedname,playerid);
  2760. format(szstring2, sizeof(szstring2), "Please respond and secure suspect: %s(%d) - Location: %s",escapedname,playerid,zones[current_zone][zone_name]);
  2761. SendClientMessage(i, COLOR_ROYALBLUE, szstring1);
  2762. SendClientMessage(i, COLOR_ROYALBLUE, szstring2);
  2763. }
  2764. }
  2765. }
  2766. return 1;
  2767. }
  2768. else
  2769. if(breakcuffsrand >=0 && breakcuffsrand <=25) // complete
  2770. {
  2771. TogglePlayerControllable(playerid, 1);
  2772. cuffed[playerid] =0;
  2773. new escapedname[24];
  2774. new plwl = GetPlayerWantedLevel(playerid);
  2775. SetPlayerWantedLevel(playerid, plwl +4 );
  2776. GetPlayerName(playerid,escapedname,24);
  2777. GameTextForPlayer(playerid,"~r~ESCAPED~n~FROM HANDCUFFS",6000,3);
  2778. new pcol = GetPlayerColor(playerid);
  2779. plwl = GetPlayerWantedLevel(playerid);
  2780. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2781. format(szstring, sizeof(szstring), "(HANDCUFF ESCAPE) Wanted Level %d",plwl);
  2782. SendClientMessage(playerid,pcol,szstring);
  2783. format(szstring, sizeof(szstring), "%s(%d) Has escaped from handcuffs",escapedname,playerid);
  2784. printf("%s",szstring);
  2785. commitedcrimerecently[playerid] +=360;
  2786. for(new i=0;i<MAX_PLAYERS;i++)
  2787. {
  2788. if(LawEnforcementRadio[i] == 1 && IsSpawned[i] == 1)
  2789. {
  2790. if(GetDistanceBetweenPlayers(playerid,i) < 25)
  2791. {
  2792. new szstring1[256];
  2793. new szstring2[256];
  2794. new current_zone;
  2795. current_zone = player_zone[playerid];
  2796. format(szstring1, sizeof(szstring1), "DISPATCH: (HANDCUFF ESCAPE) %s(%d) Has escaped from handcuffs",escapedname,playerid);
  2797. format(szstring2, sizeof(szstring2), "Please respond and take suspect: %s(%d) into custody. Location: %s",escapedname,playerid,zones[current_zone][zone_name]);
  2798. SendClientMessage(i, COLOR_ROYALBLUE, szstring1);
  2799. SendClientMessage(i, COLOR_ROYALBLUE, szstring2);
  2800. }
  2801. }
  2802. }
  2803. }
  2804. return 1;
  2805. }
  2806.  
  2807. if(strcmp(cmd, "/onduty", true) == 0) {
  2808. if(Jailed[playerid] ==1) {
  2809. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2810. return 1;
  2811. }
  2812. if(Driveronduty[playerid] == 1) {
  2813. SendClientMessage(playerid, COLOR_ERROR, "You are already on duty");
  2814. return 1;
  2815. }
  2816.  
  2817. if(!IsPlayerInAnyVehicle(playerid)) {
  2818. SendClientMessage(playerid, COLOR_ERROR, "You are not in any drivers vehicle");
  2819. return 1;
  2820. }
  2821. if(GetPlayerWantedLevel(playerid) >= 1) {
  2822. SendClientMessage(playerid, COLOR_ERROR, "You must be innocent to go on duty as a driver");
  2823. return 1;
  2824. }
  2825. if(IsPlayerInAnyVehicle(playerid))
  2826. {
  2827. new vehicleid = GetPlayerVehicleID(playerid);
  2828. if(GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 487 || GetVehicleModel(vehicleid) == 431 || GetVehicleModel(vehicleid) == 409)
  2829. {
  2830. new drivername[30];
  2831. GetPlayerName(playerid,drivername,30);
  2832. format(szstring, sizeof(szstring), "Driver %s(%d) Is now on duty. Type /taxi to call a driver",drivername,playerid);
  2833. SendClientMessageToAll(COLOR_FORESTGREEN,szstring);
  2834. Driveronduty[playerid] =1;
  2835. }
  2836. else {
  2837. SendClientMessage(playerid, COLOR_ERROR, "You are not in any drivers vehicle");
  2838. }
  2839. }
  2840. return 1;
  2841. }
  2842.  
  2843.  
  2844.  
  2845. if(strcmp(cmd, "/offduty", true) == 0) {
  2846. if(Jailed[playerid] ==1) {
  2847. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2848. return 1;
  2849. }
  2850. if(Driveronduty[playerid] == 0) {
  2851. SendClientMessage(playerid, COLOR_ERROR, "You are not on duty");
  2852. return 1;
  2853. }
  2854. if(Driveronduty[playerid] == 1)
  2855. {
  2856. new drivername[30];
  2857. GetPlayerName(playerid,drivername,30);
  2858. format(szstring, sizeof(szstring), "Driver %s(%d) is off duty",drivername,playerid);
  2859. SendClientMessageToAll(COLOR_FORESTGREEN,szstring);
  2860. Driveronduty[playerid] =0;
  2861. new taxiid = GetPlayerVehicleID(playerid);
  2862. for(new i=0;i<MAX_PLAYERS;i++)
  2863. {
  2864. if(IsPlayerInVehicle(i,taxiid) && GetPlayerState(i) == PLAYER_STATE_PASSENGER)
  2865. {
  2866. RemovePlayerFromVehicle(i);
  2867. Taxipass[i] =0;
  2868. }
  2869. }
  2870. }
  2871. return 1;
  2872. }
  2873.  
  2874.  
  2875.  
  2876. if(strcmp(cmd, "/taxi", true) == 0) {
  2877. if(Jailed[playerid] ==1) {
  2878. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  2879. return 1;
  2880. }
  2881. if(IsPlayerInAnyVehicle(playerid)) {
  2882. SendClientMessage(playerid, COLOR_ERROR, "You cannot call a taxi if you are in a vehicle");
  2883. return 1;
  2884. }
  2885. if (!GetPlayersInTeam(TEAM_DRIVER)) {
  2886. SendClientMessage(playerid,COLOR_ERROR,"Unable to locate any Drivers");
  2887. return 1;
  2888. }
  2889. if(GetPlayersInTeam(TEAM_DRIVER) >=1) {
  2890. SendClientMessage(playerid, 0xA9A9A9AA, "|_Driver Called_|");
  2891. SendClientMessage(playerid, COLOR_DARKOLIVEGREEN, "You have called a driver to your location. Please wait");
  2892. for(new i=0;i<MAX_PLAYERS;i++)
  2893. {
  2894. if(gTeam[i] == TEAM_DRIVER) {
  2895. GetPlayerName(playerid, pname, 24);
  2896. new current_zone;
  2897. current_zone = player_zone[playerid];
  2898. SendClientMessage(i, 0xA9A9A9AA, "|_Driver Requested_|");
  2899. format(szstring, sizeof(szstring), "%s(%d) Has requested a driver. Location: %s",pname,playerid,zones[current_zone][zone_name]);
  2900. SendClientMessage(i, COLOR_DARKOLIVEGREEN, szstring);
  2901. }
  2902. }
  2903. }
  2904. return 1;
  2905. }
  2906.  
  2907. if(strcmp(cmd, "/break", true) == 0) {
  2908. if(IsSpawned[playerid] == 0) {
  2909. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2910. return 1;
  2911. }
  2912. if(gTeam[playerid] != TEAM_MECHANIC) {
  2913. SendClientMessage(playerid,COLOR_ERROR,"You are not a Car Mechanic");
  2914. return 1;
  2915. }
  2916. tmp = strtok(cmdtext, idx);
  2917. if(!strlen(tmp)) {
  2918. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /break (id)");
  2919. return 1;
  2920. }
  2921. giveplayerid = strval(tmp);
  2922. if(!IsNumeric(tmp)) {
  2923. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /break (id) ID Must be a number");
  2924. return 1;
  2925. }
  2926. if(!IsPlayerConnected(giveplayerid)) {
  2927. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  2928. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2929. return 1;
  2930. }
  2931. if(giveplayerid == playerid) {
  2932. SendClientMessage(playerid,COLOR_ERROR,"You cannot break yourself");
  2933. return 1;
  2934. }
  2935.  
  2936. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 3) {
  2937. format(szstring, sizeof(szstring), "(%d) Is not close enough. You cannot pour sand into that players vehicle engine",giveplayerid);
  2938. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2939. return 1;
  2940. }
  2941. GetPlayerName(playerid,mname, 24);
  2942. GetPlayerName(giveplayerid, pname, 24);
  2943. if(!IsPlayerInAnyVehicle(giveplayerid)) {
  2944. format(szstring, sizeof(szstring), "%s(%d) is not in any vehicle",pname,giveplayerid);
  2945. SendClientMessage(playerid, COLOR_ERROR, szstring);
  2946. return 1;
  2947. }
  2948.  
  2949. if(GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER) {
  2950. if(GetVehicleModel(GetPlayerVehicleID(giveplayerid)) == 481) {
  2951. SendClientMessage(playerid, COLOR_ERROR, "That vehicle does not have any engine, you cannot use this command on that vehicle (BMX Bike)");
  2952. return 1;
  2953. }
  2954. new tobreak = GetPlayerVehicleID(giveplayerid);
  2955.  
  2956. SandInEngine[tobreak] =1;
  2957. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Sand In Engine_|");
  2958. format(szstring, sizeof(szstring), "Mechanic %s(%d) has filled your vehicle engine with sand. GET OUT",mname,playerid);
  2959. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  2960. SendClientMessage(playerid, 0xA9A9A9AA, "|_Sand In Engine_|");
  2961. format(szstring, sizeof(szstring), "You have filled %s(%d)'s vehicle engine with sand", pname,giveplayerid);
  2962. SendClientMessage(playerid,COLOR_DODGERBLUE, szstring);
  2963. new plwl = GetPlayerWantedLevel(playerid);
  2964. SetPlayerWantedLevel(playerid, plwl +1 );
  2965. commitedcrimerecently[playerid] +=60;
  2966. for(new i=0;i<MAX_PLAYERS;i++)
  2967. {
  2968. if(IsPlayerConnected(i))
  2969. {
  2970. if(LawEnforcementRadio[i] == 1)
  2971. {
  2972. new current_zone;
  2973. current_zone = player_zone[playerid];
  2974. format(szstring, sizeof(szstring), "DISPATCH: (CRIME IN PROGRESS) SUSPECT: %s(%d) CRIME: Criminal Damage LOCATION: %s",mname,playerid,zones[current_zone][zone_name]);
  2975. SendClientMessage(i,COLOR_ROYALBLUE, szstring);
  2976. }
  2977. }
  2978. }
  2979. new pcol = GetPlayerColor(playerid);
  2980. plwl = GetPlayerWantedLevel(playerid);
  2981. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  2982. format(szstring, sizeof(szstring), "(CRIMINAL DAMAGE) Wanted Level %d",plwl);
  2983. SendClientMessage(playerid,pcol,szstring);
  2984. oscore = GetPlayerScore(playerid);
  2985. SetPlayerScore(playerid, oscore +1);
  2986. }
  2987. else{
  2988. format(szstring, sizeof(szstring), "%s(%d) is not the driver of the vehicle",pname,giveplayerid);
  2989. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  2990. }
  2991. return 1;
  2992. }
  2993.  
  2994. if(strcmp(cmd, "/infect", true) == 0) {
  2995. if(IsSpawned[playerid] == 0) {
  2996. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  2997. return 1;
  2998. }
  2999. if(Jailed[playerid] == 1) {
  3000. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3001. return 1;
  3002. }
  3003. if(gTeam[playerid] != TEAM_PVTMED ) {
  3004. SendClientMessage(playerid,COLOR_ERROR,"You are not a Private Medic");
  3005. return 1;
  3006. }
  3007. if(InfectedPlyRecent[playerid] == 1) {
  3008. SendClientMessage(playerid,COLOR_ERROR,"Command used recently... Please wait");
  3009. return 1;
  3010. }
  3011.  
  3012. tmp = strtok(cmdtext, idx);
  3013. if(!strlen(tmp)) {
  3014. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /infect (id)");
  3015. return 1;
  3016. }
  3017. giveplayerid = strval(tmp);
  3018. if(!IsNumeric(tmp)) {
  3019. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /infect (id) ID Must be a number");
  3020. return 1;
  3021. }
  3022. if(!IsPlayerConnected(giveplayerid)) {
  3023. format(szstring, sizeof(szstring), "ID (%d) Is not an active player", giveplayerid);
  3024. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3025. return 1;
  3026. }
  3027. if(strval(tmp) == playerid) {
  3028. SendClientMessage(playerid, COLOR_ERROR, "You cannot infect yourself");
  3029. return 1;
  3030. }
  3031.  
  3032. GetPlayerName(playerid,mname, 24);
  3033. GetPlayerName(giveplayerid, pname, 24);
  3034. if(IsPlayerInAnyVehicle(playerid)) {
  3035. SendClientMessage(playerid, COLOR_ERROR, "You cannot infect a player from inside a vehicle");
  3036. return 1;
  3037. }
  3038. if(cuffed[playerid] == 1) {
  3039. SendClientMessage(playerid, COLOR_ERROR, "You cannot infect a player while you are handcuffed");
  3040. return 1;
  3041. }
  3042. if(Jailed[giveplayerid] == 1) {
  3043. format(szstring, sizeof(szstring), "%s(%d) Is in jail. You cannot rob a prisoner",pname,giveplayerid);
  3044. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3045. return 1;
  3046. }
  3047. if(cuffed[giveplayerid] == 1) {
  3048. format(szstring, sizeof(szstring), "%s(%d) Is handcuffed. You cannot rob a player who is handcuffed",pname,giveplayerid);
  3049. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3050. return 1;
  3051. }
  3052. if(IsPlayerInAnyVehicle(giveplayerid)) {
  3053. format(szstring, sizeof(szstring), "%s(%d) Is in a vehicle. You cannot rob that player",pname,giveplayerid);
  3054. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3055. return 1;
  3056. }
  3057. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 5) {
  3058. format(szstring, sizeof(szstring), "%s(%d) Is not close enough. You cannot attempt to infect that player",pname,giveplayerid);
  3059. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3060. return 1;
  3061. }
  3062. new rand = random(500);
  3063. if(rand >= 0 && rand <= 199) {
  3064. format(szstring, sizeof(szstring), "Your attempt to infect %s(%d) has failed",pname,giveplayerid);
  3065. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3066. InfectedPlyRecent[playerid] =1;
  3067. return 1;
  3068. }
  3069. if(rand >= 200 && rand <= 500) {
  3070. format(szstring, sizeof(szstring), "%s(%d) Has been infected with Chlamydia",pname,giveplayerid);
  3071. SendClientMessageToAll(0x00C7FFAA, szstring);
  3072. SendClientMessage(giveplayerid,0xA9A9A9AA, "|_You Have Been Infected_|");
  3073. format(szstring, sizeof(szstring), "Private Medic %s(%d) has infected you with Chlamydia",mname,playerid);
  3074. SendClientMessage(giveplayerid,COLOR_FORESTGREEN, szstring);
  3075. SendClientMessage(playerid,0xA9A9A9AA, "|_Player Infected_|");
  3076. format(szstring, sizeof(szstring), "You have infected %s(%d) with Chlamydia", pname,giveplayerid);
  3077. SendClientMessage(playerid,COLOR_FORESTGREEN, szstring);
  3078. Chlamydia[giveplayerid] =1;
  3079. oscore = GetPlayerScore(playerid);
  3080. SetPlayerScore(playerid, oscore +1);
  3081. InfectedPlyRecent[playerid] =1;
  3082. GameTextForPlayer(giveplayerid,"Infected with Chlamydia",7000,3);
  3083. new current_zone;
  3084. current_zone = player_zone[playerid];
  3085. for(new i=0;i<MAX_PLAYERS;i++)
  3086. {
  3087. if(LawEnforcementRadio[i] == 1) {
  3088. format(szstring, sizeof(szstring), "DISPATCH: (MEDICAL CRIMES) Suspect: %s(%d) has infected %s(%d) Location: %s",mname,playerid,pname,giveplayerid,zones[current_zone][zone_name]);
  3089. SendClientMessage(i,COLOR_ROYALBLUE,szstring);
  3090. }
  3091. }
  3092. if(gTeam[giveplayerid] == TEAM_COP || gTeam[giveplayerid] == TEAM_ARMY) {
  3093. new plwl = GetPlayerWantedLevel(playerid);
  3094. SetPlayerWantedLevel(playerid, plwl +4 );
  3095. }
  3096. else{
  3097. new plwl = GetPlayerWantedLevel(playerid);
  3098. SetPlayerWantedLevel(playerid, plwl +2 );
  3099. }
  3100. new pcol = GetPlayerColor(playerid);
  3101. new plwl = GetPlayerWantedLevel(playerid);
  3102. SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
  3103. format(szstring, sizeof(szstring), "(MEDICAL CRIMES) Wanted Level %d",plwl);
  3104. SendClientMessage(playerid,pcol,szstring);
  3105. }
  3106. return 1;
  3107. }
  3108.  
  3109. if(strcmp(cmd, "/cure", true) == 0) {
  3110. if(IsSpawned[playerid] == 0) {
  3111. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3112. return 1;
  3113. }
  3114. if(Jailed[playerid] == 1) {
  3115. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3116. return 1;
  3117. }
  3118. if(gTeam[playerid] != TEAM_MEDIC && gTeam[playerid] != TEAM_PVTMED ) {
  3119. SendClientMessage(playerid,COLOR_ERROR,"You are not a Medic / Private Medic");
  3120. return 1;
  3121. }
  3122. tmp = strtok(cmdtext, idx);
  3123. if(!strlen(tmp)) {
  3124. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /cure (id)");
  3125. return 1;
  3126. }
  3127. giveplayerid = strval(tmp);
  3128. if(!IsNumeric(tmp)) {
  3129. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /cure (id) ID Must be a number");
  3130. return 1;
  3131. }
  3132. GetPlayerName(playerid,mname, 24);
  3133. GetPlayerName(giveplayerid, pname, 24);
  3134. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 5) {
  3135. format(szstring, sizeof(szstring), "%s(%d) Is not close enough. You cannot cure that player",pname,giveplayerid);
  3136. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3137. return 1;
  3138. }
  3139. if(Chlamydia[giveplayerid] == 0 && Salmonella[giveplayerid] == 0) {
  3140. format(szstring, sizeof(szstring), "%s(%d) Does not have any infections",pname,giveplayerid);
  3141. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3142. return 1;
  3143. }
  3144. if(wantscure[giveplayerid] == 0) {
  3145. format(szstring, sizeof(szstring), "Medic %s(%d) has attempted to cure your infection. Type /medic if you need a Medic",mname,playerid);
  3146. SendClientMessage(giveplayerid,COLOR_FORESTGREEN, szstring);
  3147. format(szstring, sizeof(szstring), "%s(%d) has not asked for a medic. You cannot cure that players infection", pname,giveplayerid);
  3148. SendClientMessage(playerid,COLOR_ERROR, szstring);
  3149. }
  3150. else
  3151. if(wantscure[giveplayerid] == 1) {
  3152. new mrand = random(3500);
  3153. oscore = GetPlayerScore(playerid);
  3154. SendClientMessage(giveplayerid,0xA9A9A9AA, "|_Infection(s) Cured_|");
  3155. format(szstring, sizeof(szstring), "Medic %s(%d) has cured your infections for $%d",mname,playerid,mrand);
  3156. SendClientMessage(giveplayerid,COLOR_FORESTGREEN, szstring);
  3157. SendClientMessage(playerid,0xA9A9A9AA, "|_Player Infection(s) Cured_|");
  3158. format(szstring, sizeof(szstring), "%s(%d) has beed cured. You earned $%d", pname,giveplayerid,mrand);
  3159. SendClientMessage(playerid,COLOR_FORESTGREEN, szstring);
  3160. GivePlayerMoney(giveplayerid,-mrand);
  3161. GivePlayerMoney(playerid,mrand);
  3162. Chlamydia[giveplayerid] =0;
  3163. Salmonella[giveplayerid] =0;
  3164. SetPlayerScore(playerid, oscore +1);
  3165. wantscure[giveplayerid] =0;
  3166. }
  3167. return 1;
  3168. }
  3169.  
  3170. if(strcmp(cmd,"/buy",true)==0)
  3171. {
  3172. if(IsSpawned[playerid] == 0) {
  3173. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3174. return 1;
  3175. }
  3176. if(!IsPlayerInCheckpoint(playerid)) {
  3177. SendClientMessage(playerid,COLOR_ERROR,"You have to be in the checkpoint inside a 24/7 store to use this command");
  3178. return 1;
  3179. }
  3180. if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) != 46) {
  3181. SendClientMessage(playerid,COLOR_ERROR,"You have to be in the checkpoint inside a 24/7 store to use this command");
  3182. return 1;
  3183. }
  3184. if(IsPlayerInCheckpoint(playerid) && getCheckpointType(playerid) == 46)
  3185. {
  3186. new buyername[24];
  3187. GetPlayerName(playerid,buyername, 24);
  3188. new x_nr[256];
  3189. x_nr = strtok(cmdtext, idx);
  3190. if(!strlen(x_nr)) {
  3191. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /buy 1-6");
  3192. return 1;
  3193. }
  3194. if(strcmp(x_nr,"1",true) == 0)
  3195. {
  3196. if(GetPlayerMoney(playerid) <= 1499) {
  3197. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3198. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy a Chainsaw ($2000)");
  3199. return 1;
  3200.  
  3201. }
  3202.  
  3203.  
  3204. GivePlayerMoney(playerid,-1500);
  3205. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3206. SendClientMessage(playerid, 0x00C7FFAA, "You have bought a Chainsaw. You were charged $1500");
  3207. GivePlayerWeapon(playerid,9,1);
  3208. TextDrawHideForPlayer(playerid,service);
  3209. return 1;
  3210. }
  3211. else if(strcmp(x_nr,"2",true) == 0)
  3212. {
  3213. if(GetPlayerMoney(playerid) <= 4) {
  3214. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3215. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy flowers ($5)");
  3216. TextDrawHideForPlayer(playerid,service);
  3217. return 1;
  3218. }
  3219.  
  3220.  
  3221. GivePlayerMoney(playerid,-5);
  3222. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3223. SendClientMessage(playerid, 0x00C7FFAA, "You have bought flowers. You were charged $5");
  3224. GivePlayerWeapon(playerid,14,1);
  3225. TextDrawHideForPlayer(playerid,service);
  3226. return 1;
  3227. }
  3228. else if(strcmp(x_nr,"3",true) == 0)
  3229. {
  3230.  
  3231. if(GetPlayerMoney(playerid) <= 0) {
  3232. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3233. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy water ($1)");
  3234. TextDrawHideForPlayer(playerid,service);
  3235. return 1;
  3236. }
  3237.  
  3238.  
  3239. GivePlayerMoney(playerid,-1);
  3240. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3241. SendClientMessage(playerid, 0x00C7FFAA, "You have bought some water. You were charged $1");
  3242. TextDrawHideForPlayer(playerid,service);
  3243. return 1;
  3244. }
  3245. else if(strcmp(x_nr,"4",true) == 0)
  3246. {
  3247. if(GetPlayerMoney(playerid) <= 19) {
  3248. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3249. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy Beer ($20)");
  3250. TextDrawHideForPlayer(playerid,service);
  3251. return 1;
  3252. }
  3253.  
  3254.  
  3255. GivePlayerMoney(playerid,-20);
  3256. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3257. SendClientMessage(playerid, 0x00C7FFAA, "You have bought and drinked a Beer. You were charged $20");
  3258. TextDrawHideForPlayer(playerid,service);
  3259. new Float:beerhealth;
  3260. GetPlayerHealth(playerid,beerhealth);
  3261. drunkplayer[playerid] += 1;
  3262. if(beerhealth <=95) {
  3263. drunkplayer[playerid] += 1;
  3264. SetPlayerHealth(playerid,beerhealth+5);
  3265. return 1;
  3266. }
  3267. else if(drunkplayer[playerid] >= 3) {
  3268. GameTextForPlayer(playerid,"~w~you are ~r~~n~drunk", 7000,3);
  3269. drunkplayer[playerid] += 1;
  3270. return 1;
  3271. }
  3272.  
  3273. }
  3274. else if(strcmp(x_nr,"5",true) == 0)
  3275. {
  3276. if(GetPlayerMoney(playerid) <= 999) {
  3277. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3278. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy a Wallet ($1000)");
  3279. TextDrawHideForPlayer(playerid,service);
  3280. return 1;
  3281. }
  3282. if(HasWallet[playerid] >= 1) {
  3283. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3284. SendClientMessage(playerid, COLOR_ERROR, "You already have a Wallet");
  3285. TextDrawHideForPlayer(playerid,service);
  3286. return 1;
  3287. }
  3288.  
  3289. GivePlayerMoney(playerid,-1000);
  3290. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3291. SendClientMessage(playerid, 0x00C7FFAA, "You have bought a Wallet. You were charged $1000");
  3292. SendClientMessage(playerid, 0x00C7FFAA, "You can be robbed upto 5 times and not lose any cash");
  3293. HasWallet[playerid] =5;
  3294. TextDrawHideForPlayer(playerid,service);
  3295. return 1;
  3296.  
  3297. }
  3298. else if(strcmp(x_nr,"6",true) == 0)
  3299. {
  3300. if(GetPlayerMoney(playerid) <= 499) {
  3301. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3302. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy a Parachute ($500)");
  3303. TextDrawHideForPlayer(playerid,service);
  3304. return 1;
  3305. }
  3306.  
  3307. GivePlayerMoney(playerid,-500);
  3308. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3309. SendClientMessage(playerid, 0x00C7FFAA, "You have bought a Parachute. You were charged $500");
  3310. GivePlayerWeapon(playerid,46,1);
  3311. TextDrawHideForPlayer(playerid,service);
  3312. return 1;
  3313. }
  3314. else if(strcmp(x_nr,"7",true) == 0)
  3315. {
  3316. if(GetPlayerMoney(playerid) <= 1599) {
  3317. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3318. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy a Camera ($1600)");
  3319. TextDrawHideForPlayer(playerid,service);
  3320. return 1;
  3321. }
  3322.  
  3323. GivePlayerMoney(playerid,-1600);
  3324. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3325. SendClientMessage(playerid, 0x00C7FFAA, "You have bought a Camera with 1600 photos free. You were charged $1600");
  3326. GivePlayerWeapon(playerid,43,1600);
  3327. TextDrawHideForPlayer(playerid,service);
  3328. return 1;
  3329. }
  3330. else if(strcmp(x_nr,"8",true) == 0)
  3331. {
  3332. if(GetPlayerMoney(playerid) <= 1) {
  3333. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase Failed_|");
  3334. SendClientMessage(playerid, COLOR_ERROR, "You cannot afford to buy a condom ($2)");
  3335. TextDrawHideForPlayer(playerid,service);
  3336. return 1;
  3337. }
  3338.  
  3339. GivePlayerMoney(playerid,-2);
  3340. SendClientMessage(playerid, 0xA9A9A9AA, "|_24/7 Purchase_|");
  3341. SendClientMessage(playerid, 0x00C7FFAA, "You have bought 3 packs of Condoms. You were charged $2. Have a nice sex..");
  3342. TextDrawHideForPlayer(playerid,service);
  3343. Condom[playerid] =3;
  3344. return 1;
  3345. }
  3346. else
  3347. {
  3348. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /buy 1-8");
  3349.  
  3350. return 1;
  3351. }
  3352.  
  3353. }
  3354. return 1;
  3355. }
  3356.  
  3357. if(strcmp(cmd, "/healme", true) == 0 && IsPlayerConnected(playerid)) {
  3358. if(IsSpawned[playerid] == 0) {
  3359. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3360. return 1;
  3361. }
  3362. if(Jailed[playerid] == 1) {
  3363. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3364. return 1;
  3365. }
  3366. if(gTeam[playerid] != TEAM_MEDIC && gTeam[playerid] != TEAM_PVTMED ) {
  3367. SendClientMessage(playerid,COLOR_ERROR,"Only Medic's or Private Medic's can use this command");
  3368. return 1;
  3369. }
  3370. if(GetPlayerWantedLevel(playerid) >= 4) {
  3371. SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command while you have a warrant (Orange/Red)");
  3372. return 1;
  3373. }
  3374. new Float:playerhealth;
  3375. GetPlayerHealth(playerid,playerhealth);
  3376. if(playerhealth >= 100) {
  3377. SendClientMessage(playerid,COLOR_ERROR,"Your health is already high. You cannot heal yourself");
  3378. }
  3379. else
  3380. if(playerhealth >= 0 && playerhealth <= 99)
  3381. {
  3382. new healername[24];
  3383. GetPlayerName(playerid,healername, 24);
  3384. SetPlayerHealth(playerid,100);
  3385. SendClientMessage(playerid,0xA9A9A9AA, "|_Health Restored_|");
  3386. SendClientMessage(playerid,COLOR_FORESTGREEN, "You are a Medic / Private Medic. You have restored your own health");
  3387. printf("Medic / Private Medic %s(%d) has used /healme",healername,playerid);
  3388. }
  3389. return 1;
  3390. }
  3391.  
  3392. if(strcmp(cmdtext,"/loc ",true,5) == 0 && strlen(cmdtext) > 5) {
  3393. new target, current_zone;
  3394. target = strval(cmdtext[5]);
  3395. if(!IsNumeric(cmdtext[5])) {
  3396. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /loc (id) ID Must be a number");
  3397. return 1;
  3398. }
  3399. if(GetPlayerColor(target) == COLOR_DEADCONNECT) {
  3400. SendClientMessage(playerid,COLOR_ERROR,"That player is dead");
  3401. return 1;
  3402. }
  3403. current_zone = player_zone[target];
  3404. // printf("D1: %d %d",target,current_zone);
  3405. if(current_zone != -1 && IsPlayerConnected(target)) {
  3406. new playername[MAX_PLAYER_NAME],message2[256];
  3407. GetPlayerName(target,playername,MAX_PLAYER_NAME);
  3408. format(message2,sizeof(message2),"%s(%d)'s current location: %s",playername,target,zones[current_zone][zone_name]);
  3409. SendClientMessage(playerid,0x00C7FFAA,message2);
  3410. // printf("D2: %s %s",playername,message);
  3411. } else {
  3412. SendClientMessage(playerid,COLOR_ERROR,"Invalid Player ID");
  3413. }
  3414. return 1;
  3415. } else if(strcmp(cmdtext,"/loc",true,4) == 0 && strlen(cmdtext) <= 4) {
  3416. SendClientMessage(playerid,COLOR_ERROR,"USAGE: /loc (id)");
  3417. return 1;
  3418. }
  3419.  
  3420. if(strcmp(cmd, "/mechanic", true) == 0) {
  3421. if(gTeam[playerid] == TEAM_MECHANIC) {
  3422. SendClientMessage(playerid,COLOR_ERROR,"You are a mechanic. Use /fixme to fix your car");
  3423. return 1;
  3424. }
  3425. if(RecentAskedMechanic[playerid] == 1) {
  3426. SendClientMessage(playerid,COLOR_ERROR,"Please wait before asking for a mechanic again");
  3427. return 1;
  3428. }
  3429. for(new i=0;i<MAX_PLAYERS;i++)
  3430. {
  3431. if(IsPlayerConnected(i))
  3432. {
  3433. if(gTeam[i] == TEAM_MECHANIC)
  3434. {
  3435. GetPlayerName(playerid,pname, 24);
  3436. new current_zone;
  3437. current_zone = player_zone[playerid];
  3438. format(szstring, sizeof(szstring), "%s(%d) is looking for a mechanic. Location: %s", pname,giveplayerid,zones[current_zone][zone_name]);
  3439. SendClientMessage(i,COLOR_BLUE, szstring);
  3440. SendClientMessage(playerid,COLOR_DODGERBLUE,"You have called a mechanic");
  3441. RecentAskedMechanic[playerid] =1;
  3442. }
  3443. else{
  3444. SendClientMessage(playerid,COLOR_DODGERBLUE,"No Mechanics are on at the moment");
  3445. }
  3446. }
  3447. }
  3448. return 1;
  3449. }
  3450.  
  3451. if(strcmp(cmd, "/fixme", true) == 0) {
  3452. if(IsSpawned[playerid] == 0) {
  3453. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3454. return 1;
  3455. }
  3456. if(GetPlayerWantedLevel(playerid) >= 4) {
  3457. SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command while you have a warrant (Orange/Red)");
  3458. return 1;
  3459. }
  3460. if(gTeam[playerid] != TEAM_MECHANIC) {
  3461. SendClientMessage(playerid,COLOR_ERROR,"You are not a mechanic");
  3462. return 1;
  3463. }
  3464. if(!IsPlayerInAnyVehicle(playerid)) {
  3465. SendClientMessage(playerid,COLOR_ERROR,"You are not in a vehicle");
  3466. return 1;
  3467. }
  3468. if(fixedcarrecent[playerid] >=1) {
  3469. SendClientMessage(playerid,COLOR_ERROR,"Command used recently. Please wait");
  3470. return 1;
  3471. }
  3472. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  3473. new tofix = GetPlayerVehicleID(playerid);
  3474. SetVehicleHealth(tofix, 1000);
  3475. SendClientMessage(playerid, 0xA9A9A9AA, "|_Vehicle Engine Repaired_|");
  3476. SendClientMessage(playerid, 0x00C7FFAA, "You have fixed your vehicle engine");
  3477. fixedcarrecent[playerid] =60;
  3478. }
  3479. else
  3480. SendClientMessage(playerid, COLOR_ERROR, "You need to be driver to fix your own car");
  3481. return 1;
  3482. }
  3483.  
  3484. if(strcmp(cmd, "/fix", true) == 0) {
  3485. if(IsSpawned[playerid] == 0) {
  3486. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3487. return 1;
  3488. }
  3489. if(gTeam[playerid] != TEAM_MECHANIC) {
  3490. SendClientMessage(playerid,COLOR_ERROR,"You are not a Car Mechanic");
  3491. return 1;
  3492. }
  3493. if(fixedcarrecent[playerid] >=1) {
  3494. SendClientMessage(playerid,COLOR_ERROR,"Command used recently. Please wait");
  3495. return 1;
  3496. }
  3497. tmp = strtok(cmdtext, idx);
  3498. if(!strlen(tmp)) {
  3499. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /fix (id)");
  3500. return 1;
  3501. }
  3502. giveplayerid = strval(tmp);
  3503. if(!IsNumeric(tmp)) {
  3504. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /fix (id) ID Must be a number");
  3505. return 1;
  3506. }
  3507. if(!IsPlayerConnected(giveplayerid)) {
  3508. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  3509. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3510. return 1;
  3511. }
  3512. if(strval(tmp) == playerid) {
  3513. SendClientMessage(playerid, COLOR_ERROR, "Please use /fixme to fix your own vehicle");
  3514. return 1;
  3515. }
  3516. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 5) {
  3517. format(szstring, sizeof(szstring), "(%d) Is not close enough. You cannot fix that players vehicle engine",giveplayerid);
  3518. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3519. return 1;
  3520. }
  3521. GetPlayerName(playerid,mname, 24);
  3522. GetPlayerName(giveplayerid, pname, 24);
  3523. if(!IsPlayerInAnyVehicle(giveplayerid)) {
  3524. format(szstring, sizeof(szstring), "%s(%d) is not in any vehicle",pname,giveplayerid);
  3525. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3526. return 1;
  3527. }
  3528.  
  3529.  
  3530. if(GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER) {
  3531. new tofix = GetPlayerVehicleID(giveplayerid);
  3532. new Float:vHealth;
  3533. GetVehicleHealth(tofix, vHealth);
  3534. if(vHealth > 700) {
  3535. format(szstring, sizeof(szstring), "%s(%d)'s vehicle engine does not need fixed",pname,giveplayerid);
  3536. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3537. return 1;
  3538. }
  3539.  
  3540. new mrand = random(2500);
  3541. oscore = GetPlayerScore(playerid);
  3542. SetVehicleHealth(tofix,1000);
  3543. GivePlayerMoney(giveplayerid,-mrand);
  3544. GivePlayerMoney(playerid,mrand);
  3545. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Vehicle Engine Repaired_|");
  3546. format(szstring, sizeof(szstring), "Mechanic %s(%d) has fixed your vehicle engine for $%d",mname,playerid,mrand);
  3547. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  3548. SendClientMessage(playerid, 0xA9A9A9AA, "|_Vehicle Engine Repaired_|");
  3549. format(szstring, sizeof(szstring), "You have fixed %s(%d)s vehicle engine. You earned $%d", pname,giveplayerid,mrand);
  3550. SendClientMessage(playerid,COLOR_DODGERBLUE, szstring);
  3551. SetPlayerScore(playerid, oscore +1);
  3552. fixedcarrecent[playerid] =60;
  3553. }
  3554. else{
  3555. format(szstring, sizeof(szstring), "%s(%d) is not the driver of the vehicle",pname,giveplayerid);
  3556. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  3557. }
  3558. return 1;
  3559. }
  3560.  
  3561. if(strcmp(cmd, "/911", true) == 0) {
  3562. if(Jailed[playerid] ==1) {
  3563. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3564. return 1;
  3565. }
  3566. if(gTeam[playerid] <= 2) {
  3567. SendClientMessage(playerid,COLOR_ERROR,"You are a Law Enforcement officer. You cannot call /911 ");
  3568. return 1;
  3569. }
  3570. if (!GetPlayersInTeam(TEAM_COP)){
  3571. SendClientMessage(playerid,COLOR_ERROR,"There are no Police officers in the area");
  3572. return 1;
  3573. }
  3574.  
  3575. new output[70];
  3576. strmid(output,cmdtext,5,strlen(cmdtext));
  3577. if(strlen(cmdtext) <= 4) {
  3578. SendClientMessage(playerid, 0xA9A9A9AA, "USAGE: /911 (message)");
  3579. return 1;
  3580. }
  3581. SendClientMessage(playerid, 0xA9A9A9AA, "|_Dialed 911_|");
  3582. SendClientMessage(playerid,0x00C7FFAA,"You have dialed 911 - Please wait for Police assistance");
  3583. new callername[30];
  3584. GetPlayerName(playerid,callername, 30);
  3585. new current_zone;
  3586. current_zone = player_zone[playerid];
  3587. for(new i=0;i<MAX_PLAYERS;i++)
  3588. {
  3589. if(LawEnforcementRadio[i] == 1) {
  3590. format(szstring, sizeof(szstring), "DISPATCH: (911) %s(%d) has called 911",callername,playerid);
  3591. SendClientMessage(i,COLOR_BLUE,szstring);
  3592. format(szstring, sizeof(szstring), "%s(%d) Said: ( %s )",callername,playerid,output);
  3593. SendClientMessage(i,COLOR_BLUE,szstring);
  3594. format(szstring, sizeof(szstring), "All units in the area please respond. Location: %s",zones[current_zone][zone_name]);
  3595. SendClientMessage(i,COLOR_BLUE,szstring);
  3596. }
  3597. }
  3598.  
  3599. return 1;
  3600. }
  3601.  
  3602. if(strcmp(cmd, "/taze", true) == 0) {
  3603. if(IsSpawned[playerid] == 0) {
  3604. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3605. return 1;
  3606. }
  3607. if(gTeam[playerid] >= 3) {
  3608. SendClientMessage(playerid, COLOR_ERROR, "Only Law Enforcement can use this command");
  3609. return 1;
  3610. }
  3611. if(Jailed[playerid] == 1) {
  3612. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3613. return 1;
  3614. }
  3615. tmp = strtok(cmdtext, idx);
  3616. if(!strlen(tmp)) {
  3617. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /taze (id)");
  3618. return 1;
  3619. }
  3620. giveplayerid = strval(tmp);
  3621. if(!IsNumeric(tmp)) {
  3622. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /taze (id) ID Must be a number");
  3623. return 1;
  3624. }
  3625. if(!IsPlayerConnected(giveplayerid)) {
  3626. format(szstring, sizeof(szstring), "ID (%d) Is not an active player", giveplayerid);
  3627. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3628. return 1;
  3629. }
  3630. if(gTeam[giveplayerid] <= 2) {
  3631. SendClientMessage(playerid, COLOR_ERROR, "You cannot taze another Law Enforcement agent");
  3632. return 1;
  3633. }
  3634. GetPlayerName(playerid,oname, 24);
  3635. GetPlayerName(giveplayerid, pname, 24);
  3636. if(GetPlayerWantedLevel(giveplayerid) <= 3) {
  3637. format(szstring, sizeof(szstring), "%s(%d) Does not have a warrant. You cannot use your tazer on this player",pname,giveplayerid);
  3638. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3639. return 1;
  3640. }
  3641. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 10) {
  3642. format(szstring, sizeof(szstring), "%s(%d) Is not close enough to taze",pname,giveplayerid);
  3643. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3644. return 1;
  3645. }
  3646. if(cuffed[giveplayerid] == 1) {
  3647. format(szstring, sizeof(szstring), "%s(%d) Is in handcuffs and is restrained. You cannot taze a handcuffed player",pname, giveplayerid);
  3648. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3649. return 1;
  3650. }
  3651. if(IsPlayerInAnyVehicle(giveplayerid)) {
  3652. format(szstring, sizeof(szstring), "%s(%d) Is in a vehicle. Get the player out the vehicle then use your tazer",pname,giveplayerid);
  3653. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3654. return 1;
  3655. }
  3656. if(IsPlayerInAnyVehicle(playerid)) {
  3657. SendClientMessage(playerid, COLOR_ERROR, "You cannot taze a player from inside a vehicle");
  3658. return 1;
  3659. }
  3660. if(Tazed[giveplayerid] == 1) {
  3661. format(szstring, sizeof(szstring), "%s(%d) Is being tazed right now. You cannot taze a player while the player is being tazed",pname,giveplayerid);
  3662. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3663. }
  3664. else{
  3665.  
  3666. Tazed[giveplayerid] =1;
  3667. new tazername[30];
  3668. GetPlayerName(playerid,tazername,30);
  3669. format(szstring, sizeof(szstring), "Law Enforcement agent %s(%d) Has tazed suspect %s(%d)",tazername,playerid,pname,giveplayerid);
  3670. SendClientMessageToAll(0x00C7FFAA, szstring);
  3671. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Law Enforcement Action_|");
  3672. format(szstring, sizeof(szstring), "Officer %s(%d) Has tazed you", oname,playerid);
  3673. SendClientMessage(giveplayerid,COLOR_DODGERBLUE, szstring);
  3674. ApplyAnimation(giveplayerid,"PED","BIKE_fall_off",4.1,0,1,1,1,1);
  3675. SetTimer("Tazingtime",3000,0);
  3676. }
  3677. return 1;
  3678. }
  3679.  
  3680. if (strcmp("/kill", cmdtext, true, 10) == 0)
  3681. {
  3682. SetPlayerHealth(playerid, -10);
  3683. return 1;
  3684. }
  3685.  
  3686. if(strcmp(cmd, "/reqvisit", true) == 0) {
  3687. if(IsSpawned[playerid] == 0) {
  3688. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3689. return 1;
  3690. }
  3691. if(Jailed[playerid] == 0 && InAlcatraz[playerid] == 0) {
  3692. SendClientMessage(playerid,COLOR_ERROR,"You are not in jail. You can only use this command while you are in jail (Alcatraz)");
  3693. return 1;
  3694. }
  3695. if(Jailed[playerid] == 1 && InAlcatraz[playerid] == 0) {
  3696. SendClientMessage(playerid,COLOR_ERROR,"You can only request a visit if you are in jail on Alcatraz Island");
  3697. return 1;
  3698. }
  3699. tmp = strtok(cmdtext, idx);
  3700. if(!strlen(tmp)) {
  3701. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /reqvisit (id)");
  3702. return 1;
  3703. }
  3704. if(!IsNumeric(tmp)) {
  3705. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /reqvisit (id) ID Must be a number");
  3706. return 1;
  3707. }
  3708. if(strval(tmp) == playerid) {
  3709. SendClientMessage(playerid, COLOR_ERROR, "You cannot give yourself a visiting pass");
  3710. return 1;
  3711. }
  3712. giveplayerid = strval(tmp);
  3713. if(!IsPlayerConnected(giveplayerid)) {
  3714. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  3715. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3716. return 1;
  3717. }
  3718. new sendername[24];
  3719. new receivername[24];
  3720. GetPlayerName(playerid,sendername, 24);
  3721. GetPlayerName(giveplayerid,receivername, 24);
  3722. if(gTeam[giveplayerid] <= 2) {
  3723. SendClientMessage(playerid, COLOR_ERROR, "You cannot send a visiting pass to Police or Army Officers");
  3724. return 1;
  3725. }
  3726. if(IsSpawned[giveplayerid] == 0) {
  3727. format(szstring, sizeof(szstring), "%s(%d) is dead. You cannot give a visiting pass to a dead body",receivername,giveplayerid);
  3728. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3729. return 1;
  3730. }
  3731. if(Jailed[giveplayerid] == 1) {
  3732. SendClientMessage(playerid,COLOR_ERROR,"That player is in jail. You cannot give a visiting pass to a prisoner");
  3733. return 1;
  3734. }
  3735. if(VisitReq[giveplayerid] == 1) {
  3736. format(szstring, sizeof(szstring), "%s(%d) Already has a visiting pass from you or another inmate",receivername,giveplayerid);
  3737. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3738. }
  3739. else
  3740. if(VisitReq[giveplayerid] == 0) {
  3741. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Alcatraz Island Visit Pass Received_|");
  3742. format(szstring, sizeof(szstring), "Alcatraz prisoner %s(%d) has sent you a visiting pass",sendername,playerid);
  3743. SendClientMessage(giveplayerid, 0x00C7FFAA, szstring);
  3744. SendClientMessage(giveplayerid, 0x00C7FFAA, "This pass will get you inside Alcatraz building. The pass is valid for 5 game hours");
  3745. SendClientMessage(playerid, 0xA9A9A9AA, "|_Alcatraz Island Visit Pass Sent_|");
  3746. format(szstring, sizeof(szstring), "You have sent a Alcatraz visiting pass to %s(%d) - This pass is valid for 5 game hours",receivername,giveplayerid);
  3747. SendClientMessage(playerid, 0x00C7FFAA, szstring);
  3748. VisitReq[giveplayerid] =1;
  3749. VisitReqExpires[giveplayerid] =300;
  3750. }
  3751. return 1;
  3752. }
  3753.  
  3754. if(strcmp(cmd, "/ar", true) == 0) {
  3755.  
  3756. if(IsSpawned[playerid] == 0) {
  3757. SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  3758. return 1;
  3759. }
  3760. if(Jailed[playerid] ==1) {
  3761. SendClientMessage(playerid, COLOR_ERROR, "You cannot use this command in jail");
  3762. return 1;
  3763. }
  3764. tmp = strtok(cmdtext, idx);
  3765. if(!strlen(tmp)) {
  3766. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ar (id)");
  3767. TextDrawHideForPlayer(playerid,txtTypeSkill1);
  3768. return 1;
  3769. }
  3770. giveplayerid = strval(tmp);
  3771. if(!IsNumeric(tmp)) {
  3772. SendClientMessage(playerid, COLOR_ERROR, "USAGE: /ar (id) ID Must be a number");
  3773. return 1;
  3774. }
  3775. if(!IsPlayerConnected(giveplayerid)) {
  3776. format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  3777. SendClientMessage(playerid, COLOR_ERROR, szstring);
  3778. return 1;
  3779. }
  3780. GetPlayerName(playerid,oname, 24);
  3781. GetPlayerName(giveplayerid, pname, 24);
  3782. if(GetPlayerWantedLevel(giveplayerid) <= 3) {
  3783. format(szstring, sizeof(szstring), "%s(%d) Does not have a warrant. You cannot arrest a player without a warrant",pname,giveplayerid);
  3784. SendClientMessage(playerid,COLOR_ERROR,szstring);
  3785. return 1;
  3786. }
  3787. if(IsPlayerInAnyVehicle(playerid)) {
  3788. SendClientMessage(playerid,COLOR_ERROR,"You cannot arrest a suspect if you are in a car");
  3789. return 1;
  3790. }
  3791. if(IsPlayerInAnyVehicle(giveplayerid)) {
  3792. format(szstring, sizeof(szstring), "%s(%d) Is in a vehicle. Get the suspect out before making the arrest",pname,giveplayerid);
  3793. SendClientMessage(playerid,COLOR_ERROR,szstring);
  3794. return 1;
  3795. }
  3796. if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 4) {
  3797. format(szstring, sizeof(szstring), "%s(%d) Is too far away. You cannot arrest that player",pname,giveplayerid);
  3798. SendClientMessage(playerid,COLOR_ERROR,szstring);
  3799. return 1;
  3800. }
  3801. if(IsSpawned[giveplayerid] == 0) {
  3802. format(szstring, sizeof(szstring), "%s(%d) Is dead. You cannot arrest a dead body",pname,giveplayerid);
  3803. SendClientMessage(playerid,COLOR_ERROR,szstring);
  3804. return 1;
  3805. }
  3806. SetPlayerVirtualWorld(giveplayerid,0);
  3807. if(GetPlayerWantedLevel(playerid) >=1) {
  3808. SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command if you are wanted by the police");
  3809. return 1;
  3810. }
  3811. if(giveplayerid == playerid) {
  3812. SendClientMessage(playerid,COLOR_ERROR,"You cannot arrest yourself");
  3813. return 1;
  3814. }
  3815. SetPlayerInterior(giveplayerid,10);
  3816. new rnd;
  3817. rnd = random(sizeof (AlcatrazArrestedSpawn));
  3818. SetPlayerPos(giveplayerid, AlcatrazArrestedSpawn[rnd][0], AlcatrazArrestedSpawn[rnd][1], AlcatrazArrestedSpawn[rnd][2]);
  3819. SetPlayerFacingAngle(giveplayerid, AlcatrazArrestedSpawn[rnd][3]);
  3820. format(szstring, sizeof(szstring), "Bounty Hunter %s(%d) has re-captured Escaped Convict %s(%d) and has sent the suspect to Alcatraz",oname,playerid,pname,giveplayerid);
  3821. SendClientMessageToAll(0x00C7FFAA, szstring);
  3822. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Busted By A Bounty Hunter_|");
  3823. format(szstring, sizeof(szstring), "You have been sent to Alcatraz by Bounty Hunter %s(%d)",oname,playerid);
  3824. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3825. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from Alcatraz once you have served your sentence");
  3826. SendClientMessage(giveplayerid,0x00C7FFAA,"If Alcatraz life sucks for you... Why not ask a friend to visit you? /reqvisit (id)");
  3827. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3828. format(szstring, sizeof(szstring), "You have sent escaped prisoner %s(%d) to Alcatraz - you receive a $5000 re-capture bonus",pname,giveplayerid);
  3829. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3830. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  3831. format(szstring, sizeof(szstring), "Escaped Convict %s(%d) has been re-arrested and sent to Alcatraz by Bounty Hunter %s(%d)",pname,giveplayerid,oname,playerid);
  3832. printf("%s", szstring);
  3833. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  3834. GivePlayerMoney(playerid,5000);
  3835. Jailed[giveplayerid] =1;
  3836. InAlcatraz[giveplayerid] =1;
  3837. StoleCopCarRecent[giveplayerid] =0;
  3838. triedtoescaperecent[giveplayerid] =1;
  3839. ResetPlayerWeapons(giveplayerid);
  3840. JailTime[giveplayerid] =320;
  3841. JailTimeServed[giveplayerid] =0;
  3842. EscapedConvict[giveplayerid] =0;
  3843. SetPlayerWantedLevel(giveplayerid,0);
  3844. oscore = GetPlayerScore(playerid);
  3845. SetPlayerScore(playerid, oscore +1);
  3846. return 1;
  3847. }
  3848.  
  3849. if(EscapedConvict[giveplayerid] == 1 && GetPlayerWantedLevel(giveplayerid) >=10) {
  3850. SetPlayerInterior(giveplayerid,10);
  3851. new rnd;
  3852. rnd = random(sizeof (AlcatrazArrestedSpawn));
  3853. SetPlayerPos(giveplayerid, AlcatrazArrestedSpawn[rnd][0], AlcatrazArrestedSpawn[rnd][1], AlcatrazArrestedSpawn[rnd][2]);
  3854. SetPlayerFacingAngle(giveplayerid, AlcatrazArrestedSpawn[rnd][3]);
  3855. format(szstring, sizeof(szstring), "Escaped Convict %s(%d) has been re-arrested and sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  3856. SendClientMessageToAll(0x00C7FFAA, szstring);
  3857. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  3858. format(szstring, sizeof(szstring), "You have been sent to Alcatraz by Officer %s(%d)",oname,playerid);
  3859. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3860. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from Alcatraz once you have served your sentence");
  3861. SendClientMessage(giveplayerid,0x00C7FFAA,"If Alcatraz life sucks for you... Why not ask a friend to visit you? /reqvisit (id)");
  3862. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3863. format(szstring, sizeof(szstring), "You have sent escaped prisoner %s(%d) to Alcatraz - you receive a $4000 re-capture bonus",pname,giveplayerid);
  3864. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3865. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  3866. format(szstring, sizeof(szstring), "Escaped Convict %s(%d) has been re-arrested and sent to Alcatraz by Officer %s(%d)",pname,giveplayerid,oname,playerid);
  3867. printf("%s", szstring);
  3868. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  3869. GivePlayerMoney(playerid,4000);
  3870. Jailed[giveplayerid] =1;
  3871. InAlcatraz[giveplayerid] =1;
  3872. StoleCopCarRecent[giveplayerid] =0;
  3873. triedtoescaperecent[giveplayerid] =1;
  3874. ResetPlayerWeapons(giveplayerid);
  3875. JailTime[giveplayerid] =320;
  3876. JailTimeServed[giveplayerid] =0;
  3877. EscapedConvict[giveplayerid] =0;
  3878. SetPlayerWantedLevel(giveplayerid,0);
  3879. oscore = GetPlayerScore(playerid);
  3880. SetPlayerScore(playerid, oscore +1);
  3881. return 1;
  3882. }
  3883. if(GetPlayerWantedLevel(giveplayerid) >=4 && GetPlayerWantedLevel(giveplayerid) <=5) {
  3884. SetPlayerInterior(giveplayerid,3);
  3885. new rnd;
  3886. rnd = random(sizeof (ArrestedSpawn));
  3887. SetPlayerPos(giveplayerid, ArrestedSpawn[rnd][0], ArrestedSpawn[rnd][1], ArrestedSpawn[rnd][2]);
  3888. SetPlayerFacingAngle(giveplayerid, ArrestedSpawn[rnd][3]);
  3889. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  3890. SendClientMessageToAll(0x00C7FFAA, szstring);
  3891. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  3892. format(szstring, sizeof(szstring), "You were Arrested by Officer %s(%d)",oname,playerid);
  3893. SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_HANDSUP);
  3894. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3895. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from jail or a Police Officer/Jail Turnkey can release you early");
  3896. SendClientMessage(giveplayerid,0x00C7FFAA,"If jail life sucks for you... Why not pay the /bail");
  3897. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3898. format(szstring, sizeof(szstring), "You have arrested %s(%d) - you receive a $4500 bonus",pname,giveplayerid);
  3899. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3900. GivePlayerMoney(playerid,4500);
  3901. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  3902. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d)",pname,giveplayerid,oname,playerid);
  3903. printf("%s", szstring);
  3904. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  3905. GivePlayerMoney(playerid,1500);
  3906. Jailed[giveplayerid] =1;
  3907. StoleCopCarRecent[giveplayerid] =0;
  3908. triedtoescaperecent[giveplayerid] =1;
  3909. ResetPlayerWeapons(giveplayerid);
  3910. JailTime[giveplayerid] =180;
  3911. JailTimeServed[giveplayerid] =0;
  3912. SetPlayerWantedLevel(giveplayerid,0);
  3913. oscore = GetPlayerScore(playerid);
  3914. SetPlayerScore(playerid, oscore +1);
  3915. return 1;
  3916. }
  3917. if(GetPlayerWantedLevel(giveplayerid) >=6 && GetPlayerWantedLevel(giveplayerid) <=8) {
  3918. SetPlayerInterior(giveplayerid,3);
  3919. new rnd;
  3920. rnd = random(sizeof (ArrestedSpawn));
  3921. SetPlayerPos(giveplayerid, ArrestedSpawn[rnd][0], ArrestedSpawn[rnd][1], ArrestedSpawn[rnd][2]);
  3922. SetPlayerFacingAngle(giveplayerid, ArrestedSpawn[rnd][3]);
  3923. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  3924. SendClientMessageToAll(0x00C7FFAA, szstring);
  3925. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  3926. format(szstring, sizeof(szstring), "You were Arrested by Officer %s(%d)",oname,playerid);
  3927. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3928. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  3929. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from jail or a Police Officer/Jail Turnkey can release you early");
  3930. SendClientMessage(giveplayerid,0x00C7FFAA,"If jail life sucks for you... Why not try /escape");
  3931. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3932. format(szstring, sizeof(szstring), "You have arrested %s(%d) - you receive a $2000 bonus",pname,giveplayerid);
  3933. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3934. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d)",pname,giveplayerid,oname,playerid);
  3935. printf("%s", szstring);
  3936. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  3937. GivePlayerMoney(playerid,2000);
  3938. Jailed[giveplayerid] =1;
  3939.  
  3940. StoleCopCarRecent[giveplayerid] =0;
  3941. triedtoescaperecent[giveplayerid] =1;
  3942. ResetPlayerWeapons(giveplayerid);
  3943. JailTime[giveplayerid] =240;
  3944. JailTimeServed[giveplayerid] =0;
  3945. SetPlayerWantedLevel(giveplayerid,0);
  3946. oscore = GetPlayerScore(playerid);
  3947. SetPlayerScore(playerid, oscore +1);
  3948. return 1;
  3949. }
  3950.  
  3951. if(GetPlayerWantedLevel(giveplayerid) == 9) {
  3952. SetPlayerInterior(giveplayerid,3);
  3953. new rnd;
  3954. rnd = random(sizeof (ArrestedSpawn));
  3955. SetPlayerPos(giveplayerid, ArrestedSpawn[rnd][0], ArrestedSpawn[rnd][1], ArrestedSpawn[rnd][2]);
  3956. SetPlayerFacingAngle(giveplayerid, ArrestedSpawn[rnd][3]);
  3957. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  3958. SendClientMessageToAll(0x00C7FFAA, szstring);
  3959. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  3960. format(szstring, sizeof(szstring), "You were Arrested by Officer %s(%d)",oname,playerid);
  3961. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3962. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from jail or a Police Officer/Jail Turnkey can release you early");
  3963. SendClientMessage(giveplayerid,0x00C7FFAA,"If jail life sucks for you... Why not try /escape");
  3964. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3965. format(szstring, sizeof(szstring), "You have arrested %s(%d) - you receive a $2500 bonus",pname,giveplayerid);
  3966. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3967. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  3968. format(szstring, sizeof(szstring), "Wanted suspect %s(%d) has been arrested by Officer %s(%d)",pname,giveplayerid,oname,playerid);
  3969. printf("%s", szstring);
  3970. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  3971. GivePlayerMoney(playerid,2500);
  3972. Jailed[giveplayerid] =1;
  3973. StoleCopCarRecent[giveplayerid] =0;
  3974. triedtoescaperecent[giveplayerid] =1;
  3975. ResetPlayerWeapons(giveplayerid);
  3976. JailTime[giveplayerid] =300;
  3977. JailTimeServed[giveplayerid] =0;
  3978. SetPlayerWantedLevel(giveplayerid,0);
  3979. oscore = GetPlayerScore(playerid);
  3980. SetPlayerScore(playerid, oscore +1);
  3981. return 1;
  3982. }
  3983. if(GetPlayerWantedLevel(giveplayerid) >=10 && GetPlayerWantedLevel(giveplayerid) <=14) {
  3984. SetPlayerInterior(giveplayerid,10);
  3985. new rnd;
  3986. rnd = random(sizeof (AlcatrazArrestedSpawn));
  3987. SetPlayerPos(giveplayerid, AlcatrazArrestedSpawn[rnd][0], AlcatrazArrestedSpawn[rnd][1], AlcatrazArrestedSpawn[rnd][2]);
  3988. SetPlayerFacingAngle(giveplayerid, AlcatrazArrestedSpawn[rnd][3]);
  3989. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  3990. SendClientMessageToAll(0x00C7FFAA, szstring);
  3991. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  3992. format(szstring, sizeof(szstring), "You have been sent to Alcatraz by Officer %s(%d)",oname,playerid);
  3993. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  3994. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from Alcatraz once you have served your sentence");
  3995. SendClientMessage(giveplayerid,0x00C7FFAA,"If Alcatraz life sucks for you... Why not ask a friend to visit you? /reqvisit (id)");
  3996. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  3997. format(szstring, sizeof(szstring), "You have sent Most Wanted suspect %s(%d) to Alcatraz - you receive a $3000 bonus",pname,giveplayerid);
  3998. SendClientMessage(playerid,0x00C7FFAA, szstring);
  3999. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  4000. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been arrested and sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  4001. printf("%s", szstring);
  4002. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  4003. GivePlayerMoney(playerid,3000);
  4004. Jailed[giveplayerid] =1;
  4005. InAlcatraz[giveplayerid] =1;
  4006. StoleCopCarRecent[giveplayerid] =0;
  4007. triedtoescaperecent[giveplayerid] =1;
  4008. ResetPlayerWeapons(giveplayerid);
  4009. JailTime[giveplayerid] =380;
  4010. JailTimeServed[giveplayerid] =0;
  4011. SetPlayerWantedLevel(giveplayerid,0);
  4012. oscore = GetPlayerScore(playerid);
  4013. SetPlayerScore(playerid, oscore +1);
  4014. return 1;
  4015. }
  4016. if(GetPlayerWantedLevel(giveplayerid) >=15 && GetPlayerWantedLevel(giveplayerid) <=24) {
  4017. SetPlayerInterior(giveplayerid,10);
  4018. new rnd;
  4019. rnd = random(sizeof (AlcatrazArrestedSpawn));
  4020. SetPlayerPos(giveplayerid, AlcatrazArrestedSpawn[rnd][0], AlcatrazArrestedSpawn[rnd][1], AlcatrazArrestedSpawn[rnd][2]);
  4021. SetPlayerFacingAngle(giveplayerid, AlcatrazArrestedSpawn[rnd][3]);
  4022. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  4023. SendClientMessageToAll(0x00C7FFAA, szstring);
  4024. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  4025. format(szstring, sizeof(szstring), "You have been sent to Alcatraz by Officer %s(%d)",oname,playerid);
  4026. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  4027. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from Alcatraz once you have served your sentence");
  4028. SendClientMessage(giveplayerid,0x00C7FFAA,"If Alcatraz life sucks for you... Why not ask a friend to visit you? /reqvisit (id)");
  4029. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  4030. format(szstring, sizeof(szstring), "You have sent Most Wanted suspect %s(%d) to Alcatraz - you receive a $3500 bonus",pname,giveplayerid);
  4031. SendClientMessage(playerid,0x00C7FFAA, szstring);
  4032. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  4033. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been arrested and sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  4034. printf("%s", szstring);
  4035. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  4036. GivePlayerMoney(playerid,3500);
  4037. Jailed[giveplayerid] =1;
  4038. InAlcatraz[giveplayerid] =1;
  4039. StoleCopCarRecent[giveplayerid] =0;
  4040. triedtoescaperecent[giveplayerid] =1;
  4041. ResetPlayerWeapons(giveplayerid);
  4042. JailTime[giveplayerid] =420;
  4043. JailTimeServed[giveplayerid] =0;
  4044. SetPlayerWantedLevel(giveplayerid,0);
  4045. oscore = GetPlayerScore(playerid);
  4046. SetPlayerScore(playerid, oscore +1);
  4047. return 1;
  4048. }
  4049. if(GetPlayerWantedLevel(giveplayerid) >=25) {
  4050. SetPlayerInterior(giveplayerid,10);
  4051. new rnd;
  4052. rnd = random(sizeof (AlcatrazArrestedSpawn));
  4053. SetPlayerPos(giveplayerid, AlcatrazArrestedSpawn[rnd][0], AlcatrazArrestedSpawn[rnd][1], AlcatrazArrestedSpawn[rnd][2]);
  4054. SetPlayerFacingAngle(giveplayerid, AlcatrazArrestedSpawn[rnd][3]);
  4055. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  4056. SendClientMessageToAll(0x00C7FFAA, szstring);
  4057. SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_You Have Been Arrested_|");
  4058. format(szstring, sizeof(szstring), "You have been sent to Alcatraz by Officer %s(%d)",oname,playerid);
  4059. SendClientMessage(giveplayerid,0x00C7FFAA, szstring);
  4060. SendClientMessage(giveplayerid,0x00C7FFAA,"You will be auto-released from Alcatraz once you have served your sentence");
  4061. SendClientMessage(giveplayerid,0x00C7FFAA,"If Alcatraz life sucks for you... Why not ask a friend to visit you? /reqvisit (id)");
  4062. SendClientMessage(playerid, 0xA9A9A9AA, "|_Suspect Arrested_|");
  4063. format(szstring, sizeof(szstring), "You have sent Most Wanted suspect %s(%d) to Alcatraz - you receive a $4000 bonus",pname,giveplayerid);
  4064. SendClientMessage(playerid,0x00C7FFAA, szstring);
  4065. GameTextForPlayer(playerid,"~b~Suspect Arrested",5000,3);
  4066. format(szstring, sizeof(szstring), "Most Wanted suspect %s(%d) has been arrested and sent to Alcatraz by Officer %s(%d) ",pname,giveplayerid,oname,playerid);
  4067. printf("%s", szstring);
  4068. SendClientMessage(giveplayerid,0xFF7F50AA,"If you leave the server while you are in jail you WILL be banned");
  4069. GivePlayerMoney(playerid,4000);
  4070. Jailed[giveplayerid] =1;
  4071. InAlcatraz[giveplayerid] =1;
  4072. StoleCopCarRecent[giveplayerid] =0;
  4073. triedtoescaperecent[giveplayerid] =1;
  4074. ResetPlayerWeapons(giveplayerid);
  4075. JailTime[giveplayerid] =520;
  4076. JailTimeServed[giveplayerid] =0;
  4077. SetPlayerWantedLevel(giveplayerid,0);
  4078. oscore = GetPlayerScore(playerid);
  4079. SetPlayerScore(playerid, oscore +2);
  4080. }
  4081. return 1;
  4082. }
  4083.  
  4084. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  4085. {
  4086. return 1;
  4087. }
  4088.  
  4089. public OnPlayerExitVehicle(playerid, vehicleid)
  4090. {
  4091. return 1;
  4092. }
  4093.  
  4094. public OnPlayerEnterCheckpoint(playerid)
  4095. {
  4096. return 1;
  4097. }
  4098.  
  4099. public OnPlayerLeaveCheckpoint(playerid)
  4100. {
  4101. return 1;
  4102. }
  4103.  
  4104. public OnPlayerEnterRaceCheckpoint(playerid)
  4105. {
  4106. return 1;
  4107. }
  4108.  
  4109. public OnPlayerLeaveRaceCheckpoint(playerid)
  4110. {
  4111. return 1;
  4112. }
  4113.  
  4114. public OnRconCommand(cmd[])
  4115. {
  4116. return 1;
  4117. }
  4118.  
  4119. public OnObjectMoved(objectid)
  4120. {
  4121. return 1;
  4122. }
  4123.  
  4124. public OnPlayerObjectMoved(playerid, objectid)
  4125. {
  4126. return 1;
  4127. }
  4128.  
  4129. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  4130. {
  4131. if(dialogid == CIVILIAN_DIALOG && response == 1)
  4132. {
  4133. TogglePlayerControllable(playerid, 1);
  4134. if(listitem == 0)
  4135. {
  4136. SendClientMessage(playerid,0x1E90FFAA, "RAPIST: You can rape other players and infect them with STDs that could kill them");
  4137.  
  4138. GivePlayerWeapon(playerid,5,1);
  4139. GivePlayerWeapon(playerid,22,100);
  4140. GivePlayerWeapon(playerid,14,1);
  4141. gTeam[playerid] = TEAM_RAPIST;
  4142. CanChooseSkill[playerid] =0;
  4143. }
  4144. if(listitem == 1)
  4145. {
  4146. SendClientMessage(playerid,0x00FFFFAA, "GUN DEALER: If anyone needs weapons then you sell them some lead. Your prices are set by the game");
  4147. SendClientMessage(playerid,0x00FFFFAA, "You can also deliver guns to ammunations, just get in the PATRIOT car at ammunation stores in LV");
  4148. GivePlayerWeapon(playerid,29,500);
  4149. GivePlayerWeapon(playerid,30,50);
  4150. gTeam[playerid] = TEAM_GUNDEALER;
  4151. CanChooseSkill[playerid] =0;
  4152. }
  4153. if(listitem == 2)
  4154. {
  4155. SendClientMessage(playerid,0x00FFFFAA, "DRUG DEALER: You will supply people with drugs for a price. Dont let people rip you off..");
  4156. SendClientMessage(playerid,0x00FFFFAA, "Keep a watch on the chat for players wanting drugs. Visit the drug house to replenish your stock");
  4157. GivePlayerWeapon(playerid,25,50);
  4158. GivePlayerWeapon(playerid,28,100);
  4159. GivePlayerWeapon(playerid,5,1);
  4160. gTeam[playerid] = TEAM_DRUGDEALER;
  4161. CanChooseSkill[playerid] =0;
  4162. }
  4163. if(listitem == 3)
  4164. {
  4165. SendClientMessage(playerid,0x00FFFFAA, "HITMAN: If anyone needs another player dead then they will contact you. Make sure you agree a price and get paid");
  4166. SendClientMessage(playerid,0x00FFFFAA, "Type /hits to see if there are any hit contracts available");
  4167. GivePlayerWeapon(playerid,27,250);
  4168. GivePlayerWeapon(playerid,23,100);
  4169. GivePlayerWeapon(playerid,31,250);
  4170. gTeam[playerid] = TEAM_HITMAN;
  4171. CanChooseSkill[playerid] =0;
  4172. }
  4173. if(listitem == 4)
  4174. {
  4175. SendClientMessage(playerid,0x00FFFFAA, "PRIVATE MEDIC: If anyone needs medical attention for cuts and bruses or STDs then you can cure then and heal them");
  4176. SendClientMessage(playerid,0x00FFFFAA, "You can also infect them with STDs that could kill them DO NOT HIT/INFECT THEM JUST TO HEAL/CURE THEM");
  4177. GivePlayerWeapon(playerid,22,250);
  4178. gTeam[playerid] = TEAM_PVTMED;
  4179. CanChooseSkill[playerid] =0;
  4180. }
  4181. if(listitem == 5)
  4182. {
  4183. SendClientMessage(playerid,0x00FFFFAA, "BOUNTY HUNTER: You have to help the cops take Escaped prisoners back into custody");
  4184. SendClientMessage(playerid,0x00FFFFAA, "Simply target RED players and type /ar (id) next to them to see if you have found an escaped convict");
  4185. SendClientMessage(playerid,0x00FFFFAA, "Type /bounty for details of Escaped Prisoners");
  4186. GivePlayerWeapon(playerid,27,250);
  4187. GivePlayerWeapon(playerid,23,100);
  4188. GivePlayerWeapon(playerid,31,250);
  4189. gTeam[playerid] = TEAM_BOUNTYHUNTER;
  4190. CanChooseSkill[playerid] =0;
  4191. }
  4192. if(listitem == 6)
  4193. {
  4194. // Nothing more to copy-paste.
  4195. }
  4196. if(listitem == 7)
  4197. {
  4198. // Nothing more to copy-paste.
  4199. }
  4200. if(listitem == 8)
  4201. {
  4202. // Nothing more to copy-paste.
  4203. }
  4204. if(listitem == 9)
  4205. {
  4206. // Nothing more to copy-paste.
  4207. }
  4208. if(listitem == 10)
  4209. {
  4210. // Nothing more to copy-paste.
  4211. }
  4212. if(listitem == 11)
  4213. {
  4214. // Nothing more to copy-paste.
  4215. }
  4216.  
  4217. }
  4218. return 1;
  4219. }
  4220.  
  4221. public OnPlayerPickUpPickup(playerid, pickupid)
  4222. {
  4223. return 1;
  4224. }
  4225.  
  4226. public OnPlayerSelectedMenuRow(playerid, row)
  4227. {
  4228. return 1;
  4229. }
  4230.  
  4231. public OnPlayerExitedMenu(playerid)
  4232. {
  4233. return 1;
  4234. }
  4235.  
  4236. strtok(const string[], &index)
  4237. {
  4238. new length = strlen(string);
  4239. while ((index < length) && (string[index] <= ' '))
  4240. {
  4241. index++;
  4242. }
  4243.  
  4244. new offset = index;
  4245. new result[20];
  4246. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  4247. {
  4248. result[index - offset] = string[index];
  4249. index++;
  4250. }
  4251. result[index - offset] = EOS;
  4252. return result;
  4253. }
  4254.  
  4255. public Taze(playerid)
  4256. {
  4257. if(!IsPlayerConnected(playerid)) return false;
  4258. if(PlayerTazed[playerid])
  4259. {
  4260. TogglePlayerControllable(playerid,1);
  4261. PlayerTazed[playerid] = false;
  4262. }
  4263. return true;
  4264. }
  4265. public countdown()
  4266. {
  4267. if(cd_sec == 0)
  4268. {
  4269. KillTimer(cd_timer);
  4270. SendClientMessage(id,COLOR_WHITE,"You are now free!");
  4271. SetPlayerPos(id,2234.1221,2454.1604,10.8051);
  4272. SetPlayerInterior(id,0);
  4273. }
  4274. else
  4275. {
  4276. format(szstring,sizeof(szstring),"~g~%d",cd_sec);
  4277. GameTextForAll(szstring,9000,3);
  4278. }
  4279. cd_sec = cd_sec-1;
  4280. return 1;
  4281. }
  4282.  
  4283. public ProxDetector(Float:radi, playerid, str[],col1,col2,col3,col4,col5)
  4284. {
  4285. if(IsPlayerConnected(playerid))
  4286. {
  4287. new Float:posx, Float:posy, Float:posz;
  4288. new Float:oldposx, Float:oldposy, Float:oldposz;
  4289. new Float:tempposx, Float:tempposy, Float:tempposz;
  4290. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  4291. //radi = 2.0; //Trigger Radius
  4292. for(new i = 0; i < MAX_PLAYERS; i++)
  4293. {
  4294. if(IsPlayerConnected(i))
  4295. {
  4296.  
  4297. GetPlayerPos(i, posx, posy, posz);
  4298. tempposx = (oldposx -posx);
  4299. tempposy = (oldposy -posy);
  4300. tempposz = (oldposz -posz);
  4301. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  4302. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  4303. {
  4304. SendClientMessage(i, col1, str);
  4305. }
  4306. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  4307. {
  4308. SendClientMessage(i, col2, str);
  4309. }
  4310. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  4311. {
  4312. SendClientMessage(i, col3, str);
  4313. }
  4314. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  4315. {
  4316. SendClientMessage(i, col4, str);
  4317. }
  4318. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  4319. {
  4320. SendClientMessage(i, col5, str);
  4321. }
  4322. }
  4323. }
  4324. }//not connected
  4325. return 1;
  4326. }
  4327. //------------------------------TOWTRUCK TOWING THING (THING THAT ALLOWS TOW TRUCKS TO BE TOWED)-------------------
  4328. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  4329. {
  4330. if ((newkeys==KEY_ACTION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
  4331. {
  4332. if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
  4333. {
  4334. new Float:pX,Float:pY,Float:pZ;
  4335. GetPlayerPos(playerid,pX,pY,pZ);
  4336. new Float:vX,Float:vY,Float:vZ;
  4337. new Found=0;
  4338. new vid=0;
  4339. while((vid<MAX_VEHICLES)&&(!Found))
  4340. {
  4341. vid++;
  4342. GetVehiclePos(vid,vX,vY,vZ);
  4343. if ((floatabs(pX-vX)<5.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
  4344. {
  4345. Found=1;
  4346. if (IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
  4347. {
  4348. DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
  4349. }
  4350. AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
  4351. SendClientMessage(playerid,0xFFFF00AA,"Car towed!");
  4352. }
  4353. }
  4354. }
  4355. }
  4356. }
  4357.  
  4358. //---------------------------------------------------------------------------------------------------------------------------------
  4359. public IsStr( cmd[], str[] )
  4360. {
  4361. if( strcmp( cmd, str ) == 0 )return 1;
  4362. return 0;
  4363. }
  4364. //-------------------------------------------------------------------
  4365. //------------------------------------------------------------------
  4366. stock GetPlayerCaption( playerid )
  4367. {
  4368. new szName[ 256 ];
  4369. GetPlayerName( playerid, szName, sizeof( szName ) );
  4370. return szName;
  4371. }
  4372. //------------------------------------------------------------------
  4373. stock PlayerInRange(playerid, otherid, distance)
  4374. {
  4375. new Float:x,Float:y,Float:z;
  4376. new Float:x2,Float:y2,Float:z2;
  4377. new Float:cx, Float:cy, Float:cz;
  4378.  
  4379. GetPlayerPos(playerid, x,y,z);
  4380.  
  4381.  
  4382. if(IsPlayerConnected(otherid) == 1 && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(otherid))
  4383. {
  4384. GetPlayerPos(otherid,x2, y2, z2);
  4385. cx = x - x2;
  4386. cy = y - y2;
  4387. cz = z - z2;
  4388.  
  4389. if( (cx < distance) && (cx > -distance) && (cy < distance) && (cy > -distance) && (cz < distance) && (cz > -distance) )
  4390. {
  4391. return 1;
  4392. }
  4393. }
  4394.  
  4395. return 0;
  4396. }
  4397. //------------------------------------------------------------------
  4398. public ReqMechRecentTime()
  4399. {
  4400. for (new i = 0; i < MAX_PLAYERS; i++)
  4401. {
  4402. if (RecentAskedMechanic[i] ==1)
  4403. {
  4404. RecentAskedMechanic[i] =0;
  4405. }
  4406. }
  4407. }
  4408.  
  4409. stock GetPlayersInTeam(TEAM)
  4410. {
  4411. new players;
  4412. for (new i; i < MAX_PLAYERS; i++)
  4413. {
  4414. if (IsPlayerConnected(i))
  4415. {
  4416. if (gTeam[i] == TEAM) players++;
  4417. }
  4418. }
  4419. return players;
  4420. }
  4421. //------------------------------------------------------------------
  4422. public CopBackUpColour()
  4423. {
  4424. for(new i = 0; i < MAX_PLAYERS; i++)
  4425. {
  4426. if(GetPlayerColor(i) == COLOR_PURPLE && ReqBk[i] == 1)
  4427. {
  4428. ReqBk[i] =0;
  4429.  
  4430. }
  4431. }
  4432. }
  4433. //------------------------------------------------------------------
  4434. public ReqBkRecentTime()
  4435. {
  4436. for(new i = 0; i < MAX_PLAYERS; i++)
  4437. {
  4438. if(ReqBkRecent[i] == 1 && IsPlayerConnected(i))
  4439. {
  4440. ReqBkRecent[i] =0;
  4441. }
  4442. }
  4443. }
  4444.  
  4445. stock IsPlayerDriverInVehicle(playerid, vehicleid, modelid)
  4446. {
  4447. if (IsPlayerInVehicle(playerid, vehicleid) && GetPlayerState(playerid) == 2
  4448. && GetVehicleModel(GetPlayerVehicleID(playerid)) == modelid)
  4449. return 1;
  4450. return 0;
  4451. }
  4452. //----------------------TAXI STUFF--------------------------------------------
  4453. public TaxiDriverOffDutyCriminal()
  4454. {
  4455. for(new i=0; i < MAX_PLAYERS; i++)
  4456. {
  4457. if(IsPlayerConnected(i))
  4458. {
  4459. if(gTeam[i] == TEAM_DRIVER && Driveronduty[i] == 1 && GetPlayerWantedLevel(i) >=1)
  4460. {
  4461. new drivername[30];
  4462. GetPlayerName(i,drivername,30);
  4463. format(szstring, sizeof(szstring), "Driver %s(%d) is off duty",drivername,i);
  4464. SendClientMessageToAll(COLOR_FORESTGREEN,szstring);
  4465. SendClientMessage(i,COLOR_RED,"The police are looking for you. You are now off duty");
  4466. Driveronduty[i] =0;
  4467. }
  4468.  
  4469. }
  4470.  
  4471. }
  4472.  
  4473. }
  4474.  
  4475. public TaxiDriverTimer()
  4476. {
  4477. for(new i = 0; i < MAX_PLAYERS; i++)
  4478. {
  4479. if(gTeam[i] == TEAM_DRIVER && Driveronduty[i] == 1)
  4480. {
  4481. new taxicab = GetPlayerVehicleID(i);
  4482. for(new j = 0; j < MAX_PLAYERS; j++)
  4483. {
  4484. if(IsPlayerConnected(j))
  4485. {
  4486. if(IsPlayerInVehicle(j,taxicab) && GetPlayerState(j) == PLAYER_STATE_PASSENGER && Taxipass[j] == 1)
  4487. {
  4488. GivePlayerMoney(i,1);
  4489. }
  4490. }
  4491. }
  4492. }
  4493. }
  4494. }
  4495.  
  4496. public TaxiPassengerTimer()
  4497. {
  4498. for(new i = 0; i < MAX_PLAYERS; i++)
  4499. {
  4500. if(Taxipass[i] == 1 && GetPlayerMoney(i) >=5)
  4501. {
  4502. GivePlayerMoney(i,-1);
  4503.  
  4504. }
  4505. else
  4506. if(Taxipass[i] == 1 && GetPlayerMoney(i) <=4)
  4507. {
  4508. SendClientMessage(i,COLOR_ERROR, "You cannot afford to pay the driver the minimum hire fee ($5)");
  4509. RemovePlayerFromVehicle(i);
  4510. Taxipass[i] =0;
  4511. }
  4512. }
  4513. }
  4514. //------------------------------------------------------------------------------------------------------------------
  4515. public OnPlayerStateChange(playerid, newstate, oldstate)
  4516. {
  4517. if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && gTeam[playerid] == TEAM_DRIVER) {
  4518. new vehicleidd = GetPlayerVehicleID(playerid);
  4519. if(GetVehicleModel(vehicleidd) == 420 || GetVehicleModel(vehicleidd) == 487 || GetVehicleModel(vehicleidd) == 431 || GetVehicleModel(vehicleidd) == 409) {
  4520. SendClientMessage(playerid,0x00C7FFAA,"You have entered a drivers vehicle. Type /onduty to go on duty as a taxi driver");
  4521. SendClientMessage(playerid,0x00C7FFAA,"All taxi drivers have a fixed rate of $1 / Minute. You get a bonus for picking passengers up");
  4522. }
  4523. }
  4524. if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER)
  4525. {
  4526. new vehicleid = GetPlayerVehicleID(playerid);
  4527. if(gTeam[playerid] != TEAM_DRIVER && GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 487 || GetVehicleModel(vehicleid) == 431 || GetVehicleModel(vehicleid) == 409)
  4528. {
  4529. for(new i=0;i<MAX_PLAYERS;i++)
  4530. {
  4531. if(IsPlayerInVehicle(i,vehicleid))
  4532. {
  4533. if(gTeam[i] == TEAM_DRIVER && GetPlayerState(i) == PLAYER_STATE_DRIVER && Driveronduty[i] == 1)
  4534. {
  4535. SendClientMessage(playerid, 0xA9A9A9AA, "|_Driver On Duty_|");
  4536. SendClientMessage(playerid,COLOR_DARKOLIVEGREEN,"This driver is on duty. You will be charged $1 / 1 game minute");
  4537. SendClientMessage(i, 0xA9A9A9AA, "|_Passenger Pick Up_|");
  4538. SendClientMessage(i,COLOR_DARKOLIVEGREEN,"You have picked up a paying passenger. You receive a �2500 bonus");
  4539. oscore = GetPlayerScore(playerid);
  4540. SetPlayerScore(playerid, oscore +1);
  4541. GivePlayerMoney(i,2500);
  4542. Taxipass[playerid] =1;
  4543. }
  4544. }
  4545. }
  4546. }
  4547. }
  4548. return 1;
  4549. }
  4550.  
  4551. SetPlayerToTeamColour(playerid) {
  4552.  
  4553. if(gTeam[playerid] == TEAM_COP) {
  4554.  
  4555. SetPlayerColor(playerid,COLOR_BLUE); // Blue
  4556. } else if(gTeam[playerid] == TEAM_MECHANIC) {
  4557.  
  4558. SetPlayerColor(playerid,COLOR_WHITE); // White
  4559. } else if(gTeam[playerid] == TEAM_DRIVER) {
  4560.  
  4561. SetPlayerColor(playerid,COLOR_DARKOLIVEGREEN); // Dark Olive Green
  4562. } else if(gTeam[playerid] == TEAM_MEDIC) {
  4563.  
  4564. SetPlayerColor(playerid,COLOR_FORESTGREEN); // Forrest Green
  4565.  
  4566. }
  4567. AntiDeAMX();
  4568.  
  4569. }
  4570.  
  4571. AntiDeAMX()
  4572. {
  4573. new a[][] =
  4574. {
  4575. "Unarmed (Fist)",
  4576. "Brass K"
  4577. };
  4578. #pragma unused a
  4579. }
Advertisement
Add Comment
Please, Sign In to add comment