Advertisement
Guest User

JaYmE

a guest
Mar 2nd, 2009
651
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.92 KB | None | 0 0
  1. #include <a_samp>
  2. #include <core>
  3. #include <float>
  4.  
  5. #define COLOR_GREY 0xAFAFAFAA
  6. #define COLOR_GREEN 0x33AA33AA
  7. #define COLOR_RED 0xAA3333AA
  8. #define COLOR_YELLOW 0xFFFF00AA
  9. #define COLOR_WHITE 0xFFFFFFFF
  10. #define ADMIN_SPEC_TYPE_NONE 0
  11. #define ADMIN_SPEC_TYPE_PLAYER 1
  12. #define ADMIN_SPEC_TYPE_VEHICLE 2
  13. #define PocketMoney 50000
  14. #define INACTIVE_PLAYER_ID 255
  15. #define GIVECASH_DELAY 5000
  16. #define NUMVALUES 4
  17.  
  18. enum aAcc {
  19. aPassword[128],
  20. aScore,
  21. aCash,
  22. Float:aX,
  23. Float:aY,
  24. Float:aZ,
  25. Float:aA,
  26. aLogged,
  27. }
  28.  
  29. new AccountInfo[MAX_PLAYERS][aAcc];
  30.  
  31. enum PI {
  32. Object1[25],
  33. Object2[25],
  34. Object3[25],
  35. Object4[25],
  36. Object5[25],
  37. ObjectsLeft,
  38. DroppedItem,
  39. }
  40.  
  41. new PlayerInv[MAX_PLAYERS][PI];
  42.  
  43. enum Items {
  44. Name,
  45. PickupID,
  46. PickupType,
  47. Float:X,
  48. Float:Y,
  49. Float:Z,
  50. }
  51.  
  52. new PlayerItems[][Items] = {
  53. { 0, 1271, 2, 1505.3375, 1435.3600, 10.1199},
  54. { 1, 1264, 2, 1510.3375, 1435.3600, 10.1199},
  55. { 2, 1265, 2, 1515.3375, 1435.3600, 10.1199},
  56. { 3, 1271, 2, 1520.3375, 1435.3600, 10.1199},
  57. { 4, 1264, 2, 1525.3375, 1435.3600, 10.1199},
  58. { 5, 1265, 2, 1530.3375, 1435.3600, 10.1199},
  59. { 6, 1271, 15, 1710.3359, 1614.3585, 10.1191},
  60. { 7, 1264, 15, 1964.4523, 1917.0341, 130.9375},
  61. { 8, 1265, 15, 2055.7258, 2395.8589, 150.4766},
  62. { 9, 1271, 15, 2265.0120, 1672.3837, 94.9219},
  63. { 10, 1271, 15, 2265.9739, 1623.4060, 94.9219}
  64. };
  65.  
  66. new AvailableItems[][] = {
  67. {"Pineapple"},
  68. {"Mushroom"},
  69. {"Apple"},
  70. {"Chips"},
  71. {"Gravy"},
  72. {"Choclate"}
  73. };
  74.  
  75. new Float:RandomPlayerSpawns[28][3] = {
  76. {1958.3783,1343.1572,15.3746},
  77. {2199.6531,1393.3678,10.8203},
  78. {2483.5977,1222.0825,10.8203},
  79. {2637.2712,1129.2743,11.1797},
  80. {2000.0106,1521.1111,17.0625},
  81. {2024.8190,1917.9425,12.3386},
  82. {2261.9048,2035.9547,10.8203},
  83. {2262.0986,2398.6572,10.8203},
  84. {2244.2566,2523.7280,10.8203},
  85. {2335.3228,2786.4478,10.8203},
  86. {2150.0186,2734.2297,11.1763},
  87. {2158.0811,2797.5488,10.8203},
  88. {1969.8301,2722.8564,10.8203},
  89. {1652.0555,2709.4072,10.8265},
  90. {1564.0052,2756.9463,10.8203},
  91. {1271.5452,2554.0227,10.8203},
  92. {1441.5894,2567.9099,10.8203},
  93. {1480.6473,2213.5718,11.0234},
  94. {1400.5906,2225.6960,11.0234},
  95. {1598.8419,2221.5676,11.0625},
  96. {1318.7759,1251.3580,10.8203},
  97. {1558.0731,1007.8292,10.8125},
  98. {-857.0551,1536.6832,22.5870},
  99. {817.3494,856.5039,12.7891},
  100. {116.9315,1110.1823,13.6094},
  101. {-18.8529,1176.0159,19.5634},
  102. {-315.0575,1774.0636,43.6406},
  103. {1705.2347,1025.6808,10.8203}
  104. };
  105.  
  106. new Float:CopPlayerSpawns[2][3] = {
  107. {2297.1064,2452.0115,10.8203},
  108. {2297.0452,2468.6743,10.8203}
  109. };
  110.  
  111. new MyCopCheckPoint[MAX_PLAYERS];
  112. new Faction[MAX_PLAYERS];
  113. new Admin[MAX_PLAYERS];
  114. new SpectateID[MAX_PLAYERS];
  115. new SpectateType[MAX_PLAYERS];
  116. new PlayerUsingLoopingAnim[MAX_PLAYERS];
  117. new PlayerAnimLibsPreloaded[MAX_PLAYERS];
  118. new Text:TxtAnimHelper;
  119. new IsDancing[MAX_PLAYERS];
  120. new CurrentDanceMove[MAX_PLAYERS];
  121. new Text:TxtDanceHelper;
  122. new CashScoreOld;
  123. new SpawnSet[MAX_PLAYERS];
  124. new ActivePlayers[MAX_PLAYERS];
  125. new LastGaveCash[MAX_PLAYERS];
  126. new Menu:TeleportMenu;
  127.  
  128. forward ApplyDanceMove(playerid, DanceMove);
  129. forward ChangeToNextDanceMove(playerid);
  130. forward ChangeToPreviousDanceMove(playerid);
  131. forward MoneyGrubScoreUpdate();
  132. forward Givecashdelaytimer(playerid);
  133. forward SetPlayerRandomSpawn(playerid);
  134. forward SetupPlayerForClassSelection(playerid);
  135. forward GameModeExitFunc();
  136. forward SendPlayerFormattedText(playerid, const str[], define);
  137. forward public SendAllFormattedText(playerid, const str[], define);
  138. forward SendMSG();
  139. forward RegisterPlayer(playerid, password[]);
  140. forward LoginPlayer(playerid, password[]);
  141. forward SavePlayer(playerid);
  142.  
  143. stock SendMessageToAdmins(String[]) {
  144. for ( new i = 0; i < MAX_PLAYERS; i++ ) {
  145. if ( Admin[i] > 0 ) {
  146. SendClientMessage(i, 0x0000ffff, String);
  147. }
  148. }
  149. return 1;
  150. }
  151.  
  152. stock GetPlayerFactionIDByName(playerid, FName[]) {
  153. if ( strcmp(FName, "LVMPD", false) == 0 ) {
  154. if ( Faction[playerid] == 5 ) {
  155. return Faction[playerid];
  156. }
  157. }
  158. return 0;
  159. }
  160.  
  161. stock SetPlayerFactionIDByName(playerid, FName[]) {
  162. if ( strcmp(FName, "LVMPD", false) == 0 ) {
  163. Faction[playerid] = 5;
  164. return 1;
  165. }
  166. return 0;
  167. }
  168.  
  169.  
  170. IsKeyJustDown(key, newkeys, oldkeys) {
  171. if ( (newkeys & key) && !(oldkeys & key) ) return 1;
  172. return 0;
  173. }
  174.  
  175. OnePlayAnim(playerid, animlib[], animname[], Float:Speed, looping, lockx, locky, lockz, lp) {
  176. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  177. }
  178.  
  179. LoopingAnim(playerid, animlib[], animname[], Float:Speed, looping, lockx, locky, lockz, lp) {
  180. PlayerUsingLoopingAnim[playerid] = 1;
  181. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  182. TextDrawShowForPlayer(playerid, TxtAnimHelper);
  183. }
  184.  
  185. StopLoopingAnim(playerid) {
  186. PlayerUsingLoopingAnim[playerid] = 0;
  187. ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
  188. }
  189.  
  190. PreloadAnimLib(playerid, animlib[]) {
  191. ApplyAnimation(playerid, animlib, "null", 0.0, 0, 0, 0, 0, 0);
  192. }
  193.  
  194. ApplyDanceMove(playerid, DanceMove) {
  195. switch ( DanceMove ) {
  196. case 0:
  197. ApplyAnimation(playerid, "DANCING", "DAN_LOOP_A", 4.0, 1, 0, 0, 0, -1);
  198. case 1:
  199. ApplyAnimation(playerid, "DANCING", "DNCE_M_A", 4.0, 1, 0, 0, 0, -1);
  200. case 2:
  201. ApplyAnimation(playerid, "DANCING", "DNCE_M_B", 4.0, 1, 0, 0, 0, -1);
  202. case 3:
  203. ApplyAnimation(playerid, "DANCING", "DNCE_M_C", 4.0, 1, 0, 0, 0, -1);
  204. case 4:
  205. ApplyAnimation(playerid, "DANCING", "DNCE_M_D", 4.0, 1, 0, 0, 0, -1);
  206. case 5:
  207. ApplyAnimation(playerid, "DANCING", "DNCE_M_E", 4.0, 1, 0, 0, 0, -1);
  208. }
  209. }
  210.  
  211. ChangeToNextDanceMove(playerid) {
  212. CurrentDanceMove[playerid]++;
  213. if ( CurrentDanceMove[playerid] == 6 ) CurrentDanceMove[playerid] = 0;
  214. ApplyDanceMove(playerid, CurrentDanceMove[playerid]);
  215. }
  216.  
  217. ChangeToPreviousDanceMove(playerid) {
  218. CurrentDanceMove[playerid]--;
  219. if ( CurrentDanceMove[playerid] < 0 ) CurrentDanceMove[playerid] = 5;
  220. ApplyDanceMove(playerid, CurrentDanceMove[playerid]);
  221. }
  222.  
  223. main() {
  224. print(" - - - - - - - - - - - - - - - ");
  225. print(" - - ");
  226. print(" - Game Modes By JaYmE - ");
  227. print(" - - ");
  228. print(" - - - - - - - - - - - - - - - ");
  229. }
  230.  
  231. public MoneyGrubScoreUpdate() {
  232. new CashScore;
  233. new PName[MAX_PLAYER_NAME];
  234. new String[256];
  235. for ( new i = 0; i < MAX_PLAYERS; i++ ) {
  236. if ( IsPlayerConnected(i) ) {
  237. GetPlayerName(i, PName, sizeof PName);
  238. CashScore = GetPlayerMoney(i);
  239. SetPlayerScore(i, CashScore);
  240. if ( CashScore > CashScoreOld ) {
  241. CashScoreOld = CashScore;
  242. format(String, sizeof String, "$$$ %s Is Now In The Lead $$$", PName);
  243. SendClientMessageToAll(COLOR_YELLOW, String);
  244. }
  245. }
  246. }
  247. }
  248.  
  249. public OnGameModeInit() {
  250. SetGameModeText("JaYmE's Game Modes");
  251.  
  252. ShowPlayerMarkers(1);
  253. ShowNameTags(1);
  254.  
  255. for ( new i = 0; i < 299; i++ ) {
  256. if ( IsValidSkin(i) ) {
  257. AddPlayerClass(i, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, -1, -1, -1);
  258. }
  259. }
  260.  
  261. for ( new i = 0; i < sizeof PlayerItems; i++ ) {
  262. PlayerItems[i][Name] = CreatePickup(PlayerItems[i][PickupID],
  263. PlayerItems[i][PickupType],
  264. PlayerItems[i][X],
  265. PlayerItems[i][Y],
  266. PlayerItems[i][Z]);
  267. }
  268.  
  269. AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);
  270. AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);
  271. AddStaticVehicle(421,2110.4102,1398.3672,10.7552,359.5964,13,13);
  272. AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);
  273. AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);
  274. AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);
  275. AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);
  276. AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);
  277. AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);
  278. AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);
  279. AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);
  280. AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);
  281. AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);
  282. AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);
  283. AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);
  284. AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);
  285. AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);
  286. AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);
  287. AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,69,1);
  288. AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,53,1);
  289. AddStaticVehicle(437,2577.2354,1038.8063,10.4777,181.7069,35,1);
  290. AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,123,1);
  291. AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,66,1);
  292. AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,1,2);
  293. AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);
  294. AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);
  295. AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);
  296. AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);
  297. AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);
  298. AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);
  299. AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);
  300. AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);
  301. AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);
  302. AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);
  303. AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);
  304. AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);
  305. AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);
  306. AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);
  307. AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);
  308. AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);
  309. AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);
  310. AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);
  311. AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);
  312. AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);
  313. AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);
  314. AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);
  315. AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);
  316. AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);
  317. AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);
  318. AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);
  319. AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);
  320. AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);
  321. AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);
  322. AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);
  323. AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);
  324. AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);
  325. AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);
  326. AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);
  327. AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);
  328. AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);
  329. AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,0,1);
  330. AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,0,1);
  331. AddStaticVehicle(523,2294.7305,2441.2651,10.3860,9.3764,0,0);
  332. AddStaticVehicle(523,2290.7268,2441.3323,10.3944,16.4594,0,0);
  333. AddStaticVehicle(523,2295.5503,2455.9656,2.8444,272.6913,0,0);
  334. AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,8,82);
  335. AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);
  336. AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);
  337. AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);
  338. AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);
  339. AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);
  340. AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);
  341. AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);
  342. AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,7,6);
  343. AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,1,6);
  344. AddStaticVehicle(476,1283.6847,1386.5137,11.5300,272.1003,89,91);
  345. AddStaticVehicle(476,1288.0499,1403.6605,11.5295,243.5028,119,117);
  346. AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);
  347. AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);
  348. AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);
  349. AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);
  350. AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);
  351. AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);
  352. AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);
  353. AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);
  354. AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);
  355. AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);
  356. AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);
  357. AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);
  358. AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);
  359. AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);
  360. AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);
  361. AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);
  362. AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);
  363. AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);
  364. AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);
  365. AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);
  366. AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);
  367. AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);
  368. AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);
  369. AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);
  370. AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);
  371. AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1);
  372. AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1);
  373. AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3);
  374. AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39);
  375. AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1);
  376. AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1);
  377. AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1);
  378. AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1);
  379. AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1);
  380. AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25);
  381. AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11);
  382. AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22);
  383. AddStaticVehicle(434,-110.8473,1133.7113,19.7091,359.7000,2,2);
  384. AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1);
  385. AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1);
  386. AddStaticVehicle(605,-340.2598,1177.4846,19.5565,182.6176,43,8);
  387. AddStaticVehicle(476,325.4121,2538.5999,17.5184,181.2964,71,77);
  388. AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,7,6);
  389. AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1);
  390. AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1);
  391. AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1);
  392. AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1);
  393. AddStaticVehicle(406,547.4633,843.0204,-39.8406,285.2948,1,1);
  394. AddStaticVehicle(406,625.1979,828.9873,-41.4497,71.3360,1,1);
  395. AddStaticVehicle(486,680.7997,919.0510,-40.4735,105.9145,1,1);
  396. AddStaticVehicle(486,674.3994,927.7518,-40.6087,128.6116,1,1);
  397. AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8);
  398. AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90);
  399. AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39);
  400. AddStaticVehicle(605,319.3803,740.2404,6.7814,271.2593,8,90);
  401. AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1);
  402. AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1);
  403. AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25);
  404. AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1);
  405. AddStaticVehicle(424,-330.2399,1514.3022,75.1388,179.1514,2,2);
  406. AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61);
  407. AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0);
  408. AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0);
  409. AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0);
  410. AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,43,0);
  411. AddStaticVehicle(548,292.2317,1923.6440,19.2898,235.3379,1,1);
  412. AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,43,0);
  413. AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,43,0);
  414. AddStaticVehicle(432,275.9634,2024.3629,17.6516,270.6823,43,0);
  415. AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,41,29);
  416. AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,41,29);
  417. AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29);
  418. AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29);
  419. AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6);
  420. AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3);
  421. AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76);
  422. AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2);
  423. AddStaticVehicle(466,124.2480,1075.1835,13.3512,174.5334,78,76);
  424. AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1);
  425. AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25);
  426. AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82);
  427. AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1);
  428. AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1);
  429. AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53);
  430. AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3);
  431. AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3);
  432. AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30);
  433. AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3);
  434. AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2);
  435. AddStaticVehicle(431,-160.5815,2693.7185,62.2031,89.4133,47,74);
  436. AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22);
  437. AddStaticVehicle(483,-204.1827,2608.7368,62.6956,179.9914,1,5);
  438. AddStaticVehicle(490,-295.4756,2674.9141,62.7434,359.3378,0,0);
  439. AddStaticVehicle(500,-301.5293,2687.6013,62.7723,87.9509,28,119);
  440. AddStaticVehicle(500,-301.6699,2680.3293,62.7393,89.7925,13,119);
  441. AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1);
  442. AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1);
  443. AddStaticVehicle(552,-1396.2028,-196.8298,13.8434,286.2720,56,56);
  444. AddStaticVehicle(552,-1312.4509,-284.4692,13.8417,354.3546,56,56);
  445. AddStaticVehicle(552,-1393.5995,-521.0770,13.8441,187.1324,56,56);
  446. AddStaticVehicle(513,-1355.6632,-488.9562,14.7157,191.2547,48,18);
  447. AddStaticVehicle(513,-1374.4580,-499.1462,14.7482,220.4057,54,34);
  448. AddStaticVehicle(553,-1197.8773,-489.6715,15.4841,0.4029,91,87);
  449. AddStaticVehicle(553,1852.9989,-2385.4009,14.8827,200.0707,102,119);
  450. AddStaticVehicle(583,1879.9594,-2349.1919,13.0875,11.0992,1,1);
  451. AddStaticVehicle(583,1620.9697,-2431.0752,13.0951,126.3341,1,1);
  452. AddStaticVehicle(583,1545.1564,-2409.2114,13.0953,23.5581,1,1);
  453. AddStaticVehicle(583,1656.3702,-2651.7913,13.0874,352.7619,1,1);
  454. AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1);
  455. AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1);
  456. AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1);
  457. AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3);
  458. AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3);
  459. AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3);
  460. AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3);
  461. AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3);
  462. AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3);
  463. AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3);
  464. AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39);
  465. AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1);
  466. AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1);
  467. AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0);
  468. AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0);
  469. AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29);
  470. AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8);
  471. AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1);
  472. AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1);
  473. AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1);
  474. AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1);
  475. AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1);
  476. AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8);
  477. AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39);
  478. AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1);
  479. AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7);
  480. AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32);
  481. AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1);
  482. AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2);
  483. AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1);
  484. AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25);
  485. AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82);
  486. AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96);
  487. AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96);
  488. AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114);
  489. AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96);
  490. AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96);
  491. AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81);
  492. AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1);
  493. AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64);
  494. AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1);
  495. AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7);
  496. AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64);
  497. AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64);
  498. AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64);
  499. AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81);
  500. AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1);
  501. AddStaticVehicle(420,1713.9319,1467.8354,10.5219,342.8006,6,1);
  502.  
  503. TxtAnimHelper = TextDrawCreate(610.0, 400.0,
  504. "~R~~K~~PED_SPRINT~ ~W~To Stop The Animation !"); {
  505. TextDrawUseBox(TxtAnimHelper, 0);
  506. TextDrawFont(TxtAnimHelper, 2);
  507. TextDrawSetShadow(TxtAnimHelper, 0);
  508. TextDrawSetOutline(TxtAnimHelper, 1);
  509. TextDrawBackgroundColor(TxtAnimHelper, 0x000000FF);
  510. TextDrawColor(TxtAnimHelper, 0xFFFFFFFF);
  511. TextDrawAlignment(TxtAnimHelper, 3);
  512. }
  513.  
  514. TxtDanceHelper = TextDrawCreate(610.0, 400.0,
  515. "~R~~K~~PED_FIREWEAPON~ ~W~Next~N~~R~~K~~PED_JUMPING~ ~W~previous~N~~R~~K~~PED_SPRINT~ ~W~Exit"); {
  516. TextDrawUseBox(TxtDanceHelper, 0);
  517. TextDrawFont(TxtDanceHelper, 2);
  518. TextDrawSetShadow(TxtDanceHelper, 0);
  519. TextDrawSetOutline(TxtDanceHelper, 1);
  520. TextDrawBackgroundColor(TxtDanceHelper, 0x000000FF);
  521. TextDrawColor(TxtDanceHelper, 0xFFFFFFFF);
  522. TextDrawAlignment(TxtDanceHelper, 3);
  523. }
  524.  
  525. TeleportMenu = CreateMenu("Teleport Menu", 2, 200.0, 100.0, 150.0, 150.0);
  526. AddMenuItem(TeleportMenu, 0, "LS");
  527. AddMenuItem(TeleportMenu, 0, "LS");
  528. AddMenuItem(TeleportMenu, 0, "SF");
  529. AddMenuItem(TeleportMenu, 0, "SF");
  530. AddMenuItem(TeleportMenu, 0, "LV");
  531. AddMenuItem(TeleportMenu, 0, "LV");
  532.  
  533. AddMenuItem(TeleportMenu, 1, "Grove Street");
  534. AddMenuItem(TeleportMenu, 1, "Starfish Tower");
  535. AddMenuItem(TeleportMenu, 1, "Wheel Arch Angels");
  536. AddMenuItem(TeleportMenu, 1, "Jizzys");
  537. AddMenuItem(TeleportMenu, 1, "4 Dragons");
  538. AddMenuItem(TeleportMenu, 1, "Come-a-Lot");
  539. return 1;
  540. }
  541.  
  542. IsValidSkin(skinid) {
  543. #define MAX_BAD_SKINS 22
  544. new badSkins[MAX_BAD_SKINS] =
  545. { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 268, 273, 289 };
  546. if ( skinid < 0 || skinid > 299 ) return false;
  547. for ( new i = 0; i < MAX_BAD_SKINS; i++) { if ( skinid == badSkins[i] ) return false; }
  548. #undef MAX_BAD_SKINS
  549. return 1;
  550. }
  551.  
  552. public GameModeExitFunc() {
  553. GameModeExit();
  554. }
  555.  
  556. public OnPlayerRequestClass(playerid, classid) {
  557. SpawnSet[playerid] = 0;
  558. SetupPlayerForClassSelection(playerid);
  559. return 1;
  560. }
  561.  
  562. public SetupPlayerForClassSelection(playerid) {
  563. SetPlayerInterior(playerid, 14);
  564. SetPlayerPos(playerid, 258.4893, -41.4008, 1002.0234);
  565. SetPlayerFacingAngle(playerid, 270.0);
  566. SetPlayerCameraPos(playerid, 256.0815, -43.0475, 1004.0234);
  567. SetPlayerCameraLookAt(playerid, 258.4893, -41.4008, 1002.0234);
  568. }
  569.  
  570. public OnPlayerSpawn(playerid) {
  571. GivePlayerMoney(playerid, PocketMoney);
  572. SetPlayerInterior(playerid, 0);
  573. SetPlayerRandomSpawn(playerid);
  574. TogglePlayerClock(playerid, 1);
  575.  
  576. if ( !PlayerAnimLibsPreloaded[playerid] ) {
  577. PreloadAnimLib(playerid, "BOMBER");
  578. PreloadAnimLib(playerid, "RAPPING");
  579. PreloadAnimLib(playerid, "SHOP");
  580. PreloadAnimLib(playerid, "BEACH");
  581. PreloadAnimLib(playerid, "SMOKING");
  582. PreloadAnimLib(playerid, "FOOD");
  583. PreloadAnimLib(playerid, "ON_LOOKERS");
  584. PreloadAnimLib(playerid, "DEALER");
  585. PreloadAnimLib(playerid, "CRACK");
  586. PreloadAnimLib(playerid, "CARRY");
  587. PreloadAnimLib(playerid, "COP_AMBIENT");
  588. PreloadAnimLib(playerid, "PARK");
  589. PreloadAnimLib(playerid, "INT_HOUSE");
  590. PreloadAnimLib(playerid, "FOOD");
  591. PlayerAnimLibsPreloaded[playerid] = 1;
  592. }
  593. return 1;
  594. }
  595.  
  596. public SetPlayerRandomSpawn(playerid) {
  597. if ( SpawnSet[playerid] == 1 ) {
  598. new Rand = random(sizeof CopPlayerSpawns);
  599. SetPlayerPos(playerid, CopPlayerSpawns[Rand][0],
  600. CopPlayerSpawns[Rand][1],
  601. CopPlayerSpawns[Rand][2]);
  602. SetPlayerFacingAngle(playerid, 270.0);
  603. } else if ( SpawnSet[playerid] == 0 ) {
  604. new Rand = random(sizeof RandomPlayerSpawns);
  605. SetPlayerPos(playerid, RandomPlayerSpawns[Rand][0],
  606. RandomPlayerSpawns[Rand][1],
  607. RandomPlayerSpawns[Rand][2]);
  608. }
  609. return 1;
  610. }
  611.  
  612. public OnPlayerConnect(playerid) {
  613. strcat(PlayerInv[playerid][Object1], "None", 25);
  614. strcat(PlayerInv[playerid][Object2], "None", 25);
  615. strcat(PlayerInv[playerid][Object3], "None", 25);
  616. strcat(PlayerInv[playerid][Object4], "None", 25);
  617. strcat(PlayerInv[playerid][Object5], "None", 25);
  618. PlayerInv[playerid][ObjectsLeft] = 5;
  619. PlayerInv[playerid][DroppedItem] = 0;
  620. PlayerUsingLoopingAnim[playerid] = 0;
  621. PlayerAnimLibsPreloaded[playerid] = 0;
  622. AccountInfo[playerid][aCash] = 0;
  623. AccountInfo[playerid][aScore] = 0;
  624. AccountInfo[playerid][aX] = 0;
  625. AccountInfo[playerid][aY] = 0;
  626. AccountInfo[playerid][aZ] = 0;
  627. AccountInfo[playerid][aA] = 0;
  628. strmid(AccountInfo[playerid][aPassword], "-", 0, 1, 1);
  629.  
  630. GameTextForPlayer(playerid,"~W~JaYmE's ~R~Game ~G~Modes", 5000, 5);
  631. SendPlayerFormattedText(playerid, "Welcome To JaYmE's Game Modes, Type /Help For Help.", 0);
  632. ActivePlayers[playerid]++;
  633. LastGaveCash[playerid] = GetTickCount();
  634.  
  635. new plrIP[16];
  636. GetPlayerIp(playerid, plrIP, sizeof(plrIP));
  637.  
  638. if (!strcmp(plrIP, "127.0.0.1")) {
  639. GameTextForPlayer(playerid, "~B~ - Welcome To Your Server Master - ", 5000, 3);
  640. }
  641.  
  642. new PName[MAX_PLAYER_NAME];
  643. new String[48];
  644. GetPlayerName(playerid, PName, sizeof PName);
  645. format(String, sizeof String, "%s Has Joined The Server.", PName);
  646. SendClientMessageToAll(0xAAAAAAAA, String);
  647. return 1;
  648. }
  649.  
  650. public OnPlayerDisconnect(playerid, reason) {
  651. SavePlayer(playerid);
  652. ActivePlayers[playerid]--;
  653.  
  654. new PName[MAX_PLAYER_NAME],
  655. String[56];
  656. GetPlayerName(playerid, PName, sizeof PName);
  657. switch ( reason ) {
  658. case 0: format(String, sizeof(String), "%s Has Left The Server. (Lost Connection)", PName);
  659. case 1: format(String, sizeof(String), "%s Has Left The Server. (Leaving)", PName);
  660. case 2: format(String, sizeof(String), "%s Has Left The Server. (Kicked)", PName);
  661. }
  662. SendClientMessageToAll(0xAAAAAAAA, String);
  663. return 1;
  664. }
  665.  
  666. public OnPlayerDeath(playerid, killerid, reason) {
  667. new PName[MAX_PLAYER_NAME];
  668. new String[256];
  669. new DeathReason[20];
  670. new PlayerCash;
  671.  
  672. GetPlayerName(playerid, PName, sizeof PName);
  673. GetWeaponName(reason, DeathReason, 20);
  674. if ( killerid == INVALID_PLAYER_ID ) {
  675. switch ( reason ) {
  676. case WEAPON_DROWN: {
  677. format(String, sizeof String, "%s Drowned.)", PName);
  678. }
  679. default: {
  680. if ( strlen(DeathReason) > 0 ) {
  681. format(String, sizeof String, "%s Died. (%s)", PName, DeathReason);
  682. } else {
  683. format(String, sizeof String, "%s Died.", PName);
  684. }
  685. }
  686. }
  687. } else {
  688. new Killer[MAX_PLAYER_NAME];
  689. GetPlayerName(killerid, Killer, sizeof Killer);
  690. if ( strlen(DeathReason) > 0 ) {
  691. format(String, sizeof String, "%s Killed %s. (%s)", Killer, PName, DeathReason);
  692. } else {
  693. format(String, sizeof String, "%s Killed %s.", Killer, PName);
  694. }
  695. }
  696. SendClientMessageToAll(COLOR_RED, String);
  697. {
  698. PlayerCash = GetPlayerMoney(playerid);
  699. if ( PlayerCash > 0 ) {
  700. GivePlayerMoney(killerid, PlayerCash);
  701. ResetPlayerMoney(playerid);
  702. }
  703. }
  704.  
  705. if ( IsDancing[playerid] ) {
  706. CurrentDanceMove[playerid] = 0;
  707. IsDancing[playerid] = 0;
  708. TextDrawHideForPlayer(playerid, TxtDanceHelper);
  709. }
  710.  
  711. if ( PlayerUsingLoopingAnim[playerid] ) {
  712. PlayerUsingLoopingAnim[playerid] = 0;
  713. TextDrawHideForPlayer(playerid, TxtAnimHelper);
  714. }
  715. return 1;
  716. }
  717.  
  718. public OnPlayerCommandText(playerid, cmdtext[]) {
  719. new Cmd[256];
  720. new Idx;
  721. new DanceStyle;
  722. new SpecPlayerID,
  723. SpecVehicleID;
  724. Cmd = Strtok(cmdtext, Idx);
  725. new String[50];
  726. new PlayerMoney;
  727. new SenderName[MAX_PLAYER_NAME];
  728. new GivePlayer[MAX_PLAYER_NAME];
  729. new GivePlayerID,
  730. Moneys;
  731. new tmp2[100];
  732.  
  733. if ( IsDancing[playerid] ) {
  734. TextDrawDestroy(TxtDanceHelper);
  735. }
  736.  
  737. if ( PlayerUsingLoopingAnim[playerid] ) {
  738. TextDrawDestroy(TxtAnimHelper);
  739. }
  740.  
  741. if ( strcmp(Cmd, "/Help", true) == 0 ) {
  742. SendPlayerFormattedText(playerid, " - JaYmE's Game Modes : Help :", 0);
  743. SendPlayerFormattedText(playerid, " - Type /AnimList For A List Of Animations !", 0);
  744. SendPlayerFormattedText(playerid, " - Type /InventoryHelp For Help With The Inventory !", 0);
  745. SendPlayerFormattedText(playerid, " - Type /Commands For Some Usful Commands To Use !", 0);
  746. return 1;
  747. }
  748.  
  749. if ( strcmp(Cmd, "/AnimList", true) == 0 ) {
  750. SendClientMessage(playerid, 0xAFAFAFAA, " - Available Animations: ");
  751. SendClientMessage(playerid, 0xAFAFAFAA, " - /HandsUp /Drunk /Bomb /GetArrested /Laugh /LookOut /RobMan");
  752. SendClientMessage(playerid, 0xAFAFAFAA, " - /CrossArms /Lay /Hide /Vomit /Eat /Wave /Taichi /OldDance");
  753. SendClientMessage(playerid, 0xAFAFAFAA, " - /Deal /Crack /SmokeM /SmokeF /GroundSit /Chat /Dance /F**kU");
  754. }
  755.  
  756. if ( strcmp(Cmd, "/InventoryHelp", true) == 0 ) {
  757. SendClientMessage(playerid, 0xAFAFAFAA, " - Inventory Help: ");
  758. SendClientMessage(playerid, 0xAFAFAFAA, " - The Inventory Will Hold Items For You That You Can Use Later");
  759. SendClientMessage(playerid, 0xAFAFAFAA, " - /MyInventory /DropItem /DropAllItems");
  760. }
  761.  
  762. if ( strcmp(Cmd, "/Commands", true) == 0 ) {
  763. SendClientMessage(playerid, 0xAFAFAFAA, " - Current Commands: ");
  764. SendClientMessage(playerid, 0xAFAFAFAA, " - /Login /Register /SetCheckpoint");
  765. SendClientMessage(playerid, 0xAFAFAFAA, " - /GiveCash /Teleport /Me");
  766. SendClientMessage(playerid, 0xAFAFAFAA, " - /MakeAdmin /MakeCop");
  767. SendClientMessage(playerid, 0xAFAFAFAA, " - /SpecPlayer /SpecVehicle /SpecOff");
  768. }
  769.  
  770. if ( !strcmp(Cmd, "/login", true) ) {
  771. new tmppass[128];
  772. if ( AccountInfo[playerid][aLogged] == 1 ) return SendClientMessage(playerid, 0xE60000FF, "You are already logged in.");
  773. tmp2 = Strtok(cmdtext, Idx);
  774. if ( !strlen(tmp2) ) return SendClientMessage(playerid, 0xF97804FF, "USAGE: /login [password]");
  775. new plname[MAX_PLAYER_NAME];
  776. GetPlayerName(playerid, plname, sizeof plname);
  777. format(plname, sizeof plname, "%s.ini", plname);
  778. if ( !fexist(plname) ) return SendClientMessage(playerid, 0xE60000FF, "That account isn't registered! Please register: /register [password]");
  779. strmid(tmppass, tmp2, 0, strlen(cmdtext), 128);
  780. Encrypt(tmppass);
  781. LoginPlayer(playerid, tmppass);
  782. return 1;
  783. }
  784.  
  785. if ( !strcmp(Cmd, "/register", true) ) {
  786. if ( AccountInfo[playerid][aLogged] == 1 ) return SendClientMessage(playerid, 0xE60000FF, "You are already logged in.");
  787. new plname[MAX_PLAYER_NAME];
  788. GetPlayerName(playerid, plname, sizeof plname);
  789. format(plname, sizeof plname, "%s.ini", plname);
  790. new File: hFile = fopen(plname, io_read);
  791. if ( hFile ) {
  792. SendClientMessage(playerid, 0xE60000FF, "That name is already taken. Please re-connect using a different username.");
  793. fclose(hFile);
  794. return 1;
  795. }
  796. new tmppass[128];
  797. tmp2 = Strtok(cmdtext, Idx);
  798. if(!strlen(tmp2)) return SendClientMessage(playerid, 0xF97804FF, "USAGE: /register [password]");
  799. strmid(tmppass, tmp2, 0, strlen(cmdtext), 128);
  800. Encrypt(tmppass);
  801. RegisterPlayer(playerid, tmppass);
  802. return 1;
  803. }
  804.  
  805. if ( strcmp("/MyInventory", cmdtext, true) == 0 ) {
  806. new pName[25];
  807. GetPlayerName(playerid, pName, sizeof pName);
  808. format(String, sizeof String, "< - %s's Inventory - >", pName);
  809. SendClientMessage(playerid, 0x0000ffff, String);
  810. format(String, sizeof String, "Item 1 : %s", PlayerInv[playerid][Object1]);
  811. SendClientMessage(playerid, 0x00ff00ff, String);
  812. format(String, sizeof String, "Item 2 : %s", PlayerInv[playerid][Object2]);
  813. SendClientMessage(playerid, 0x00ff00ff, String);
  814. format(String, sizeof String, "Item 3 : %s", PlayerInv[playerid][Object3]);
  815. SendClientMessage(playerid, 0x00ff00ff, String);
  816. format(String, sizeof String, "Item 4 : %s", PlayerInv[playerid][Object4]);
  817. SendClientMessage(playerid, 0x00ff00ff, String);
  818. format(String, sizeof String, "Item 5 : %s", PlayerInv[playerid][Object5]);
  819. SendClientMessage(playerid, 0x00ff00ff, String);
  820. return 1;
  821. }
  822.  
  823. if ( strcmp("/DropAllItems", cmdtext, true) == 0 ) {
  824. strdel(PlayerInv[playerid][Object1], 0, strlen(PlayerInv[playerid][Object1]));
  825. strcat(PlayerInv[playerid][Object1], "None", 25);
  826. strdel(PlayerInv[playerid][Object2], 0, strlen(PlayerInv[playerid][Object2]));
  827. strcat(PlayerInv[playerid][Object2], "None", 25);
  828. strdel(PlayerInv[playerid][Object3], 0, strlen(PlayerInv[playerid][Object3]));
  829. strcat(PlayerInv[playerid][Object3], "None", 25);
  830. strdel(PlayerInv[playerid][Object4], 0, strlen(PlayerInv[playerid][Object4]));
  831. strcat(PlayerInv[playerid][Object4], "None", 25);
  832. strdel(PlayerInv[playerid][Object5], 0, strlen(PlayerInv[playerid][Object5]));
  833. strcat(PlayerInv[playerid][Object5], "None", 25);
  834. PlayerInv[playerid][ObjectsLeft] = 5;
  835. return 1;
  836. }
  837.  
  838. if ( strcmp("/DropItem", cmdtext, true, 9) == 0 ) {
  839. if ( cmdtext[9] == 0 || cmdtext[10] == 0 ) {
  840. return SendClientMessage(playerid, 0xff0000ff, "Usage: /DropItem < Item Number > ! ");
  841. }
  842. strmid(String, cmdtext, 10, strlen(cmdtext));
  843. new Drop = strval(String);
  844. if ( Drop < 1 || Drop > 5 ) {
  845. return SendClientMessage(playerid, 0xff0000ff, "Error: Invalid Item ! ");
  846. } else {
  847. if ( Drop == 1 ) {
  848. strdel(PlayerInv[playerid][Object1], 0, strlen(PlayerInv[playerid][Object1]));
  849. strcat(PlayerInv[playerid][Object1], "None", 25);
  850. } else {
  851. if ( Drop == 2 ) {
  852. strdel(PlayerInv[playerid][Object2], 0, strlen(PlayerInv[playerid][Object2]));
  853. strcat(PlayerInv[playerid][Object2], "None", 25);
  854. } else {
  855. if ( Drop == 3 ) {
  856. strdel(PlayerInv[playerid][Object3], 0, strlen(PlayerInv[playerid][Object3]));
  857. strcat(PlayerInv[playerid][Object3], "None", 25);
  858. } else {
  859. if ( Drop == 4 ) {
  860. strdel(PlayerInv[playerid][Object4], 0, strlen(PlayerInv[playerid][Object4]));
  861. strcat(PlayerInv[playerid][Object4], "None", 25);
  862. } else {
  863. if ( Drop == 5 ) {
  864. strdel(PlayerInv[playerid][Object5], 0, strlen(PlayerInv[playerid][Object5]));
  865. strcat(PlayerInv[playerid][Object5], "None", 25);
  866. }
  867. }
  868. }
  869. }
  870. }
  871. PlayerInv[playerid][ObjectsLeft]++;
  872. PlayerInv[playerid][DroppedItem] = Drop;
  873. SendClientMessage(playerid, 0x00ff00ff, "Item Dropped ! ");
  874. }
  875. return 1;
  876. }
  877.  
  878. if ( strcmp("/SetCheckpoint", cmdtext, true) == 0 ) {
  879. Faction[playerid] = GetPlayerFactionIDByName(playerid, "LVMPD");
  880. if ( Faction[playerid] == 5 ) {
  881. new Float:PX,
  882. Float:PY,
  883. Float:PZ;
  884. GetPlayerPos(playerid, PX, PY, PZ);
  885. for ( new i = 0; i < MAX_PLAYERS; i++ ) {
  886. Faction[i] = GetPlayerFactionIDByName(i, "LVMPD");
  887. if ( Faction[i] == 5 ) {
  888. MyCopCheckPoint[i] = SetPlayerCheckpoint(i, PX, PY, PZ, 4.0);
  889. SendClientMessage(i, 0xff0000ff, "Cop: A Checkpoint Has Been Created !");
  890. }
  891. }
  892. } else {
  893. SendClientMessage(playerid, 0xff0000ff, "Error: You Are Not A Cop !");
  894. }
  895. return 1;
  896. }
  897.  
  898. if ( strcmp(Cmd, "/GiveCash", true) == 0 ) {
  899. new Tmp[256];
  900. Tmp = Strtok(cmdtext, Idx);
  901.  
  902. if ( !strlen(Tmp) ) {
  903. SendClientMessage(playerid, COLOR_WHITE, "Usage: /GiveCash < PlayerID > < Amount > ");
  904. return 1;
  905. }
  906. GivePlayerID = strval(Tmp);
  907.  
  908. Tmp = Strtok(cmdtext, Idx);
  909. if ( !strlen(Tmp) ) {
  910. SendClientMessage(playerid, COLOR_WHITE, "Usage: /GiveCash < PlayerID > < Amount > ");
  911. return 1;
  912. }
  913. Moneys = strval(Tmp);
  914.  
  915. if ( IsPlayerConnected(GivePlayerID) ) {
  916. GetPlayerName(GivePlayerID, GivePlayer, sizeof GivePlayer);
  917. GetPlayerName(playerid, SenderName, sizeof SenderName);
  918. PlayerMoney = GetPlayerMoney(playerid);
  919. if ( Moneys > 0 && PlayerMoney >= Moneys ) {
  920. GivePlayerMoney(playerid, (0 - Moneys));
  921. GivePlayerMoney(GivePlayerID, Moneys);
  922. format(String, sizeof String, "You Have Sent %s(Player: %d), $%d.", GivePlayer, GivePlayerID, Moneys);
  923. SendClientMessage(playerid, COLOR_YELLOW, String);
  924. format(String, sizeof String, "You Have Recieved $%d From %s(Player: %d).", Moneys, SenderName, playerid);
  925. SendClientMessage(GivePlayerID, COLOR_YELLOW, String);
  926. }
  927. else {
  928. SendClientMessage(playerid, COLOR_YELLOW, "Invalid Transaction Amount.");
  929. }
  930. }
  931. else {
  932. format(String, sizeof String, "%d Is Not An Active Player.", GivePlayerID);
  933. SendClientMessage(playerid, COLOR_YELLOW, String);
  934. }
  935. return 1;
  936. }
  937.  
  938. if ( strcmp("/Me", cmdtext, true, 3) == 0 ) {
  939. if ( cmdtext[3] == 0 ) {
  940. SendClientMessage(playerid, 0xFF0000FF, "Usage: /Me < Action > ");
  941. return 1;
  942. }
  943. new Str[128];
  944. GetPlayerName(playerid, Str, sizeof Str);
  945. format(Str, sizeof Str, "%s %s", Str, cmdtext[4]);
  946. SendClientMessageToAll(0xFFFF00AA, Str);
  947. return 1;
  948. }
  949.  
  950. if ( strcmp(cmdtext, "/Teleport", true) == 0 ) {
  951. ShowMenuForPlayer(TeleportMenu, playerid);
  952. TogglePlayerControllable(playerid, false);
  953. return 1;
  954. }
  955.  
  956. if ( GetPlayerState(playerid) != PLAYER_STATE_ONFOOT ) {
  957. return 0;
  958. }
  959.  
  960. if ( strcmp(Cmd, "/HandsUp", true ) == 0) {
  961. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_HANDSUP);
  962. return 1;
  963. }
  964.  
  965. if ( strcmp(Cmd, "/CellIn", true) == 0 ) {
  966. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  967. return 1;
  968. }
  969.  
  970. if ( strcmp(Cmd, "/CellOut", true) == 0 ) {
  971. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  972. return 1;
  973. }
  974.  
  975. if ( strcmp(Cmd, "/Drunk", true) == 0 ) {
  976. LoopingAnim(playerid, "PED", "WALK_DRUNK", 4.0, 1, 1, 1, 1, 0);
  977. return 1;
  978. }
  979.  
  980. if ( strcmp("/Bomb", cmdtext, true) == 0 ) {
  981. ClearAnimations(playerid);
  982. OnePlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
  983. return 1;
  984. }
  985.  
  986. if ( strcmp("/GetArrested", cmdtext, true, 7) == 0 ) {
  987. LoopingAnim(playerid, "ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1);
  988. return 1;
  989. }
  990.  
  991. if ( strcmp("/Laugh", cmdtext, true) == 0 ) {
  992. OnePlayAnim(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
  993. return 1;
  994. }
  995.  
  996. if ( strcmp("/LookOut", cmdtext, true) == 0 ) {
  997. OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0);
  998. return 1;
  999. }
  1000.  
  1001. if ( strcmp("/RobMan", cmdtext, true) == 0 ) {
  1002. LoopingAnim(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0);
  1003. return 1;
  1004. }
  1005.  
  1006. if ( strcmp("/CrossArms", cmdtext, true) == 0 ) {
  1007. LoopingAnim(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);
  1008. return 1;
  1009. }
  1010.  
  1011. if ( strcmp("/Lay", cmdtext, true, 6) == 0 ) {
  1012. LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0);
  1013. return 1;
  1014. }
  1015.  
  1016. if ( strcmp("/Hide", cmdtext, true, 3 ) == 0) {
  1017. LoopingAnim(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0);
  1018. return 1;
  1019. }
  1020.  
  1021. if ( strcmp("/Vomit", cmdtext, true) == 0 ) {
  1022. OnePlayAnim(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0);
  1023. return 1;
  1024. }
  1025.  
  1026. if ( strcmp("/Eat", cmdtext, true) == 0 ) {
  1027. OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);
  1028. return 1;
  1029. }
  1030.  
  1031. if ( strcmp("/Wave", cmdtext, true) == 0 ) {
  1032. LoopingAnim(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);
  1033. return 1;
  1034. }
  1035.  
  1036. if ( strcmp("/SlapAss", cmdtext, true) == 0 ) {
  1037. OnePlayAnim(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0);
  1038. return 1;
  1039. }
  1040.  
  1041. if ( strcmp("/Deal", cmdtext, true) == 0 ) {
  1042. OnePlayAnim(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0);
  1043. return 1;
  1044. }
  1045.  
  1046. if ( strcmp("/Crack", cmdtext, true, 6) == 0 ) {
  1047. LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
  1048. return 1;
  1049. }
  1050.  
  1051. if ( strcmp("/SmokeM", cmdtext, true, 4) == 0 ) {
  1052. LoopingAnim(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  1053. return 1;
  1054. }
  1055.  
  1056. if ( strcmp("/SmokeF", cmdtext, true) == 0 ) {
  1057. LoopingAnim(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  1058. return 1;
  1059. }
  1060.  
  1061. if ( strcmp("/GroundSit", cmdtext, true, 4) == 0 ) {
  1062. LoopingAnim(playerid, "BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);
  1063. return 1;
  1064. }
  1065.  
  1066. if ( strcmp(Cmd, "/Chat", true) == 0 ) {
  1067. OnePlayAnim(playerid, "PED", "IDLE_CHAT", 4.0, 0, 0, 0, 0, 0);
  1068. return 1;
  1069. }
  1070.  
  1071. if ( strcmp(Cmd, "/FuckU", true) == 0 ) {
  1072. OnePlayAnim(playerid, "PED", "fucku", 4.0, 0, 0, 0, 0, 0);
  1073. return 1;
  1074. }
  1075.  
  1076. if ( strcmp(Cmd, "/TaiChi", true) == 0 ) {
  1077. LoopingAnim(playerid, "PARK", "Tai_Chi_Loop", 4.0, 1, 0, 0, 0, 0);
  1078. return 1;
  1079. }
  1080.  
  1081. if ( strcmp(Cmd, "/Dance", true) == 0 ) {
  1082. if ( GetPlayerState(playerid) == PLAYER_STATE_ONFOOT ) {
  1083. new Tmp[256];
  1084.  
  1085. Tmp = Strtok(cmdtext, Idx);
  1086. if ( !strlen(Tmp) ) {
  1087. SendClientMessage(playerid, 0xFF0000FF, "Usage: /Dance < Style 1-3> ");
  1088. return 1;
  1089. }
  1090.  
  1091. DanceStyle = strval(Tmp);
  1092. if ( DanceStyle < 1 || DanceStyle > 3 ) {
  1093. SendClientMessage(playerid, 0xFF0000FF, "Usage: /Dance < Style 1-3 > ");
  1094. return 1;
  1095. }
  1096.  
  1097. if ( DanceStyle == 1 ) {
  1098. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE1);
  1099. } else if ( DanceStyle == 2 ) {
  1100. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE2);
  1101. } else if ( DanceStyle == 3 ) {
  1102. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE3);
  1103. }
  1104. return 1;
  1105. }
  1106. }
  1107.  
  1108. if ( strcmp(Cmd, "/OldDance", true) == 0 ) {
  1109. if ( GetPlayerState(playerid) == PLAYER_STATE_ONFOOT ) {
  1110. CurrentDanceMove[playerid] = 0;
  1111. IsDancing[playerid] = 1;
  1112. ChangeToNextDanceMove(playerid);
  1113. TextDrawShowForPlayer(playerid, TxtDanceHelper);
  1114. return 1;
  1115. }
  1116. }
  1117.  
  1118. if ( !IsPlayerAdmin(playerid) ) return 0;
  1119.  
  1120. if ( strcmp("/MakeAdmin", cmdtext, true) == 0 ) {
  1121. Admin[playerid] = 1;
  1122. SendClientMessage(playerid, 0xff0000ff, "You Are Now A Admin !");
  1123. return 1;
  1124. }
  1125.  
  1126.  
  1127. if ( strcmp("/MakeCop", cmdtext, true) == 0 ) {
  1128. SetPlayerFactionIDByName(playerid, "LVMPD");
  1129. SendClientMessage(playerid, 0xff0000ff, "You Are Now A Cop !");
  1130. return 1;
  1131. }
  1132.  
  1133. if ( strcmp(Cmd, "/SpecPlayer", true) == 0 ) {
  1134. new Tmp[256];
  1135. Tmp = Strtok(cmdtext, Idx);
  1136.  
  1137. if ( !strlen(Tmp) ) {
  1138. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /SpecPlayer < PlayerID > ");
  1139. return 1;
  1140. }
  1141. SpecPlayerID = strval(Tmp);
  1142.  
  1143. if ( !IsPlayerConnected(SpecPlayerID) ) {
  1144. SendClientMessage(playerid, COLOR_RED, "SpecPlayer: That Player Isn't Active.");
  1145. return 1;
  1146. }
  1147.  
  1148. TogglePlayerSpectating(playerid, 1);
  1149. PlayerSpectatePlayer(playerid, SpecPlayerID);
  1150. SetPlayerInterior(playerid, GetPlayerInterior(SpecPlayerID));
  1151. SpectateID[playerid] = SpecPlayerID;
  1152. SpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  1153. return 1;
  1154. }
  1155.  
  1156. if ( strcmp(Cmd, "/SpecVehicle", true) == 0 ) {
  1157. new Tmp[256];
  1158. Tmp = Strtok(cmdtext, Idx);
  1159.  
  1160. if ( !strlen(Tmp) ) {
  1161. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /SpecVehicle < VehicleID > ");
  1162. return 1;
  1163. }
  1164. SpecVehicleID = strval(Tmp);
  1165.  
  1166. if ( SpecVehicleID < MAX_VEHICLES ) {
  1167. TogglePlayerSpectating(playerid, 1);
  1168. PlayerSpectateVehicle(playerid, SpecVehicleID);
  1169. SpectateID[playerid] = SpecVehicleID;
  1170. SpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
  1171. }
  1172. return 1;
  1173. }
  1174.  
  1175. if ( strcmp(Cmd, "/SpecOff", true) == 0 ) {
  1176. TogglePlayerSpectating(playerid, 0);
  1177. SpectateID[playerid] = INVALID_PLAYER_ID;
  1178. SpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  1179. return 1;
  1180. }
  1181. return 0;
  1182. }
  1183.  
  1184. public OnPlayerSelectedMenuRow(playerid, row) {
  1185. new Menu:CurrentMenu = GetPlayerMenu(playerid);
  1186. if ( CurrentMenu == TeleportMenu ) {
  1187. switch ( row ) {
  1188. case 0: {
  1189. SetPlayerPos(playerid, 2493.9133, -1682.3986, 13.3382);
  1190. SetPlayerInterior(playerid, 0);
  1191. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To Grove Street");
  1192. TogglePlayerControllable(playerid, true);
  1193. }
  1194. case 1: {
  1195. SetPlayerPos(playerid, 1541.2833, -1362.4741, 329.6457);
  1196. SetPlayerInterior(playerid, 0);
  1197. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To The Top Of Starfish Tower");
  1198. TogglePlayerControllable(playerid, true);
  1199. }
  1200. case 2: {
  1201. SetPlayerPos(playerid, -2705.5503, 206.1621, 4.1797);
  1202. SetPlayerInterior(playerid, 0);
  1203. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To The Wheel Arch Angels Tuning-Shop");
  1204. TogglePlayerControllable(playerid, true);
  1205. }
  1206. case 3: {
  1207. SetPlayerPos(playerid, -2617.5156, 1390.6353, 7.1105);
  1208. SetPlayerInterior(playerid, 0);
  1209. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To Jizzy's Nightclub!");
  1210. TogglePlayerControllable(playerid, true);
  1211. }
  1212. case 4: {
  1213. SetPlayerPos(playerid, 2028.5538, 1008.3543, 10.8203);
  1214. SetPlayerInterior(playerid, 0);
  1215. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To The Four Dragons Casino");
  1216. TogglePlayerControllable(playerid, true);
  1217. }
  1218. case 5: {
  1219. SetPlayerPos(playerid, 2169.1838, 1122.5426, 12.6107);
  1220. SetPlayerInterior(playerid, 0);
  1221. SendClientMessage(playerid, 0xFFFFFFFF, "Welcome To The Come-A-Lot Casino!");
  1222. TogglePlayerControllable(playerid, true);
  1223. }
  1224. }
  1225. }
  1226. return 1;
  1227. }
  1228.  
  1229. public OnPlayerExitedMenu(playerid) {
  1230. TogglePlayerControllable(playerid, true);
  1231. return 1;
  1232. }
  1233.  
  1234. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  1235. if ( !PlayerUsingLoopingAnim[playerid]) return;
  1236.  
  1237. if ( IsKeyJustDown(KEY_SPRINT, newkeys, oldkeys)) {
  1238. StopLoopingAnim(playerid);
  1239. TextDrawHideForPlayer(playerid, TxtAnimHelper);
  1240. }
  1241.  
  1242. if ( !IsDancing[playerid] ) return;
  1243.  
  1244. if ( IsKeyJustDown(KEY_FIRE, newkeys, oldkeys) ) {
  1245. ChangeToNextDanceMove(playerid);
  1246. return;
  1247. }
  1248.  
  1249. if ( IsKeyJustDown(KEY_JUMP, newkeys, oldkeys) ) {
  1250. ChangeToPreviousDanceMove(playerid);
  1251. }
  1252.  
  1253. if ( IsKeyJustDown(KEY_SPRINT, newkeys, oldkeys) ) {
  1254. CurrentDanceMove[playerid] = 0;
  1255. IsDancing[playerid] = 0;
  1256. ClearAnimations(playerid);
  1257. TextDrawHideForPlayer(playerid, TxtDanceHelper);
  1258. }
  1259. }
  1260.  
  1261. public OnPlayerPickUpPickup(playerid, pickupid) {
  1262. if ( pickupid == 0 ) {
  1263. SetPlayerItem(playerid, "Pineapple");
  1264. return 1;
  1265. } else if ( pickupid == 1 ) {
  1266. SetPlayerItem(playerid, "Mushroom");
  1267. return 1;
  1268. } else if ( pickupid == 2 ) {
  1269. SetPlayerItem(playerid, "Apple");
  1270. return 1;
  1271. } else if ( pickupid == 3 ) {
  1272. SetPlayerItem(playerid, "Chips");
  1273. return 1;
  1274. } else if ( pickupid == 4 ) {
  1275. SetPlayerItem(playerid, "Gravy");
  1276. return 1;
  1277. } else if ( pickupid == 5 ) {
  1278. SetPlayerItem(playerid, "Choclate");
  1279. return 1;
  1280. }
  1281. return 1;
  1282. }
  1283.  
  1284. public OnPlayerEnterCheckpoint(playerid) {
  1285. if ( MyCopCheckPoint[playerid] == 1 && IsPlayerInCheckpoint(playerid) ) {
  1286. SetPlayerHealth(playerid, 100);
  1287. MyCopCheckPoint[playerid] = DisablePlayerCheckpoint(playerid);
  1288. }
  1289. return 1;
  1290. }
  1291.  
  1292. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) {
  1293. new x = 0;
  1294.  
  1295. while ( x != MAX_PLAYERS ) {
  1296. if ( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  1297. SpectateID[x] == playerid && SpectateType[x] == ADMIN_SPEC_TYPE_PLAYER ) {
  1298. SetPlayerInterior(x,newinteriorid);
  1299. }
  1300. x++;
  1301. }
  1302. }
  1303.  
  1304. public SendPlayerFormattedText(playerid, const str[], define) {
  1305. new tmpbuf[256];
  1306. format(tmpbuf, sizeof tmpbuf, str, define);
  1307. SendClientMessage(playerid, 0xFF004040, tmpbuf);
  1308. }
  1309.  
  1310. public SendAllFormattedText(playerid, const str[], define) {
  1311. new tmpbuf[256];
  1312. format(tmpbuf, sizeof tmpbuf, str, define);
  1313. SendClientMessageToAll(0xFFFF00AA, tmpbuf);
  1314. }
  1315.  
  1316. stock SetPlayerItem(playerid, String[]) {
  1317. for ( new i = 0; i < sizeof AvailableItems; i++ ) {
  1318. if ( strcmp(String, AvailableItems[i], true) == 0 ) {
  1319. if ( PlayerInv[playerid][ObjectsLeft] > 0 ) {
  1320. if ( PlayerInv[playerid][DroppedItem] > 0 ) {
  1321. if ( PlayerInv[playerid][DroppedItem] == 1 ) {
  1322. strdel(PlayerInv[playerid][Object1], 0, strlen(PlayerInv[playerid][Object1]));
  1323. strcat(PlayerInv[playerid][Object1], AvailableItems[i], 25);
  1324. PlayerInv[playerid][ObjectsLeft]--;
  1325. } else {
  1326. if ( PlayerInv[playerid][DroppedItem] == 2 ) {
  1327. strdel(PlayerInv[playerid][Object2], 0, strlen(PlayerInv[playerid][Object2]));
  1328. strcat(PlayerInv[playerid][Object2], AvailableItems[i], 25);
  1329. PlayerInv[playerid][ObjectsLeft]--;
  1330. } else {
  1331. if ( PlayerInv[playerid][DroppedItem] == 3 ) {
  1332. strdel(PlayerInv[playerid][Object3], 0, strlen(PlayerInv[playerid][Object3]));
  1333. strcat(PlayerInv[playerid][Object3], AvailableItems[i], 25);
  1334. PlayerInv[playerid][ObjectsLeft]--;
  1335. } else {
  1336. if ( PlayerInv[playerid][DroppedItem] == 4 ) {
  1337. strdel(PlayerInv[playerid][Object4], 0, strlen(PlayerInv[playerid][Object4]));
  1338. strcat(PlayerInv[playerid][Object4], AvailableItems[i], 25);
  1339. PlayerInv[playerid][ObjectsLeft]--;
  1340. } else {
  1341. if ( PlayerInv[playerid][DroppedItem] == 5 ) {
  1342. strdel(PlayerInv[playerid][Object5], 0, strlen(PlayerInv[playerid][Object5]));
  1343. strcat(PlayerInv[playerid][Object5], AvailableItems[i], 25);
  1344. PlayerInv[playerid][ObjectsLeft]--;
  1345. }
  1346. }
  1347. }
  1348. }
  1349. }
  1350. } else {
  1351. if ( PlayerInv[playerid][ObjectsLeft] == 5 ) {
  1352. strdel(PlayerInv[playerid][Object1], 0, strlen(PlayerInv[playerid][Object1]));
  1353. strcat(PlayerInv[playerid][Object1], AvailableItems[i], 25);
  1354. PlayerInv[playerid][ObjectsLeft]--;
  1355. } else {
  1356. if ( PlayerInv[playerid][ObjectsLeft] == 4 ) {
  1357. strdel(PlayerInv[playerid][Object2], 0, strlen(PlayerInv[playerid][Object2]));
  1358. strcat(PlayerInv[playerid][Object2], AvailableItems[i], 25);
  1359. PlayerInv[playerid][ObjectsLeft]--;
  1360. } else {
  1361. if ( PlayerInv[playerid][ObjectsLeft] == 3 ) {
  1362. strdel(PlayerInv[playerid][Object3], 0, strlen(PlayerInv[playerid][Object3]));
  1363. strcat(PlayerInv[playerid][Object3], AvailableItems[i], 25);
  1364. PlayerInv[playerid][ObjectsLeft]--;
  1365. } else {
  1366. if ( PlayerInv[playerid][ObjectsLeft] == 2 ) {
  1367. strdel(PlayerInv[playerid][Object4], 0, strlen(PlayerInv[playerid][Object4]));
  1368. strcat(PlayerInv[playerid][Object4], AvailableItems[i], 25);
  1369. PlayerInv[playerid][ObjectsLeft]--;
  1370. } else {
  1371. if ( PlayerInv[playerid][ObjectsLeft] == 1 ) {
  1372. strdel(PlayerInv[playerid][Object5], 0, strlen(PlayerInv[playerid][Object5]));
  1373. strcat(PlayerInv[playerid][Object5], AvailableItems[i], 25);
  1374. PlayerInv[playerid][ObjectsLeft]--;
  1375. }
  1376. }
  1377. }
  1378. }
  1379. }
  1380. }
  1381. new PUString[50];
  1382. format(PUString, sizeof PUString, "You Picked Up A %s", AvailableItems[i]);
  1383. SendClientMessage(playerid, 0x00ff00ff, PUString);
  1384. PlayerInv[playerid][DroppedItem] = 0;
  1385. } else {
  1386. SendClientMessage(playerid, 0xff0000ff, "You Cannot Pick Up Anymore Items !");
  1387. }
  1388. }
  1389. }
  1390. return 1;
  1391. }
  1392.  
  1393. public RegisterPlayer(playerid, password[]) {
  1394. if ( IsPlayerConnected(playerid) ) {
  1395. new name[MAX_PLAYER_NAME],
  1396. str[128];
  1397. GetPlayerName(playerid, name, sizeof name);
  1398. format(str, sizeof str, "%s.ini", name);
  1399. new File:account = fopen(str, io_write);
  1400. if ( account ) {
  1401. strmid(AccountInfo[playerid][aPassword], password, 0, strlen(password), 128);
  1402. AccountInfo[playerid][aCash] = GetPlayerMoney(playerid);
  1403. AccountInfo[playerid][aScore] = GetPlayerScore(playerid);
  1404. GetPlayerPos(playerid, AccountInfo[playerid][aX], AccountInfo[playerid][aY], AccountInfo[playerid][aZ]);
  1405. GetPlayerFacingAngle(playerid, AccountInfo[playerid][aA]);
  1406. new file[128];
  1407. {
  1408. format(file, sizeof file, "Password: %s\n", AccountInfo[playerid][aPassword]);
  1409. { fwrite(account, file); }
  1410. format(file, sizeof file, "Cash: %d\n",AccountInfo[playerid][aCash]);
  1411. { fwrite(account, file); }
  1412. format(file, sizeof file, "Score: %d\n", AccountInfo[playerid][aScore]);
  1413. { fwrite(account, file); }
  1414. format(file, sizeof file, "X: %f\n",AccountInfo[playerid][aX]);
  1415. { fwrite(account, file); }
  1416. format(file, sizeof file, "Y: %f\n",AccountInfo[playerid][aY]);
  1417. { fwrite(account, file); }
  1418. format(file, sizeof file, "Z: %f\n",AccountInfo[playerid][aZ]);
  1419. { fwrite(account, file); }
  1420. format(file, sizeof file, "Angle: %f\n",AccountInfo[playerid][aA]);
  1421. { fwrite(account, file); }
  1422. format(file, sizeof file, "Item1: %s\n",PlayerInv[playerid][Object1]);
  1423. { fwrite(account, file); }
  1424. format(file, sizeof file, "Item2: %s\n",PlayerInv[playerid][Object2]);
  1425. { fwrite(account, file); }
  1426. format(file, sizeof file, "Item3: %s\n",PlayerInv[playerid][Object3]);
  1427. { fwrite(account, file); }
  1428. format(file, sizeof file, "Item4: %s\n",PlayerInv[playerid][Object4]);
  1429. { fwrite(account, file); }
  1430. format(file, sizeof file, "Item5: %s\n",PlayerInv[playerid][Object5]);
  1431. { fwrite(account, file); }
  1432. format(file, sizeof file, "ItemsLeft: %d\n",PlayerInv[playerid][ObjectsLeft]);
  1433. { fwrite(account, file); }
  1434. format(file, sizeof file, "DroppedItem: %d\n",PlayerInv[playerid][DroppedItem]);
  1435. { fwrite(account, file); }
  1436. }
  1437. fclose(account);
  1438. SendClientMessage(playerid, 0x21DD00FF, "You have successfully registered an account. You may now /login.");
  1439. }
  1440. }
  1441. return 1;
  1442. }
  1443.  
  1444. public LoginPlayer(playerid, password[]) {
  1445. new name[MAX_PLAYER_NAME],
  1446. str[128];
  1447. GetPlayerName(playerid, name, sizeof name);
  1448. format(str, sizeof str, "%s.ini", name);
  1449. new File:account = fopen(str, io_read);
  1450. if ( account ) {
  1451. new pass[256];
  1452. new passres[128],
  1453. value[128];
  1454. fread(account, pass, sizeof pass);
  1455. passres = GetFileString(pass);
  1456. if ( !strcmp("Password", passres) ) {
  1457. value = GetFileValue(pass);
  1458. strmid(AccountInfo[playerid][aPassword], value, 0, strlen(value)-1, 128);
  1459. }
  1460. if ( !strcmp(AccountInfo[playerid][aPassword], password, true) ) {
  1461. while ( fread(account, pass, 256) ) {
  1462. passres = GetFileString(pass);
  1463. if (strfind(passres, "Cash") != -1) {
  1464. value = GetFileValue(pass);
  1465. AccountInfo[playerid][aCash] = strval(value);
  1466. }
  1467. if (strfind(passres, "Score") != -1) {
  1468. value = GetFileValue(pass);
  1469. AccountInfo[playerid][aScore] = strval(value);
  1470. }
  1471. if (strfind(passres, "X") != -1) {
  1472. value = GetFileValue(pass);
  1473. AccountInfo[playerid][aX] = floatstr(value);
  1474. }
  1475. if (strfind(passres, "Y") != -1) {
  1476. value = GetFileValue(pass);
  1477. AccountInfo[playerid][aY] = floatstr(value);
  1478. }
  1479. if (strfind(passres, "Z") != -1) {
  1480. value = GetFileValue(pass);
  1481. AccountInfo[playerid][aZ] = floatstr(value);
  1482. }
  1483. if (strfind(passres, "Angle") != -1) {
  1484. value = GetFileValue(pass);
  1485. AccountInfo[playerid][aA] = floatstr(value);
  1486. }
  1487. if (strfind(passres, "Item1") != -1) {
  1488. value = GetFileValue(pass);
  1489. strdel(PlayerInv[playerid][Object1], 0, strlen(PlayerInv[playerid][Object1]));
  1490. strcat(PlayerInv[playerid][Object1], value, 25);
  1491. }
  1492. if (strfind(passres, "Item2") != -1) {
  1493. value = GetFileValue(pass);
  1494. strdel(PlayerInv[playerid][Object2], 0, strlen(PlayerInv[playerid][Object2]));
  1495. strcat(PlayerInv[playerid][Object2], value, 25);
  1496. }
  1497. if (strfind(passres, "Item3") != -1) {
  1498. value = GetFileValue(pass);
  1499. strdel(PlayerInv[playerid][Object3], 0, strlen(PlayerInv[playerid][Object3]));
  1500. strcat(PlayerInv[playerid][Object3], value, 25);
  1501. }
  1502. if (strfind(passres, "Item4") != -1) {
  1503. value = GetFileValue(pass);
  1504. strdel(PlayerInv[playerid][Object4], 0, strlen(PlayerInv[playerid][Object4]));
  1505. strcat(PlayerInv[playerid][Object4], value, 25);
  1506. }
  1507. if (strfind(passres, "Item5") != -1) {
  1508. value = GetFileValue(pass);
  1509. strdel(PlayerInv[playerid][Object5], 0, strlen(PlayerInv[playerid][Object5]));
  1510. strcat(PlayerInv[playerid][Object5], value, 25);
  1511. }
  1512. if (strfind(passres, "ItemsLeft") != -1) {
  1513. value = GetFileValue(pass);
  1514. PlayerInv[playerid][ObjectsLeft] = strval(value);
  1515. }
  1516. if (strfind(passres, "DroppedItem") != -1) {
  1517. value = GetFileValue(pass);
  1518. PlayerInv[playerid][DroppedItem] = strval(value);
  1519. }
  1520. }
  1521. fclose(account);
  1522. AccountInfo[playerid][aLogged] = 1;
  1523. } else {
  1524. SendClientMessage(playerid, 0xE60000FF, "Incorrect Password.");
  1525. fclose(account);
  1526. return 1;
  1527. }
  1528. GivePlayerMoney(playerid, AccountInfo[playerid][aCash]);
  1529. SetPlayerScore(playerid, AccountInfo[playerid][aScore]);
  1530. SetPlayerPos(playerid, AccountInfo[playerid][aX], AccountInfo[playerid][aY], AccountInfo[playerid][aZ]);
  1531. SetPlayerFacingAngle(playerid, AccountInfo[playerid][aA]);
  1532. SendClientMessage(playerid, 0x21DD00FF, "Password correct! You have logged in successfully");
  1533. printf("%s has logged in", name);
  1534. }
  1535. return 1;
  1536. }
  1537.  
  1538. public SavePlayer(playerid) {
  1539. if ( IsPlayerConnected(playerid) ) {
  1540. if ( AccountInfo[playerid][aLogged] == 1 ) {
  1541. new name[MAX_PLAYER_NAME],
  1542. str[128];
  1543. GetPlayerName(playerid, name, sizeof name);
  1544. format(str, sizeof str, "%s.ini", name);
  1545. new File:account = fopen(str, io_write);
  1546. if ( account ) {
  1547. AccountInfo[playerid][aCash] = GetPlayerMoney(playerid);
  1548. AccountInfo[playerid][aScore] = GetPlayerScore(playerid);
  1549. GetPlayerPos(playerid, AccountInfo[playerid][aX], AccountInfo[playerid][aY], AccountInfo[playerid][aZ]);
  1550. GetPlayerFacingAngle(playerid, AccountInfo[playerid][aA]);
  1551. new file[128];
  1552. {
  1553. format(file, sizeof file, "Password: %s\n", AccountInfo[playerid][aPassword]);
  1554. { fwrite(account, file); }
  1555. format(file, sizeof file, "Cash: %d\n",AccountInfo[playerid][aCash]);
  1556. { fwrite(account, file); }
  1557. format(file, sizeof file, "Score: %d\n", AccountInfo[playerid][aScore]);
  1558. { fwrite(account, file); }
  1559. format(file, sizeof file, "X: %f\n",AccountInfo[playerid][aX]);
  1560. { fwrite(account, file); }
  1561. format(file, sizeof file, "Y: %f\n",AccountInfo[playerid][aY]);
  1562. { fwrite(account, file); }
  1563. format(file, sizeof file, "Z: %f\n",AccountInfo[playerid][aZ]);
  1564. { fwrite(account, file); }
  1565. format(file, sizeof file, "Angle: %f\n",AccountInfo[playerid][aA]);
  1566. { fwrite(account, file); }
  1567. format(file, sizeof file, "Item1: %s\n",PlayerInv[playerid][Object1]);
  1568. { fwrite(account, file); }
  1569. format(file, sizeof file, "Item2: %s\n",PlayerInv[playerid][Object2]);
  1570. { fwrite(account, file); }
  1571. format(file, sizeof file, "Item3: %s\n",PlayerInv[playerid][Object3]);
  1572. { fwrite(account, file); }
  1573. format(file, sizeof file, "Item4: %s\n",PlayerInv[playerid][Object4]);
  1574. { fwrite(account, file); }
  1575. format(file, sizeof file, "Item5: %s\n",PlayerInv[playerid][Object5]);
  1576. { fwrite(account, file); }
  1577. format(file, sizeof file, "ItemsLeft: %d\n",PlayerInv[playerid][ObjectsLeft]);
  1578. { fwrite(account, file); }
  1579. format(file, sizeof file, "DroppedItem: %d\n",PlayerInv[playerid][DroppedItem]);
  1580. { fwrite(account, file); }
  1581. }
  1582. fclose(account);
  1583. }
  1584. }
  1585. }
  1586. return 1;
  1587. }
  1588.  
  1589. stock GetFileString(string[]) {
  1590. new result[128];
  1591. result[0] = 0;
  1592. if ( strfind(string, ":", true) == -1 ) return result;
  1593. new id = strfind(string, ":", true);
  1594. strmid(result, string, 0, id, 128);
  1595. return result;
  1596. }
  1597.  
  1598. stock GetFileValue(string[]) {
  1599. new val[128];
  1600. val[0] = 0;
  1601. if ( strfind(string , ":", true) == -1 ) return val;
  1602. new id = strfind(string, ":", true);
  1603. strmid(val, string, id+2, strlen(string), 128);
  1604. return val;
  1605. }
  1606.  
  1607. stock Encrypt(string[]) {
  1608. for ( new x = 0; x < strlen(string); x++ ) {
  1609. string[x] += (3^x) * (x % 15);
  1610. if ( string[x] > (0xff) ) {
  1611. string[x] -= 256;
  1612. }
  1613. }
  1614. }
  1615.  
  1616. Strtok(const string[], &index)
  1617. {
  1618. new length = strlen(string);
  1619. while ( (index < length) && (string[index] <= ' ') ) {
  1620. index++;
  1621. }
  1622.  
  1623. new offset = index;
  1624. new result[20];
  1625. while ( (index < length) && (string[index] > ' ') && ( (index - offset) < (sizeof(result) - 1) ) ) {
  1626. result[index - offset] = string[index];
  1627. index++;
  1628. }
  1629. result[index - offset] = EOS;
  1630. return result;
  1631. }
  1632.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement