Advertisement
Guest User

Untitled

a guest
Apr 7th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.60 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dutils>
  3. #include <YSI/y_ini>
  4. #include <zcmd>
  5. #include <sscanf2>
  6.  
  7. #pragma tabsize 0
  8. #pragma unused ret_memcpy
  9.  
  10. #undef MAX_PLAYERS
  11. #define MAX_PLAYERS 32
  12.  
  13. #define COLOR_WHITE 0xFFFFFFAA
  14. #define COLOR_YELLOW 0xFFFFF00AA
  15. #define COLOR_RED 0x660000AA
  16. #define COLOR_PINK 0xFF66FFAA
  17. #define COLOR_LIGHTBLUE 0x33CCFFAA
  18. #define COLOR_DARKRED 0x660000AA
  19. #define COLOR_GREY 0xAFAFAFAA
  20. #define COLOR_ERROR 0xD2691EAA
  21. #define COLOR_ORANGE 0xFF9900AA
  22. #define COLOR_PINK1 0xEC13COFF
  23. #define COLOR_GREEN 0x7CFC00AA
  24.  
  25. #define Ak47_Price 5000
  26. #define M4_Price 5000
  27. #define Sniper_Price 7000
  28. #define Deagle_Price 2000
  29.  
  30. #define DIALOG_REGISTER 100
  31. #define DIALOG_LOGIN 101
  32. #define DIALOG_USWEAP 105
  33. #define DIALOG_RUSWEAP 106
  34.  
  35. #define PATH "/Users/%s.ini"
  36.  
  37. enum PlayerInfo
  38. {
  39. Password[32],
  40. LastJoin,
  41. RegisterDate,
  42. Level,
  43. Admin,
  44. Kills,
  45. Deaths
  46.  
  47. }
  48. new pData[MAX_PLAYERS][PlayerInfo];
  49.  
  50. new Logged[MAX_PLAYERS];
  51. new gTeam[MAX_PLAYERS];
  52. new USpickup, RUSpickup;
  53. new RUSzone, USzone;
  54. new Text:Kill[MAX_PLAYERS], Text:Death[MAX_PLAYERS];
  55.  
  56. main()
  57. {
  58. printf("Mod Loaded.");
  59. }
  60.  
  61. public OnGameModeInit()
  62. {
  63. SetGameModeText("BETA");
  64. // United Stats GangZone
  65. USzone = GangZoneCreate(190.4296875,2112.3046875,392.578125,1819.3359375);
  66. // United Stats Army - Vehicles
  67. AddStaticVehicle(520,276.9474,1950.7498,18.3577,274.1635,0,120); // hydra 1
  68. AddStaticVehicle(520,276.6344,1960.4431,18.3638,268.7003,0,120); // hydra 2
  69. AddStaticVehicle(520,278.3421,1993.4989,18.3638,272.1986,0,120); // hydra 3
  70. AddStaticVehicle(520,278.6621,1983.4080,18.3480,270.5521,0,120); // hydra 4
  71. AddStaticVehicle(432,307.7282,2055.8074,17.6496,179.5969,0,120); // tank 1
  72. AddStaticVehicle(432,317.7924,2055.5388,17.6515,179.7645,0,120); // tank 2
  73. AddStaticVehicle(432,298.5686,2055.6853,17.6503,180.6321,0,120); // tank 3
  74. AddStaticVehicle(433,282.0325,1796.0768,18.0773,268.7874,0,120); // barracks 1
  75. AddStaticVehicle(433,282.1792,1787.1847,18.0803,269.3807,0,120); // barracks 2
  76. AddStaticVehicle(425,348.0093,1978.0978,18.2127,86.4018,0,1); // hunter 1
  77. AddStaticVehicle(425,348.0415,1993.0337,18.1926,90.2142,0,1); // hunter 2
  78. AddStaticVehicle(417,219.6280,1985.8776,17.6877,178.5884,0,1); // leviathan 1
  79. AddStaticVehicle(417,219.0896,2007.9027,17.7305,182.1686,0,1); // leviathan 2
  80. AddStaticVehicle(568,191.0165,1949.4080,17.5286,268.1275,0,1); // bandito 1
  81. AddStaticVehicle(568,191.0311,1953.0198,17.5228,270.4305,0,1); // bandito 2
  82. AddStaticVehicle(568,191.0143,1956.9258,17.5276,271.2031,0,1); // bandito 3
  83. AddStaticVehicle(568,191.0513,1945.6154,17.5219,270.2034,0,1); // bandito 4
  84. AddStaticVehicle(470,349.0572,1910.0056,17.6349,92.3762,0,1); // patriot 1
  85. AddStaticVehicle(470,348.9852,1899.1877,17.6332,92.0082,0,1); // patriot 2
  86. AddStaticVehicle(470,348.8932,1904.6464,17.6355,90.6451,0,1); // patriot 3
  87. AddStaticVehicle(470,349.0891,1893.8711,17.6325,91.6534,0,1); // patriot 4
  88. AddStaticVehicle(470,349.7997,1888.6250,17.6428,98.0019,0,1); // patriot 5
  89. AddStaticVehicle(548,348.5434,1959.4980,19.2079,87.4070,0,1); // cargobob 1
  90. AddStaticVehicle(548,348.2880,1939.5142,19.2772,88.2815,0,1); // cargobob 2
  91. AddStaticVehicle(433,350.0333,1916.3557,18.0773,91.9029,0,1); // barracks 3
  92. AddStaticVehicle(433,349.5415,1923.1307,18.0773,94.0298,0,1); // barracks 4
  93.  
  94. // United States Army - Weapon section Objects
  95. CreateObject(3577, 268.39999389648, 2014.9000244141, 17.39999961853, 0, 0, 270, 500);
  96. CreateObject(3576, 268.70001220703, 2018.0999755859, 18.10000038147, 0, 0, 180, 500);
  97. CreateObject(3630, 268.20001220703, 2024.4000244141, 18.10000038147, 0, 0, 270, 500);
  98. CreateObject(5261, 274.89999389648, 2037.0999755859, 17.799995422363, 0, 0, 0, 500);
  99. // United States Shop Pickup
  100. USpickup = CreatePickup(1239,1,271.926330,2023.540527,17.640625,-1);
  101.  
  102. //Russian Army - Vehicles
  103. AddStaticVehicle(520,413.2222,2440.7971,17.2232,357.0152,0,1); // hydra 1
  104. AddStaticVehicle(520,394.7773,2440.7170,17.2233,359.3245,0,120); // hydra 2
  105. AddStaticVehicle(520,394.6532,2457.7437,17.2232,0.3597,0,1); // hydra 3
  106. AddStaticVehicle(520,413.3132,2458.3267,17.2232,0.3008,0,120); // hydra 4
  107. AddStaticVehicle(425,349.4205,2538.8940,17.3029,179.5334,0,1); // hunter 1
  108. AddStaticVehicle(425,384.4389,2539.3589,17.0983,181.1054,0,1); // hunter 2
  109. AddStaticVehicle(548,365.6847,2538.4663,18.3337,179.1425,0,1); // cargobob 1
  110. AddStaticVehicle(548,366.6213,2468.3203,18.1839,358.7231,0,1); // cargobob 2
  111. AddStaticVehicle(417,325.2028,2537.8296,16.8950,177.6110,0,1); // leviathan 1
  112. AddStaticVehicle(417,290.6108,2538.3411,16.9101,178.8044,0,1); // leviathan 2
  113. AddStaticVehicle(432,432.2537,2493.8440,16.4967,88.6019,0,1); // rhino 1
  114. AddStaticVehicle(432,432.3188,2504.5332,16.4983,88.6204,0,1); // rhino 2
  115. AddStaticVehicle(432,432.4110,2517.3831,16.5300,89.1099,0,1); // rhino 3
  116. AddStaticVehicle(433,337.2943,2475.7786,16.9237,90.0168,0,1); // barracks 1
  117. AddStaticVehicle(433,325.3548,2475.7942,16.9395,92.2896,0,1); // barracks 2
  118. AddStaticVehicle(433,313.2564,2475.1326,16.9257,92.1521,0,1); // barracks 3
  119. AddStaticVehicle(433,300.9044,2474.6094,16.9200,93.0636,0,1); // barracks 4
  120. AddStaticVehicle(433,288.5765,2474.4963,16.9177,91.5582,0,1); // barracks 5
  121. AddStaticVehicle(470,273.6196,2474.5349,16.4888,39.9745,0,1); // patriot 1
  122. AddStaticVehicle(470,267.8386,2474.4810,16.5161,39.8824,0,1); // patriot 2
  123. AddStaticVehicle(470,261.6794,2474.2866,16.4717,42.2721,0,1); // patriot 3
  124. AddStaticVehicle(470,255.7438,2474.2229,16.4709,39.3041,0,1); // patriot 4
  125. AddStaticVehicle(470,249.9809,2474.6157,16.4735,35.7254,0,1); // patriot 5
  126. AddStaticVehicle(568,239.7596,2528.9717,16.6404,89.1013,0,1); // bandito 1
  127. AddStaticVehicle(568,231.7685,2529.1121,16.6137,88.9019,0,1); // bandito 2
  128. AddStaticVehicle(568,223.6536,2529.1057,16.6415,91.2955,0,1); // bandito 2
  129.  
  130. // Russia GangZone
  131. RUSzone = GangZoneCreate(457.03125,2563.4765625,73.2421875,2422.8515625);
  132. //Russian Army - Weapon section Objects
  133. CreateObject(3577, 268.39999389648, 2014.9000244141, 17.39999961853, 0, 0, 270);
  134. CreateObject(3576, 268.70001220703, 2018.0999755859, 18.10000038147, 0, 0, 180);
  135. CreateObject(3630, 268.20001220703, 2024.4000244141, 18.10000038147, 0, 0, 270);
  136. CreateObject(5261, 274.89999389648, 2037.0999755859, 17.799995422363, 0, 0, 0);
  137. CreateObject(1337, 286.5576171875, 2014.1923828125, 19.053409576416, 0, 0, 0);
  138. CreateObject(1337, 269, 2015.0999755859, 18.201992034912, 90, 0, 0);
  139. CreateObject(1337, 269.10000610352, 2013.8000488281, 18.239999771118, 90, 0, 2);
  140. CreateObject(1337, 268.89999389648, 2017.4000244141, 19.659900665283, 0, 0, 0);
  141. CreateObject(1337, 268.89999389648, 2018.1999511719, 19.659999847412, 0, 0, 0);
  142. CreateObject(3630, 428.20001220703, 245, 16.700000762939, 0, 0, 90);
  143. CreateObject(5262, 425.70001220703, 2547.5, 18.200000762939, 0, 0, 0);
  144. // Russia Shop Pickup
  145. RUSpickup = CreatePickup(1239,1,424.251708,2548.501708,16.256595,-1);
  146.  
  147. return 1;
  148. }
  149.  
  150. public OnGameModeExit()
  151. {
  152. return 1;
  153. }
  154.  
  155. public OnPlayerRequestClass(playerid, classid)
  156. {
  157. return 1;
  158. }
  159.  
  160. public OnPlayerConnect(playerid)
  161. {
  162. new string[158];
  163. format(string, sizeof(string), "SERVER: %s joined the server", GetName(playerid));
  164. SendClientMessageToAll(COLOR_WHITE, string);
  165. // Kill/Death Textdraw Create
  166. Kill[playerid] = TextDrawCreate(395.000000, 170.000000, " ");
  167. Death[playerid] = TextDrawCreate(395.000000, 170.000000, " ");
  168. if(!fexist(UserPath(playerid)))
  169. {
  170. format(string, sizeof(string), "Welcome to {0000FF}BETA %s{a9c4e4}, Your username didn't found in our database.\nType your {FF0000}password{a9c4e4}, for login in the next times.", GetName(playerid));
  171. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", string, "Register", "Cancel");
  172. }
  173. else
  174. {
  175. INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  176. format(string, sizeof(string), "Welcome back {0000FF}%s{a9c4e4}, to {0000FF}BETA.\n{a9c4e4}Enter your {FF0000}password {a9c4e4}below to login.", GetName(playerid));
  177. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Cancel");
  178. }
  179. return 1;
  180. }
  181.  
  182. public OnPlayerDisconnect(playerid, reason)
  183. {
  184. new string[150];
  185. gTeam[playerid] = 0;
  186. TextDrawDestroy(Kill[playerid]);
  187. TextDrawDestroy(Death[playerid]);
  188. if(Logged[playerid] == 1)
  189. {
  190. new hour,minute,second;
  191. new year,month,day;
  192. gettime(hour,minute,second);
  193. getdate(year,month,day);
  194. format(string, sizeof(string), "%d:%d:%d %d/%d/%d", hour,minute,second, day,month,year);
  195. new INI:File = INI_Open(UserPath(playerid));
  196. INI_WriteString(File, "LastJoin", string);
  197. INI_WriteInt(File, "Level", 1);
  198. INI_WriteInt(File, "Admin", 0);
  199. INI_WriteInt(File, "Kills", 0);
  200. INI_WriteInt(File, "Deaths", 0);
  201. INI_Close(File);
  202. format(string, sizeof(string), "SERVER: %s left the server (%s)", GetName(playerid), reason);
  203. SendClientMessageToAll(COLOR_WHITE, string);
  204. }
  205. return 1;
  206. }
  207.  
  208. public OnPlayerSpawn(playerid)
  209. {
  210. SetPlayerMoney(playerid, 20000);
  211. GangZoneShowForPlayer(playerid, RUSzone, 0xFF0000FF);
  212. GangZoneShowForPlayer(playerid, USzone, 0x0000BBAA);
  213. TextDrawHideForPlayer(playerid, Kill[playerid]);
  214. TextDrawHideForPlayer(playerid, Death[playerid]);
  215. if(gTeam[playerid] == 1) return SetPlayerColor(playerid, 0x0000BBAA);
  216. if(gTeam[playerid] == 2) return SetPlayerColor(playerid, 0xFF0000FF);
  217. return 1;
  218. }
  219.  
  220. public OnPlayerDeath(playerid, killerid, reason)
  221. {
  222. if(killerid !=INVALID_PLAYER_ID)
  223. {
  224. pData[killerid][Kills]++;
  225. }
  226. pData[playerid][Deaths]++;
  227. new string[60];
  228. new killer[MAX_PLAYER_NAME];
  229. GetPlayerName(killerid, killer, sizeof(killer));
  230.  
  231. format(string, sizeof(string), "~gKilled by ~w%s", killer);
  232. TextDrawAlignment(Kill[playerid], 1);
  233. TextDrawFont(Kill[playerid], 3);
  234. TextDrawLetterSize(Kill[playerid],24.000000,13.000000);
  235. TextDrawSetOutline(Kill[playerid],1);
  236. TextDrawSetProportional(Kill[playerid],1);
  237. TextDrawSetShadow(Kill[playerid], 2);
  238. TextDrawShowForPlayer(playerid, Kill[playerid]);
  239.  
  240. format(string, sizeof(string), "~gYou killed ~w%s", GetName(playerid));
  241. TextDrawAlignment(Death[killerid], 1);
  242. TextDrawFont(Death[killerid], 3);
  243. TextDrawLetterSize(Death[killerid],24.000000,13.000000);
  244. TextDrawSetOutline(Death[killerid],1);
  245. TextDrawSetProportional(Death[killerid],1);
  246. TextDrawSetShadow(Death[killerid], 2);
  247. TextDrawShowForPlayer(killerid, Death[killerid]);
  248.  
  249. return 1;
  250. }
  251.  
  252. public OnVehicleSpawn(vehicleid)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnVehicleDeath(vehicleid, killerid)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnPlayerText(playerid, text[])
  263. {
  264. return 1;
  265. }
  266.  
  267. CMD:stats(playerid, params[])
  268. {
  269. new id, string[150];
  270. if(Logged[playerid] == 1)
  271. {
  272. if(sscanf(params, "u", id))
  273. {
  274. format(string, sizeof(string), "____________________|%s's Stats|____________________", GetName(playerid));
  275. SendClientMessage(playerid, COLOR_GREEN, string);
  276. format(string, sizeof(string), "Register Date: %s | Level: %d | Army: ", pData[playerid][RegisterDate], pData[playerid][Level]);
  277. SendClientMessage(playerid, COLOR_WHITE, string);
  278. format(string, sizeof(string), "Kills: %d | Deaths: %d", pData[playerid][Kills], pData[playerid][Deaths]);
  279. SendClientMessage(playerid, COLOR_WHITE, string);
  280. SendClientMessage(playerid, COLOR_GREEN, "____________________|End of Stats|___________________");
  281. } else {
  282. if(id == playerid || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE, "Invalid player id, or this your id");
  283. format(string, sizeof(string), "____________________|%s's Stats|____________________", GetName(id));
  284. SendClientMessage(playerid, COLOR_GREEN, string);
  285. format(string, sizeof(string), "Register Date: %s | Level: %d | Army: ", pData[id][RegisterDate], pData[id][Level]);
  286. SendClientMessage(playerid, COLOR_WHITE, string);
  287. format(string, sizeof(string), "Kills: %d | Deaths: %d", pData[id][Kills], pData[id][Deaths]);
  288. SendClientMessage(playerid, COLOR_WHITE, string);
  289. SendClientMessage(playerid, COLOR_GREEN, "____________________|End of Stats|___________________");
  290. }
  291. }
  292. return 1;
  293. }
  294.  
  295. public OnPlayerCommandText(playerid, cmdtext[])
  296. {
  297. return 1;
  298. }
  299.  
  300. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  301. {
  302. return 1;
  303. }
  304.  
  305. public OnPlayerExitVehicle(playerid, vehicleid)
  306. {
  307. return 1;
  308. }
  309.  
  310. public OnPlayerStateChange(playerid, newstate, oldstate)
  311. {
  312. return 1;
  313. }
  314.  
  315. public OnPlayerEnterCheckpoint(playerid)
  316. {
  317. return 1;
  318. }
  319.  
  320. public OnPlayerLeaveCheckpoint(playerid)
  321. {
  322. return 1;
  323. }
  324.  
  325. public OnPlayerEnterRaceCheckpoint(playerid)
  326. {
  327. return 1;
  328. }
  329.  
  330. public OnPlayerLeaveRaceCheckpoint(playerid)
  331. {
  332. return 1;
  333. }
  334.  
  335. public OnRconCommand(cmd[])
  336. {
  337. return 1;
  338. }
  339.  
  340. public OnPlayerRequestSpawn(playerid)
  341. {
  342. if(gTeam[playerid] == 0)
  343. {
  344. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You didn't choosed Army/Skin");
  345. return 0;
  346. }
  347.  
  348. return 1;
  349. }
  350.  
  351. public OnObjectMoved(objectid)
  352. {
  353. return 1;
  354. }
  355.  
  356. public OnPlayerObjectMoved(playerid, objectid)
  357. {
  358. return 1;
  359. }
  360.  
  361. public OnPlayerPickUpPickup(playerid, pickupid)
  362. {
  363. if(pickupid == USpickup)
  364. {
  365. if(gTeam[playerid] == 1)
  366. {
  367. new string[255];
  368. format(string, sizeof(string), "M4 Carbine %d$\nSniper Rifle %d$\nDesert Eagle %d$", M4_Price, Sniper_Price, Deagle_Price);
  369. ShowPlayerDialog(playerid, DIALOG_USWEAP, DIALOG_STYLE_LIST, "Weapons shop - US Army", string, "Purchase", "Cancel");
  370. }
  371. }
  372. if(pickupid == RUSpickup)
  373. {
  374. if(gTeam[playerid] == 2)
  375. {
  376. new string[255];
  377. format(string, sizeof(string), "Ak47 %d$\nSniper Rifle %d$\nDesert Eagle %d$", Ak47_Price, Sniper_Price, Deagle_Price);
  378. ShowPlayerDialog(playerid, DIALOG_RUSWEAP, DIALOG_STYLE_LIST, "Weapons shop - Russian Army", string, "Purchase", "Cancel");
  379. }
  380. }
  381. return 1;
  382. }
  383.  
  384. public OnVehicleMod(playerid, vehicleid, componentid)
  385. {
  386. return 1;
  387. }
  388.  
  389. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  390. {
  391. return 1;
  392. }
  393.  
  394. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  395. {
  396. return 1;
  397. }
  398.  
  399. public OnPlayerSelectedMenuRow(playerid, row)
  400. {
  401. return 1;
  402. }
  403.  
  404. public OnPlayerExitedMenu(playerid)
  405. {
  406. return 1;
  407. }
  408.  
  409. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  410. {
  411. return 1;
  412. }
  413.  
  414. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  415. {
  416. return 1;
  417. }
  418.  
  419. public OnRconLoginAttempt(ip[], password[], success)
  420. {
  421. return 1;
  422. }
  423.  
  424. public OnPlayerUpdate(playerid)
  425. {
  426. return 1;
  427. }
  428.  
  429. public OnPlayerStreamIn(playerid, forplayerid)
  430. {
  431. return 1;
  432. }
  433.  
  434. public OnPlayerStreamOut(playerid, forplayerid)
  435. {
  436. return 1;
  437. }
  438.  
  439. public OnVehicleStreamIn(vehicleid, forplayerid)
  440. {
  441. return 1;
  442. }
  443.  
  444. public OnVehicleStreamOut(vehicleid, forplayerid)
  445. {
  446. return 1;
  447. }
  448.  
  449. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  450. {
  451. new string[200];
  452. switch(dialogid)
  453. {
  454. case DIALOG_REGISTER:
  455. {
  456. if(!response) return Kick(playerid);
  457. if(strlen(inputtext) < 4 || strlen(inputtext) > 32)
  458. {
  459. format(string, sizeof(string), "Welcome to {0000FF}BETA %s{a9c4e4}, Your username didn't found in our database.\nType your {FF0000}password{a9c4e4}, for login in the next times.\n{FF0000}ERROR: Type password between 4-32 characters", GetName(playerid));
  460. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", string, "Register", "Cancel");
  461. return 0;
  462. }
  463. new hour,minute,second;
  464. new year,month,day;
  465. gettime(hour,minute,second);
  466. getdate(year,month,day);
  467. format(string, sizeof(string), "%d:%d:%d %d/%d/%d", hour,minute,second, day,month,year);
  468. new INI:File = INI_Open(UserPath(playerid));
  469. INI_WriteString(File, "Password", hash(inputtext));
  470. INI_WriteString(File, "LastJoin", "None");
  471. INI_WriteString(File, "RegisterDate", string);
  472. INI_WriteInt(File, "Level", 1);
  473. INI_WriteInt(File, "Admin", 0);
  474. INI_WriteInt(File, "Kills", 0);
  475. INI_WriteInt(File, "Deaths", 0);
  476. INI_Close(File);
  477. format(string, sizeof(string), "Congratulations {0000FF}%s{a9c4e4}, You have been registered successfully.\ntype your {FF0000}password {a9c4e4}again to login.", GetName(playerid));
  478. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Cancel");
  479. format(string, sizeof(string), "SERVER: %s has been registered to the server!", GetName(playerid));
  480. SendClientMessageToAll(COLOR_WHITE, string);
  481. return 1;
  482. }
  483. case DIALOG_LOGIN:
  484. {
  485. if(!response) return Kick(playerid);
  486. if(strlen(inputtext) < 4 || strlen(inputtext) > 32)
  487. {
  488. format(string, sizeof(string), "Welcome back {0000FF}%s{a9c4e4}, to {0000FF}BETA.\n{a9c4e4}Enter your {FF0000}password {a9c4e4}below to login.\n{FF0000}ERROR: Type password between 4-32 characters", GetName(playerid));
  489. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Cancel");
  490. return 0;
  491. }
  492. if(strcmp(pData[playerid][Password], inputtext))
  493. {
  494. format(string, sizeof(string), "Welcome back {0000FF}%s{a9c4e4}, to {0000FF}BETA.\n{a9c4e4}Enter your {FF0000}password {a9c4e4}below to login.\n{FF0000}ERROR: Invalid Password!", GetName(playerid));
  495. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Cancel");
  496. format(string, sizeof(string), "%s[Server:]{FF0000}Invalid Password!", COLOR_WHITE);
  497. SendClientMessage(playerid, COLOR_RED, string);
  498. return 0;
  499. }
  500. ShowPlayerDialog(playerid, 102, DIALOG_STYLE_LIST, "Choose Team", "United States\nRussia", "Ok", "");
  501. SetPlayerScore(playerid, pData[playerid][Level]);
  502. return 1;
  503. }
  504. case 102:
  505. {
  506. if(!response) return 0;
  507. switch(listitem)
  508. {
  509. case 0:
  510. {
  511. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ok, so you're in United States Army!");
  512. gTeam[playerid] = 1;
  513. ShowPlayerDialog(playerid, 103, DIALOG_STYLE_LIST, "Choose Skin", "Army(287)\nSWAT(285)", "Ok", "");
  514. return 0;
  515. }
  516. case 1:
  517. {
  518. gTeam[playerid] = 2;
  519. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ok, so you're in Russian Army!");
  520. ShowPlayerDialog(playerid, 104, DIALOG_STYLE_LIST, "Choose Skin", "Russian 1(124)\nRussian2(125)", "Ok", "");
  521. return 0;
  522. }
  523. }
  524. }
  525. case 103:
  526. {
  527. if(!response) return 0;
  528. switch(listitem)
  529. {
  530. case 0,1:
  531. {
  532. SetSpawnInfo(playerid,0,287,288.8022,2024.3110,17.6406,269.6893,0,0,0,0,0,0);
  533. SpawnPlayer(playerid);
  534. Logged[playerid] = 1;
  535. format(string, sizeof(string), "SERVER: %s is now logged the server (%s)", GetName(playerid));
  536. SendClientMessageToAll(COLOR_WHITE, string);
  537. }
  538. }
  539. }
  540. case 104:
  541. {
  542. if(!response) return 0;
  543. switch(listitem)
  544. {
  545. case 0,1:
  546. {
  547. SetSpawnInfo(playerid,0,124,405.1613,2536.8733,16.5461,157.2747,0,0,0,0,0,0);
  548. SpawnPlayer(playerid);
  549. Logged[playerid] = 1;
  550. format(string, sizeof(string), "SERVER: %s is now logged the server (%s)", GetName(playerid));
  551. SendClientMessageToAll(COLOR_WHITE, string);
  552. }
  553. }
  554. }
  555. case DIALOG_USWEAP:
  556. {
  557. if(response && gTeam[playerid] == 1)
  558. {
  559. switch(listitem)
  560. {
  561. case 0:
  562. {
  563. if(GetPlayerMoney(playerid) < M4_Price)
  564. {
  565. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  566. return 0;
  567. }
  568. GivePlayerWeapon(playerid, 31, 4000);
  569. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-M4_Price);
  570. format(string, sizeof(string), "SERVER: %s You bought M4 for %d",GetName(playerid),M4_Price);
  571. SendClientMessage(playerid, COLOR_GREEN, string);
  572. return 1;
  573. // M4
  574. }
  575. case 1:
  576. {
  577. if(GetPlayerMoney(playerid) < Sniper_Price)
  578. {
  579. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  580. return 0;
  581. }
  582. GivePlayerWeapon(playerid, 34, 999);
  583. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-Sniper_Price);
  584. format(string, sizeof(string), "SERVER: %s You bought Sniper for %d",GetName(playerid),Sniper_Price);
  585. SendClientMessage(playerid, COLOR_GREEN, string);
  586. return 1;
  587. // Sniper
  588. }
  589. case 2:
  590. {
  591. if(GetPlayerMoney(playerid) < Deagle_Price)
  592. {
  593. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  594. return 0;
  595. }
  596. GivePlayerWeapon(playerid, 24, 4000);
  597. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-Deagle_Price);
  598. format(string, sizeof(string), "SERVER: %s You bought Desert Eagle for %d",GetName(playerid),Deagle_Price);
  599. SendClientMessage(playerid, COLOR_GREEN, string);
  600. return 1;
  601. // Deagle
  602. }
  603. }
  604. }
  605. }
  606. case DIALOG_RUSWEAP:
  607. {
  608. if(response && gTeam[playerid] == 2)
  609. {
  610. switch(listitem)
  611. {
  612. case 0:
  613. {
  614. if(GetPlayerMoney(playerid) < Ak47_Price)
  615. {
  616. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  617. return 0;
  618. }
  619. GivePlayerWeapon(playerid, 30, 4000);
  620. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-Ak47_Price);
  621. format(string, sizeof(string), "SERVER: %s You bought Ak47 for %d",GetName(playerid),Ak47_Price);
  622. SendClientMessage(playerid, COLOR_GREEN, string);
  623. return 1;
  624. // Ak47
  625. }
  626. case 1:
  627. {
  628. if(GetPlayerMoney(playerid) < Sniper_Price)
  629. {
  630. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  631. return 0;
  632. }
  633. GivePlayerWeapon(playerid, 34, 999);
  634. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-Sniper_Price);
  635. format(string, sizeof(string), "SERVER: %s You bought Sniper for %d",GetName(playerid),Sniper_Price);
  636. SendClientMessage(playerid, COLOR_GREEN, string);
  637. return 1;
  638. // Sniper
  639. }
  640. case 2:
  641. {
  642. if(GetPlayerMoney(playerid) < Deagle_Price)
  643. {
  644. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You don't have enough money!");
  645. return 0;
  646. }
  647. GivePlayerWeapon(playerid, 24, 4000);
  648. SetPlayerMoney(playerid, GetPlayerMoney(playerid)-Deagle_Price);
  649. format(string, sizeof(string), "SERVER: %s You bought Desert Eagle for %d",GetName(playerid),Deagle_Price);
  650. SendClientMessage(playerid, COLOR_GREEN, string);
  651. return 1;
  652. // Deagle
  653. }
  654. }
  655. }
  656. }
  657. }
  658. return 1;
  659. }
  660.  
  661. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  662. {
  663. return 1;
  664. }
  665.  
  666. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  667. {
  668. if(issuerid != INVALID_PLAYER_ID)
  669. {
  670. new Float:Health;
  671. GetPlayerHealth(playerid, Health);
  672. if(gTeam[playerid] == 1 && gTeam[issuerid] == 1 || gTeam[playerid] == 2 && gTeam[issuerid] == 2)
  673. {
  674. SetPlayerHealth(playerid,Health);
  675. return 0;
  676. }
  677. if(GetPlayerWeapon(issuerid) == 31) return SetPlayerHealth(playerid, Health-25);
  678. }
  679. return 1;
  680. }
  681.  
  682. forward LoadUser_Data(playerid,name[],value[]);
  683. public LoadUser_Data(playerid,name[],value[])
  684. {
  685. INI_Int("Password",pData[playerid][Password]);
  686. INI_Int("Admin",pData[playerid][Admin]);
  687. INI_Int("Level",pData[playerid][Level]);
  688. INI_Int("Kills",pData[playerid][Kills]);
  689. INI_Int("Deaths",pData[playerid][Deaths]);
  690. return 1;
  691. }
  692.  
  693. stock GetName(playerid)
  694. {
  695. new pName[MAX_PLAYER_NAME];
  696. GetPlayerName(playerid, pName, sizeof(pName));
  697. return pName;
  698. }
  699.  
  700. stock GetPlayerIP(playerid)
  701. {
  702. new ip[30];
  703. GetPlayerIp(playerid, ip, 30);
  704. return ip;
  705. }
  706.  
  707. stock UserPath(playerid)
  708. {
  709. new string[128];
  710.  
  711. format(string,sizeof(string),PATH,GetName(playerid));
  712. return string;
  713. }
  714.  
  715. stock GetPlayerFile(playerid)
  716. {
  717. new file[128];
  718. format(file, sizeof(file), "Users/%s.ini", GetName(playerid));
  719. return file;
  720. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement