Guest User

J_Class and Rank System

a guest
Oct 25th, 2012
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 41.53 KB | None | 0 0
  1. /*
  2.  
  3. J_Classes.. a simple rank and class system by Jarnu :)
  4.  
  5. Features:
  6.  
  7. -6 Classes with different features!
  8. -12 Ranks with bonus at each rank!
  9. -Awesome Textdraws
  10. -Unique class selection with clickable textdraws!
  11. -Awesome for TDM/DM Servers
  12. -Health according to rank!
  13.  
  14. */
  15.  
  16.  
  17. #include <a_samp>
  18. #include <zcmd> //Credits to Zeex
  19.  
  20. //------[ Class Defines ] --------------
  21. #define SOLDIER_CLASS 0
  22. #define HUNTER_CLASS 1
  23. #define SNIPER_CLASS 2
  24. #define AIRMAN_CLASS 3
  25. #define ENGINEER_CLASS 4
  26. #define MARSHAL_CLASS 5
  27.  
  28. #define MAX_CLASSES 6 //Maximum Classes
  29.  
  30. //----------- [ Colors ] ----------------
  31. #define GREEN 0x15FF00AA
  32. #define RED 0xFF0000FF
  33. #define BLUE 0x375FFFFF
  34. #define COLOR_WHITE 0xFFFFFFFF
  35. #define YELLOW 0xF2FF00AA
  36. #define GREY 0xAAAAAAAA
  37. //------
  38. #define COL_WHITE "{FFFFFF}"
  39. #define COL_RED "{F81414}"
  40. #define COL_GREEN "{00FF22}"
  41. #define COL_LIGHTBLUE "{00CED1}"
  42. #define cgreen "{00FF22}"
  43. //------------ [ Textdraw variables ] -------
  44. new Text:Soldier[MAX_PLAYERS];
  45. new Text:Sniper[MAX_PLAYERS];
  46. new Text:Hunter[MAX_PLAYERS];
  47. new Text:Airman[MAX_PLAYERS];
  48. new Text:Engineer[MAX_PLAYERS];
  49. new Text:Marshal[MAX_PLAYERS];
  50. new Text:Rank[MAX_PLAYERS];
  51. new Text:cBox;
  52. new Text:Done[MAX_PLAYERS];
  53. new Text:DesText[MAX_PLAYERS];
  54. new Text:WeapText[MAX_PLAYERS];
  55. new Text:AbText[MAX_PLAYERS];
  56. new Text:TextBox[MAX_PLAYERS];
  57. //---------- [ Variables ] -------------
  58. new pFirstSpawn[MAX_PLAYERS];
  59. new gClass[MAX_PLAYERS];
  60. new Selected[MAX_PLAYERS];
  61. //===================Rank Scores definations====================================
  62. #define RANK0 0 //Rookie
  63. #define RANK1 100 //Private
  64. #define RANK2 250 //Corporal
  65. #define RANK3 400 //Sergeant
  66. #define RANK4 550 //Sergeant Lieutinent
  67. #define RANK5 700 //Lieutinent
  68. #define RANK6 1000 //Lieutinent Major
  69. #define RANK7 1500 //Lieutinent General
  70. #define RANK8 3000 //Major
  71. #define RANK9 4000 //General Major
  72. #define RANK10 6000 //General Colonel
  73. #define RANK11 7500 //General
  74. #define RANK12 10000 //Brigadier
  75. //===================Rank Name definations======================================
  76. #define RANK0NAME "Rookie"
  77. #define RANK1NAME "Private"
  78. #define RANK2NAME "Corporal"
  79. #define RANK3NAME "Sergeant"
  80. #define RANK4NAME "Sergeant Lieutinent"
  81. #define RANK5NAME "Lieutinent"
  82. #define RANK6NAME "Lieutinent Major"
  83. #define RANK7NAME "Lieutinent General"
  84. #define RANK8NAME "Major"
  85. #define RANK9NAME "General Major"
  86. #define RANK10NAME "General Colonel"
  87. #define RANK11NAME "General"
  88. #define RANK12NAME "Brigadier"
  89. //==============================================================================
  90. //---------------- [ Spawn Message under OnPlayerSpawn] ------------------------
  91.  
  92. /*
  93.  
  94. Usage:
  95. Is used to send the message when the player is spawned!
  96. Can be used under OnPlayerSpawn
  97. */
  98. stock SpawnMessage(playerid)
  99. {
  100. if(gClass[playerid] == SOLDIER_CLASS)
  101. {
  102. new string[100], str[100], stri[100];
  103. strcat(str, "You are currently SOLDIER");
  104. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  105. SendClientMessage(playerid, COLOR_WHITE, string);
  106. SendClientMessage(playerid, COLOR_WHITE, str);
  107. SendClientMessage(playerid, COLOR_WHITE, stri);
  108. }
  109. else if(gClass[playerid] == SNIPER_CLASS)
  110. {
  111. new string[100], str[100], stri[100];
  112. strcat(str, "You are currently SNIPER");
  113. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  114. SendClientMessage(playerid, COLOR_WHITE, string);
  115. SendClientMessage(playerid, COLOR_WHITE, str);
  116. SendClientMessage(playerid, COLOR_WHITE, stri);
  117. }
  118. else if(gClass[playerid] == HUNTER_CLASS)
  119. {
  120. new string[100], str[100], stri[100];
  121. strcat(str, "You are currently HUNTER");
  122. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  123. SendClientMessage(playerid, COLOR_WHITE, string);
  124. SendClientMessage(playerid, COLOR_WHITE, str);
  125. SendClientMessage(playerid, COLOR_WHITE, stri);
  126. }
  127. else if(gClass[playerid] == MARSHAL_CLASS)
  128. {
  129. new string[100], str[100], stri[100];
  130. strcat(str, "You are currently MARSHAL");
  131. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  132. SendClientMessage(playerid, COLOR_WHITE, string);
  133. SendClientMessage(playerid, COLOR_WHITE, str);
  134. SendClientMessage(playerid, COLOR_WHITE, stri);
  135. }
  136. else if(gClass[playerid] == AIRMAN_CLASS)
  137. {
  138. new string[100], str[100], stri[100];
  139. strcat(str, "You are currently AIRMAN");
  140. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  141. SendClientMessage(playerid, COLOR_WHITE, string);
  142. SendClientMessage(playerid, COLOR_WHITE, str);
  143. SendClientMessage(playerid, COLOR_WHITE, stri);
  144. }
  145. else if(gClass[playerid] == ENGINEER_CLASS)
  146. {
  147. new string[100], str[100], stri[100];
  148. strcat(str, "You are currently ENGINEER");
  149. strcat(stri, "{AAAAAA}*Read /chelp for more help!");
  150. SendClientMessage(playerid, COLOR_WHITE, string);
  151. SendClientMessage(playerid, COLOR_WHITE, str);
  152. SendClientMessage(playerid, COLOR_WHITE, stri);
  153. }
  154. return 1;
  155. }
  156. //------------------------- [ CHANGE TEXT DRAW STOCK ] -------------------------
  157. /*
  158.  
  159. Usage:
  160. It is used to change the textdraw string of description!
  161. */
  162.  
  163. stock ChangeTextDraw(playerid)
  164. {
  165. if(Selected[playerid] == SOLDIER_CLASS)
  166. {
  167. TextDrawShowForPlayer(playerid, DesText[playerid]);
  168. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  169. TextDrawShowForPlayer(playerid, AbText[playerid]);
  170. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  171. new str[100], str1[100], str2[100];
  172. format(str, sizeof(str),"~r~Description: ~w~Powerfull Class, Good~n~against ground infantry");
  173. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 CombatShotGun ~n~Deagle TearGas");
  174. format(str2, sizeof(str2),"~g~Abilities: ~w~Can drive Rhino");
  175. TextDrawSetString(DesText[playerid], str);
  176. TextDrawSetString(WeapText[playerid], str1);
  177. TextDrawSetString(AbText[playerid], str2);
  178. }
  179. else if(Selected[playerid] == SNIPER_CLASS)
  180. {
  181. TextDrawShowForPlayer(playerid, DesText[playerid]);
  182. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  183. TextDrawShowForPlayer(playerid, AbText[playerid]);
  184. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  185. new str[100], str1[100], str2[100];
  186. format(str, sizeof(str),"~r~Description: ~w~Good for FarSight~n~Killings");
  187. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 SniperRilfe MP5 ~n~Molotov");
  188. format(str2, sizeof(str2),"~g~Abilities: ~w~Invisible on map!");
  189. TextDrawSetString(DesText[playerid], str);
  190. TextDrawSetString(WeapText[playerid], str1);
  191. TextDrawSetString(AbText[playerid], str2);
  192. }
  193. else if(Selected[playerid] == AIRMAN_CLASS)
  194. {
  195. TextDrawShowForPlayer(playerid, DesText[playerid]);
  196. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  197. TextDrawShowForPlayer(playerid, AbText[playerid]);
  198. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  199. new str[100], str1[100], str2[100];
  200. format(str, sizeof(str),"~r~Description: ~w~AirClass!Best for heavy~n~killing sprees");
  201. format(str1, sizeof(str1),"~y~Weapons: ~w~MP5 Molotov M4");
  202. format(str2, sizeof(str2),"~g~Abilities: ~w~Can fly air vehicles");
  203. TextDrawSetString(DesText[playerid], str);
  204. TextDrawSetString(WeapText[playerid], str1);
  205. TextDrawSetString(AbText[playerid], str2);
  206. }
  207. else if(Selected[playerid] == MARSHAL_CLASS)
  208. {
  209. TextDrawShowForPlayer(playerid, DesText[playerid]);
  210. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  211. TextDrawShowForPlayer(playerid, AbText[playerid]);
  212. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  213. new str[100], str1[100], str2[100];
  214. format(str, sizeof(str),"~r~Description: ~w~Heavily equiped Class,~n~Good against ground infantry");
  215. format(str1, sizeof(str1),"~y~Weapons: ~w~MP5 Grenades M4~n~Deagle");
  216. format(str2, sizeof(str2),"~g~Abilities: ~r~Non ability yet");
  217. TextDrawSetString(DesText[playerid], str);
  218. TextDrawSetString(WeapText[playerid], str1);
  219. TextDrawSetString(AbText[playerid], str2);
  220. }
  221. else if(Selected[playerid] == ENGINEER_CLASS)
  222. {
  223. TextDrawShowForPlayer(playerid, DesText[playerid]);
  224. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  225. TextDrawShowForPlayer(playerid, AbText[playerid]);
  226. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  227. new str[100], str1[100], str2[100];
  228. format(str, sizeof(str),"~r~Description: ~w~Powerfull Class, Good~n~against ground infantry");
  229. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 ShotGun Deagle~n~Grenades");
  230. format(str2, sizeof(str2),"~g~Abilities: ~w~Can drive Rhino");
  231. TextDrawSetString(DesText[playerid], str);
  232. TextDrawSetString(WeapText[playerid], str1);
  233. TextDrawSetString(AbText[playerid], str2);
  234. }
  235. else if(Selected[playerid] == HUNTER_CLASS)
  236. {
  237. TextDrawShowForPlayer(playerid, DesText[playerid]);
  238. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  239. TextDrawShowForPlayer(playerid, AbText[playerid]);
  240. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  241. new str[100], str1[100], str2[100];
  242. format(str, sizeof(str),"~r~Description: ~w~Ultimate Killer,Excellent ~n~against ground infantry");
  243. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 CombatShotGun Deagle~n~Grenades MP5");
  244. format(str2, sizeof(str2),"~g~Abilities: ~w~Extra weapons and ability~n~to heal other team mates");
  245. TextDrawSetString(DesText[playerid], str);
  246. TextDrawSetString(WeapText[playerid], str1);
  247. TextDrawSetString(AbText[playerid], str2);
  248. }
  249. return 1;
  250. }
  251. //==================== [ CALLBACKS ] ==========================================
  252. public OnFilterScriptInit()
  253. {
  254. print("\n--------------------------------------");
  255. print(" J_Class System Loaded. Made by Jarnu. Version: BETA");
  256. print("--------------------------------------\n");
  257. AddPlayerClass(2,406.6440, 2436.4312, 29.2416, 275.2261,0,0,0,0,0,0);
  258. return 1;
  259. }
  260.  
  261. public OnFilterScriptExit()
  262. {
  263. return 1;
  264. }
  265.  
  266. public OnPlayerConnect(playerid)
  267. {
  268. //------------------------------------------------------------------------//
  269. pFirstSpawn[playerid] = 1;
  270. //-----------Rank textdraw------------------------------------
  271. Rank[playerid] = TextDrawCreate(489.000000, 98.000000, "[] Rank: 0/12");
  272. TextDrawBackgroundColor(Rank[playerid], 255);
  273. TextDrawFont(Rank[playerid], 2);
  274. TextDrawLetterSize(Rank[playerid], 0.390000, 1.600000);
  275. TextDrawColor(Rank[playerid], 1761343638);
  276. TextDrawSetOutline(Rank[playerid], 0);
  277. TextDrawSetProportional(Rank[playerid], 1);
  278. TextDrawSetShadow(Rank[playerid], 1);
  279. //-------Class textdraws--------------------------------------
  280. TextBox[playerid] = TextDrawCreate(102.000000, 150.000000, "_");
  281. TextDrawAlignment(TextBox[playerid], 2);
  282. TextDrawBackgroundColor(TextBox[playerid], 255);
  283. TextDrawFont(TextBox[playerid], 1);
  284. TextDrawLetterSize(TextBox[playerid], 0.500000, 16.000000);
  285. TextDrawColor(TextBox[playerid], -1);
  286. TextDrawSetOutline(TextBox[playerid], 0);
  287. TextDrawSetProportional(TextBox[playerid], 1);
  288. TextDrawSetShadow(TextBox[playerid], 1);
  289. TextDrawUseBox(TextBox[playerid], 1);
  290. TextDrawBoxColor(TextBox[playerid], 102);
  291. TextDrawTextSize(TextBox[playerid], 0.000000, -210.000000);
  292.  
  293. DesText[playerid] = TextDrawCreate(3.000000, 157.000000, "Description:");
  294. TextDrawBackgroundColor(DesText[playerid], 255);
  295. TextDrawFont(DesText[playerid], 1);
  296. TextDrawLetterSize(DesText[playerid], 0.360000, 1.399999);
  297. TextDrawColor(DesText[playerid], -1);
  298. TextDrawSetOutline(DesText[playerid], 0);
  299. TextDrawSetProportional(DesText[playerid], 1);
  300. TextDrawSetShadow(DesText[playerid], 1);
  301.  
  302. WeapText[playerid] = TextDrawCreate(4.000000, 208.000000, "Weapons:");
  303. TextDrawBackgroundColor(WeapText[playerid], 255);
  304. TextDrawFont(WeapText[playerid], 1);
  305. TextDrawLetterSize(WeapText[playerid], 0.360000, 1.399999);
  306. TextDrawColor(WeapText[playerid], -1);
  307. TextDrawSetOutline(WeapText[playerid], 0);
  308. TextDrawSetProportional(WeapText[playerid], 1);
  309. TextDrawSetShadow(WeapText[playerid], 1);
  310.  
  311. AbText[playerid] = TextDrawCreate(5.000000, 251.000000, "Ability:");
  312. TextDrawBackgroundColor(AbText[playerid], 255);
  313. TextDrawFont(AbText[playerid], 1);
  314. TextDrawLetterSize(AbText[playerid], 0.360000, 1.399999);
  315. TextDrawColor(AbText[playerid], -1);
  316. TextDrawSetOutline(AbText[playerid], 0);
  317. TextDrawSetProportional(AbText[playerid], 1);
  318. TextDrawSetShadow(AbText[playerid], 1);
  319.  
  320. Done[playerid] = TextDrawCreate(540.000000, 130.000000, "Done");
  321. TextDrawAlignment(Done[playerid], 2);
  322. TextDrawBackgroundColor(Done[playerid], 255);
  323. TextDrawFont(Done[playerid], 1);
  324. TextDrawLetterSize(Done[playerid], 0.500000, 1.000000);
  325. TextDrawColor(Done[playerid], -1);
  326. TextDrawSetOutline(Done[playerid], 0);
  327. TextDrawSetProportional(Done[playerid], 1);
  328. TextDrawSetShadow(Done[playerid], 1);
  329. TextDrawUseBox(Done[playerid], 1);
  330. TextDrawBoxColor(Done[playerid], 1346446421);
  331. TextDrawTextSize(Done[playerid], 5.000000, 62.000000);
  332.  
  333. TextDrawSetSelectable(Done[playerid], true);
  334. //------------------------------------------------------------
  335. Soldier[playerid] = TextDrawCreate(540.000000, 150.000000, "Soldier");
  336. TextDrawAlignment(Soldier[playerid], 2);
  337. TextDrawBackgroundColor(Soldier[playerid], 255);
  338. TextDrawFont(Soldier[playerid], 1);
  339. TextDrawLetterSize(Soldier[playerid], 0.500000, 1.000000);
  340. TextDrawColor(Soldier[playerid], -1);
  341. TextDrawSetOutline(Soldier[playerid], 0);
  342. TextDrawSetProportional(Soldier[playerid], 1);
  343. TextDrawSetShadow(Soldier[playerid], 1);
  344. TextDrawUseBox(Soldier[playerid], 1);
  345. TextDrawBoxColor(Soldier[playerid], 1346446421);
  346. TextDrawTextSize(Soldier[playerid], 5.000000, 62.000000);
  347.  
  348. TextDrawSetSelectable(Soldier[playerid], true);
  349.  
  350. Sniper[playerid] = TextDrawCreate(540.000000, 170.000000, "Sniper");
  351. TextDrawAlignment(Sniper[playerid], 2);
  352. TextDrawBackgroundColor(Sniper[playerid], 255);
  353. TextDrawFont(Sniper[playerid], 1);
  354. TextDrawLetterSize(Sniper[playerid], 0.500000, 1.000000);
  355. TextDrawColor(Sniper[playerid], -1);
  356. TextDrawSetOutline(Sniper[playerid], 0);
  357. TextDrawSetProportional(Sniper[playerid], 1);
  358. TextDrawSetShadow(Sniper[playerid], 1);
  359. TextDrawUseBox(Sniper[playerid], 1);
  360. TextDrawBoxColor(Sniper[playerid], 1346446421);
  361. TextDrawTextSize(Sniper[playerid], 5.000000, 62.000000);
  362.  
  363. TextDrawSetSelectable(Sniper[playerid], true);
  364.  
  365. Hunter[playerid] = TextDrawCreate(540.000000, 190.000000, "Hunter");
  366. TextDrawAlignment(Hunter[playerid], 2);
  367. TextDrawBackgroundColor(Hunter[playerid], 255);
  368. TextDrawFont(Hunter[playerid], 1);
  369. TextDrawLetterSize(Hunter[playerid], 0.500000, 1.000000);
  370. TextDrawColor(Hunter[playerid], -1);
  371. TextDrawSetOutline(Hunter[playerid], 0);
  372. TextDrawSetProportional(Hunter[playerid], 1);
  373. TextDrawSetShadow(Hunter[playerid], 1);
  374. TextDrawUseBox(Hunter[playerid], 1);
  375. TextDrawBoxColor(Hunter[playerid], 1346446421);
  376. TextDrawTextSize(Hunter[playerid], 5.000000, 62.000000);
  377.  
  378. TextDrawSetSelectable(Hunter[playerid], true);
  379.  
  380. Airman[playerid] = TextDrawCreate(540.000000, 210.000000, "Airman");
  381. TextDrawAlignment(Airman[playerid], 2);
  382. TextDrawBackgroundColor(Airman[playerid], 255);
  383. TextDrawFont(Airman[playerid], 1);
  384. TextDrawLetterSize(Airman[playerid], 0.500000, 1.000000);
  385. TextDrawColor(Airman[playerid], -1);
  386. TextDrawSetOutline(Airman[playerid], 0);
  387. TextDrawSetProportional(Airman[playerid], 1);
  388. TextDrawSetShadow(Airman[playerid], 1);
  389. TextDrawUseBox(Airman[playerid], 1);
  390. TextDrawBoxColor(Airman[playerid], 1346446421);
  391. TextDrawTextSize(Airman[playerid], 5.000000, 62.000000);
  392.  
  393. TextDrawSetSelectable(Airman[playerid], true);
  394.  
  395. Engineer[playerid] = TextDrawCreate(540.000000, 230.000000, "Engineer");
  396. TextDrawAlignment(Engineer[playerid], 2);
  397. TextDrawBackgroundColor(Engineer[playerid], 255);
  398. TextDrawFont(Engineer[playerid], 1);
  399. TextDrawLetterSize(Engineer[playerid], 0.500000, 1.000000);
  400. TextDrawColor(Engineer[playerid], -1);
  401. TextDrawSetOutline(Engineer[playerid], 0);
  402. TextDrawSetProportional(Engineer[playerid], 1);
  403. TextDrawSetShadow(Engineer[playerid], 1);
  404. TextDrawUseBox(Engineer[playerid], 1);
  405. TextDrawBoxColor(Engineer[playerid], 1346446421);
  406. TextDrawTextSize(Engineer[playerid], 5.000000, 62.000000);
  407.  
  408. TextDrawSetSelectable(Engineer[playerid], true);
  409.  
  410. Marshal[playerid] = TextDrawCreate(540.000000, 250.000000, "Marshal");
  411. TextDrawAlignment(Marshal[playerid], 2);
  412. TextDrawBackgroundColor(Marshal[playerid], 255);
  413. TextDrawFont(Marshal[playerid], 1);
  414. TextDrawLetterSize(Marshal[playerid], 0.500000, 1.000000);
  415. TextDrawColor(Marshal[playerid], -1);
  416. TextDrawSetOutline(Marshal[playerid], 0);
  417. TextDrawSetProportional(Marshal[playerid], 1);
  418. TextDrawSetShadow(Marshal[playerid], 1);
  419. TextDrawUseBox(Marshal[playerid], 1);
  420. TextDrawBoxColor(Marshal[playerid], 1346446421);
  421. TextDrawTextSize(Marshal[playerid], 5.000000, 62.000000);
  422.  
  423. TextDrawSetSelectable(Marshal[playerid], true);
  424.  
  425. cBox = TextDrawCreate(541.000000, 274.000000, "_");
  426. TextDrawAlignment(cBox, 2);
  427. TextDrawBackgroundColor(cBox, 255);
  428. TextDrawFont(cBox, 1);
  429. TextDrawLetterSize(cBox, 0.500000, -17.399999);
  430. TextDrawColor(cBox, -1);
  431. TextDrawSetOutline(cBox, 0);
  432. TextDrawSetProportional(cBox, 1);
  433. TextDrawSetShadow(cBox, 1);
  434. TextDrawUseBox(cBox, 1);
  435. TextDrawBoxColor(cBox, 51);
  436. TextDrawTextSize(cBox, 0.000000, -110.000000);
  437. //--------------------------------------------
  438. return 1;
  439. }
  440.  
  441. public OnPlayerDisconnect(playerid, reason)
  442. {
  443. return 1;
  444. }
  445.  
  446. public OnPlayerSpawn(playerid)
  447. {
  448. if(pFirstSpawn[playerid] == 1)
  449. {
  450. TogglePlayerControllable(playerid, false);
  451. pFirstSpawn[playerid] = 0;
  452. SetPlayerVirtualWorld(playerid, 1);
  453. SetPlayerCameraPos(playerid, 406.6370, 2433.8577, 29.7057);
  454. SetPlayerCameraLookAt(playerid, 406.6454, 2434.8621, 29.6807);
  455. SetPlayerPos(playerid, 406.6440, 2436.4312, 29.2416);
  456. TextDrawShowForPlayer(playerid, cBox);
  457. TextDrawShowForPlayer(playerid, Soldier[playerid]);
  458. TextDrawShowForPlayer(playerid, Sniper[playerid]);
  459. TextDrawShowForPlayer(playerid, Marshal[playerid]);
  460. TextDrawShowForPlayer(playerid, Airman[playerid]);
  461. TextDrawShowForPlayer(playerid, Engineer[playerid]);
  462. TextDrawShowForPlayer(playerid, Hunter[playerid]);
  463. TextDrawShowForPlayer(playerid, Done[playerid]);
  464. SelectTextDraw(playerid, GREEN);
  465. }
  466. else
  467. {
  468. SpawnMessage(playerid);
  469. RankBonus(playerid);
  470. }
  471. return 1;
  472. }
  473. //----------------------------- [ IMPORTANT STOCKS ] ---------------------------
  474. //-------------------GetRankName------------------------------------------------
  475. stock GetRankName(playerid)
  476. {
  477. new str[125];
  478. if(GetPlayerScore(playerid) >= 0 && GetPlayerScore(playerid) < RANK1) str = (RANK0NAME);
  479. else if(GetPlayerScore(playerid) >= RANK1 && GetPlayerScore(playerid) < RANK2) str = (RANK1NAME);
  480. else if(GetPlayerScore(playerid) >= RANK2 && GetPlayerScore(playerid) < RANK3) str = (RANK2NAME);
  481. else if(GetPlayerScore(playerid) >= RANK3 && GetPlayerScore(playerid) < RANK4) str = (RANK3NAME);
  482. else if(GetPlayerScore(playerid) >= RANK4 && GetPlayerScore(playerid) < RANK5) str = (RANK4NAME);
  483. else if(GetPlayerScore(playerid) >= RANK5 && GetPlayerScore(playerid) < RANK6) str = (RANK5NAME);
  484. else if(GetPlayerScore(playerid) >= RANK6 && GetPlayerScore(playerid) < RANK7) str = (RANK6NAME);
  485. else if(GetPlayerScore(playerid) >= RANK7 && GetPlayerScore(playerid) < RANK8) str = (RANK7NAME);
  486. else if(GetPlayerScore(playerid) >= RANK8 && GetPlayerScore(playerid) < RANK9) str = (RANK8NAME);
  487. else if(GetPlayerScore(playerid) >= RANK9 && GetPlayerScore(playerid) < RANK10) str = (RANK9NAME);
  488. else if(GetPlayerScore(playerid) >= RANK10 && GetPlayerScore(playerid) < RANK11) str = (RANK10NAME);
  489. else if(GetPlayerScore(playerid) >= RANK11 && GetPlayerScore(playerid) < RANK12) str = (RANK11NAME);
  490. else if(GetPlayerScore(playerid) >= RANK12) str = (RANK12NAME);
  491. return str;
  492. }
  493. //------------------------------------------------------------------------------
  494. //---------------- Key State Change -----------
  495. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  496. {
  497. new vehicleid = GetPlayerVehicleID(playerid);
  498.  
  499. if(GetVehicleModel(vehicleid) == 425 && gClass[playerid] != AIRMAN_CLASS)
  500.  
  501. {
  502. SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hunter");
  503. RemovePlayerFromVehicle(playerid);
  504. }
  505.  
  506. if(GetVehicleModel(vehicleid) == 520 && gClass[playerid] != AIRMAN_CLASS)
  507.  
  508. {
  509.  
  510. SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Hydra");
  511. RemovePlayerFromVehicle(playerid);
  512.  
  513. }
  514. if(GetVehicleModel(vehicleid) == 432 && gClass[playerid] != ENGINEER_CLASS)
  515.  
  516. {
  517. SendClientMessage(playerid, RED,"ERROR: You need to be Engineer to drive Rhino");
  518. RemovePlayerFromVehicle(playerid);
  519.  
  520. }
  521.  
  522. if(GetVehicleModel(vehicleid) == 447 && gClass[playerid] != AIRMAN_CLASS)
  523.  
  524. {
  525. SendClientMessage(playerid, RED,"ERROR: You need to be Pilot to drive Sea-Sparrow");
  526. RemovePlayerFromVehicle(playerid);
  527.  
  528. }
  529. return 1;
  530. }
  531. //--------------------OnPlayerClickTextDradaw-----------------------------------
  532. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  533. {
  534. if(clickedid == Soldier[playerid])
  535. {
  536. Selected[playerid] = SOLDIER_CLASS;
  537. ChangeTextDraw(playerid);
  538. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  539. gClass[playerid] = SOLDIER_CLASS;
  540. }
  541. else if(clickedid == Sniper[playerid])
  542. {
  543. Selected[playerid] = SNIPER_CLASS;
  544. ChangeTextDraw(playerid);
  545. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  546. gClass[playerid] = SNIPER_CLASS;
  547. }
  548. else if(clickedid == Hunter[playerid])
  549. {
  550. if(GetPlayerScore(playerid) >= RANK3)
  551. {
  552. Selected[playerid] = HUNTER_CLASS;
  553. ChangeTextDraw(playerid);
  554. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  555. gClass[playerid] = HUNTER_CLASS;
  556. } else return SendClientMessage(playerid, RED,"[ERROR]: Rank 3 is required to use this class!");
  557. }
  558. else if(clickedid == Airman[playerid])
  559. {
  560. if(GetPlayerScore(playerid) >= RANK8)
  561. {
  562. Selected[playerid] = AIRMAN_CLASS;
  563. ChangeTextDraw(playerid);
  564. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  565. gClass[playerid] = AIRMAN_CLASS;
  566. } else return SendClientMessage(playerid, RED,"[ERROR]: Rank 5 is required to use this class!");
  567. }
  568. else if(clickedid == Engineer[playerid])
  569. {
  570. if(GetPlayerScore(playerid) >= RANK7)
  571. {
  572. Selected[playerid] = ENGINEER_CLASS;
  573. ChangeTextDraw(playerid);
  574. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  575. gClass[playerid] = ENGINEER_CLASS;
  576. } else return SendClientMessage(playerid, RED,"[ERROR]: Rank 7 is required to use this class!");
  577. }
  578. else if(clickedid == Marshal[playerid])
  579. {
  580. if(GetPlayerScore(playerid) >= RANK11)
  581. {
  582. Selected[playerid] = MARSHAL_CLASS;
  583. ChangeTextDraw(playerid);
  584. SendClientMessage(playerid, GREEN,"SELECTED CLASS: Click 'DONE' to proceed");
  585. gClass[playerid] = MARSHAL_CLASS;
  586. } else return SendClientMessage(playerid, RED,"[ERROR]: Rank 11 is required to use this class!");
  587. }
  588. else if(clickedid == Done[playerid])
  589. {
  590. if(Selected[playerid] == SOLDIER_CLASS)
  591. {
  592. SpawnPlayer(playerid);
  593. TextDrawHideForPlayer(playerid, cBox);
  594. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  595. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  596. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  597. TextDrawHideForPlayer(playerid, Airman[playerid]);
  598. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  599. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  600. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  601. TextDrawHideForPlayer(playerid, DesText[playerid]);
  602. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  603. TextDrawHideForPlayer(playerid, AbText[playerid]);
  604. TextDrawHideForPlayer(playerid, Done[playerid]);
  605. gClass[playerid] = SOLDIER_CLASS;
  606. CancelSelectTextDraw(playerid);
  607. }
  608. else if(Selected[playerid] == SNIPER_CLASS)
  609. {
  610. SpawnPlayer(playerid);
  611. TextDrawHideForPlayer(playerid, cBox);
  612. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  613. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  614. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  615. TextDrawHideForPlayer(playerid, Airman[playerid]);
  616. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  617. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  618. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  619. TextDrawHideForPlayer(playerid, DesText[playerid]);
  620. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  621. TextDrawHideForPlayer(playerid, AbText[playerid]);
  622. TextDrawHideForPlayer(playerid, Done[playerid]);
  623. gClass[playerid] = SNIPER_CLASS;
  624. CancelSelectTextDraw(playerid);
  625. }
  626. else if(Selected[playerid] == HUNTER_CLASS)
  627. {
  628. SpawnPlayer(playerid);
  629. TextDrawHideForPlayer(playerid, cBox);
  630. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  631. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  632. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  633. TextDrawHideForPlayer(playerid, Airman[playerid]);
  634. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  635. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  636. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  637. TextDrawHideForPlayer(playerid, DesText[playerid]);
  638. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  639. TextDrawHideForPlayer(playerid, AbText[playerid]);
  640. TextDrawHideForPlayer(playerid, Done[playerid]);
  641. gClass[playerid] = HUNTER_CLASS;
  642. CancelSelectTextDraw(playerid);
  643. }
  644. else if(Selected[playerid] == MARSHAL_CLASS)
  645. {
  646. SpawnPlayer(playerid);
  647. TextDrawHideForPlayer(playerid, cBox);
  648. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  649. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  650. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  651. TextDrawHideForPlayer(playerid, Airman[playerid]);
  652. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  653. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  654. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  655. TextDrawHideForPlayer(playerid, DesText[playerid]);
  656. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  657. TextDrawHideForPlayer(playerid, AbText[playerid]);
  658. TextDrawHideForPlayer(playerid, Done[playerid]);
  659. gClass[playerid] = MARSHAL_CLASS;
  660. CancelSelectTextDraw(playerid);
  661. }
  662. else if(Selected[playerid] == AIRMAN_CLASS)
  663. {
  664. SpawnPlayer(playerid);
  665. TextDrawHideForPlayer(playerid, cBox);
  666. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  667. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  668. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  669. TextDrawHideForPlayer(playerid, Airman[playerid]);
  670. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  671. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  672. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  673. TextDrawHideForPlayer(playerid, DesText[playerid]);
  674. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  675. TextDrawHideForPlayer(playerid, AbText[playerid]);
  676. TextDrawHideForPlayer(playerid, Done[playerid]);
  677. gClass[playerid] = AIRMAN_CLASS;
  678. CancelSelectTextDraw(playerid);
  679. }
  680. else if(Selected[playerid] == ENGINEER_CLASS)
  681. {
  682. SpawnPlayer(playerid);
  683. TextDrawHideForPlayer(playerid, cBox);
  684. TextDrawHideForPlayer(playerid, Soldier[playerid]);
  685. TextDrawHideForPlayer(playerid, Sniper[playerid]);
  686. TextDrawHideForPlayer(playerid, Marshal[playerid]);
  687. TextDrawHideForPlayer(playerid, Airman[playerid]);
  688. TextDrawHideForPlayer(playerid, Engineer[playerid]);
  689. TextDrawHideForPlayer(playerid, Hunter[playerid]);
  690. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  691. TextDrawHideForPlayer(playerid, DesText[playerid]);
  692. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  693. TextDrawHideForPlayer(playerid, AbText[playerid]);
  694. TextDrawHideForPlayer(playerid, Done[playerid]);
  695. gClass[playerid] = ENGINEER_CLASS;
  696. CancelSelectTextDraw(playerid);
  697. }
  698. }
  699. return 1;
  700. }
  701. //------------Health according to Rank------------------------------------------
  702. stock RankBonus(playerid)
  703. {
  704. if(GetPlayerScore(playerid) >= 0 && GetPlayerScore(playerid) < RANK1)
  705. {
  706. SetPlayerHealth(playerid, 50.0);
  707. SendClientMessage(playerid, COLOR_WHITE,"RANK 0 | Health: 50 | Armour: 0");
  708. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"Nil");
  709. SendClientMessage(playerid, GREEN,"------------------------------");
  710. TextDrawSetString(Rank[playerid],"[]Rank: 0/12");
  711. }
  712. else if(GetPlayerScore(playerid) >= RANK1 && GetPlayerScore(playerid) < RANK2)
  713. {
  714. SetPlayerHealth(playerid, 53.0);
  715. SetPlayerArmour(playerid, 3.0);
  716. SendClientMessage(playerid, COLOR_WHITE,"RANK 1 | Health: 53 | Armour: 3");
  717. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+3 HP +3 AR");
  718. SendClientMessage(playerid, GREEN,"------------------------------");
  719. TextDrawSetString(Rank[playerid],"[]Rank: 1/12");
  720. }
  721. else if(GetPlayerScore(playerid) >= RANK2 && GetPlayerScore(playerid) < RANK3)
  722. {
  723. SetPlayerHealth(playerid, 60.0);
  724. SetPlayerArmour(playerid, 10.0);
  725. SendClientMessage(playerid, COLOR_WHITE,"RANK 2 | Health: 60 | Armour: 10");
  726. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+7 HP +7 AR");
  727. SendClientMessage(playerid, GREEN,"------------------------------");
  728. TextDrawSetString(Rank[playerid],"[]Rank: 2/12");
  729. }
  730. else if(GetPlayerScore(playerid) >= RANK3 && GetPlayerScore(playerid) < RANK4)
  731. {
  732. SetPlayerHealth(playerid, 63.0);
  733. SetPlayerArmour(playerid, 10.0);
  734. GivePlayerWeapon(playerid, 31, 10);
  735. SendClientMessage(playerid, COLOR_WHITE,"RANK 3 | Health: 63 | Armour: 10");
  736. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+3 HP | "cgreen"M4 (10 ammo) with every class");
  737. SendClientMessage(playerid, GREEN,"------------------------------");
  738. TextDrawSetString(Rank[playerid],"[]Rank: 3/12");
  739. }
  740. else if(GetPlayerScore(playerid) >= RANK4 && GetPlayerScore(playerid) < RANK5)
  741. {
  742. SetPlayerHealth(playerid, 66.0);
  743. SetPlayerArmour(playerid, 15.0);
  744. GivePlayerWeapon(playerid, 31, 15);
  745. SendClientMessage(playerid, COLOR_WHITE,"RANK 4 | Health: 66 | Armour: 15");
  746. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+3 HP +5 AR| "cgreen"M4 (15 ammo) with every class");
  747. SendClientMessage(playerid, GREEN,"------------------------------");
  748. TextDrawSetString(Rank[playerid],"[]Rank: 4/12");
  749. }
  750. else if(GetPlayerScore(playerid) >= RANK5 && GetPlayerScore(playerid) < RANK6)
  751. {
  752. SetPlayerHealth(playerid, 66.0);
  753. SetPlayerArmour(playerid, 15.0);
  754. GivePlayerWeapon(playerid, 27, 10);
  755. SendClientMessage(playerid, COLOR_WHITE,"RANK 5 | Health: 66 | Armour: 15");
  756. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "cgreen"Spas12 (10 ammo) with every class");
  757. SendClientMessage(playerid, GREEN,"------------------------------");
  758. TextDrawSetString(Rank[playerid],"[]Rank: 5/12");
  759. }
  760. else if(GetPlayerScore(playerid) >= RANK6 && GetPlayerScore(playerid) < RANK7)
  761. {
  762. SetPlayerHealth(playerid, 66.0);
  763. SetPlayerArmour(playerid, 15.0);
  764. GivePlayerWeapon(playerid, 27, 15);
  765. SendClientMessage(playerid, COLOR_WHITE,"RANK 6 | Health: 66 | Armour: 15");
  766. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "cgreen"Spas12 (15 ammo) with every class");
  767. SendClientMessage(playerid, GREEN,"------------------------------");
  768. TextDrawSetString(Rank[playerid],"[]Rank: 6/12");
  769. }
  770. else if(GetPlayerScore(playerid) >= RANK7 && GetPlayerScore(playerid) < RANK8)
  771. {
  772. SetPlayerHealth(playerid, 66.0);
  773. SetPlayerArmour(playerid, 15.0);
  774. GivePlayerWeapon(playerid, 27, 10);
  775. SendClientMessage(playerid, COLOR_WHITE,"RANK 7 | Health: 66 | Armour: 15");
  776. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"No Extra bonus | "cgreen"Old rank bonuses are still there");
  777. SendClientMessage(playerid, GREEN,"------------------------------");
  778. TextDrawSetString(Rank[playerid],"[]Rank: 7/12");
  779. }
  780. else if(GetPlayerScore(playerid) >= RANK8 && GetPlayerScore(playerid) < RANK9)
  781. {
  782. SetPlayerHealth(playerid, 66.0);
  783. SetPlayerArmour(playerid, 15.0);
  784. GivePlayerWeapon(playerid, 27, 10);
  785. SendClientMessage(playerid, COLOR_WHITE,"RANK 8 | Health: 66 | Armour: 15");
  786. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"No Extra bonus | "cgreen"Old rank bonuses are still there");
  787. SendClientMessage(playerid, GREEN,"------------------------------");
  788. TextDrawSetString(Rank[playerid],"[]Rank: 8/12");
  789. }
  790. else if(GetPlayerScore(playerid) >= RANK9 && GetPlayerScore(playerid) < RANK10)
  791. {
  792. SetPlayerHealth(playerid, 76.0);
  793. SetPlayerArmour(playerid, 25.0);
  794. GivePlayerWeapon(playerid, 27, 10);
  795. SendClientMessage(playerid, COLOR_WHITE,"RANK 9 | Health: 76 | Armour: 25");
  796. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+10 HP +10 AR");
  797. SendClientMessage(playerid, GREEN,"------------------------------");
  798. TextDrawSetString(Rank[playerid],"[]Rank: 9/12");
  799. }
  800. else if(GetPlayerScore(playerid) >= RANK10 && GetPlayerScore(playerid) < RANK11)
  801. {
  802. SetPlayerHealth(playerid, 86.0);
  803. SetPlayerArmour(playerid, 35.0);
  804. GivePlayerWeapon(playerid, 27, 10);
  805. SendClientMessage(playerid, COLOR_WHITE,"RANK 10 | Health: 78 | Armour: 35");
  806. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+10 HP +10 AR");
  807. SendClientMessage(playerid, GREEN,"------------------------------");
  808. TextDrawSetString(Rank[playerid],"[]Rank: 10/12");
  809. }
  810. else if(GetPlayerScore(playerid) >= RANK11 && GetPlayerScore(playerid) < RANK12)
  811. {
  812. SetPlayerHealth(playerid, 88.0);
  813. SetPlayerArmour(playerid, 45.0);
  814. GivePlayerWeapon(playerid, 27, 10);
  815. SendClientMessage(playerid, COLOR_WHITE,"RANK 11 | Health: 88 | Armour: 45");
  816. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"+10 HP +10 AR");
  817. SendClientMessage(playerid, GREEN,"------------------------------");
  818. TextDrawSetString(Rank[playerid],"[]Rank: 11/12");
  819. }
  820. else if(GetPlayerScore(playerid) >= RANK12)
  821. {
  822. SetPlayerHealth(playerid, 100.0);
  823. SetPlayerArmour(playerid, 100.0);
  824. GivePlayerWeapon(playerid, 27, 50);
  825. SendClientMessage(playerid, COLOR_WHITE,"RANK 12 | Health: 100 | Armour: 100");
  826. SendClientMessage(playerid, COLOR_WHITE,"Bonuses: "COL_RED"100 HP 100 AR | "cgreen"Spas12 (50+ ammo) with every class");
  827. SendClientMessage(playerid, GREEN,"------------------------------");
  828. TextDrawSetString(Rank[playerid],"[]Rank: 12/12");
  829. }
  830. return 1;
  831. }
  832. //===================================== [ COMMANDS ] ===========================
  833. //------------- [ /ranks ] -----------------------------------------------------
  834. CMD:ranks(playerid, params[])
  835. {
  836. new lstring[1255], rank[128];
  837. format(rank, sizeof(rank), ""COL_WHITE"Rank 0 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK0, RANK0NAME);
  838. strcat(lstring, rank);
  839. format(rank, sizeof(rank), ""COL_WHITE"Rank 1 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK1, RANK1NAME);
  840. strcat(lstring, rank);
  841. format(rank, sizeof(rank), ""COL_WHITE"Rank 2 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK2, RANK2NAME);
  842. strcat(lstring, rank);
  843. format(rank, sizeof(rank), ""COL_WHITE"Rank 3 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK3, RANK3NAME);
  844. strcat(lstring, rank);
  845. format(rank, sizeof(rank), ""COL_WHITE"Rank 4 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK4, RANK4NAME);
  846. strcat(lstring, rank);
  847. format(rank, sizeof(rank), ""COL_WHITE"Rank 5 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK5, RANK5NAME);
  848. strcat(lstring, rank);
  849. format(rank, sizeof(rank), ""COL_WHITE"Rank 6 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK6, RANK6NAME);
  850. strcat(lstring, rank);
  851. format(rank, sizeof(rank), ""COL_WHITE"Rank 7 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK7, RANK7NAME);
  852. strcat(lstring, rank);
  853. format(rank, sizeof(rank), ""COL_WHITE"Rank 8 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK8, RANK8NAME);
  854. strcat(lstring, rank);
  855. format(rank, sizeof(rank), ""COL_WHITE"Rank 9 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK9, RANK9NAME);
  856. strcat(lstring, rank);
  857. format(rank, sizeof(rank), ""COL_WHITE"Rank 10 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK10, RANK10NAME);
  858. strcat(lstring, rank);
  859. format(rank, sizeof(rank), ""COL_WHITE"Rank 11 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK11, RANK11NAME);
  860. strcat(lstring, rank);
  861. format(rank, sizeof(rank), ""COL_WHITE"Rank 12 - "COL_GREEN"%d scores - "COL_RED"%s\n", RANK12, RANK12NAME);
  862. strcat(lstring, rank);
  863. ShowPlayerDialog(playerid, 1122, DIALOG_STYLE_MSGBOX,""COL_WHITE"J_Class System Ranks",lstring,"Close","");
  864. return 1;
  865. }
  866. CMD:rank(playerid, params[])
  867. {
  868. new str[85];
  869. format(str, sizeof(str),"Your rank is "COL_LIGHTBLUE"%s",GetRankName(playerid));
  870. SendClientMessage(playerid, GREEN,str);
  871. return 1;
  872. }
  873. CMD:sc(playerid, params[])
  874. {
  875. pFirstSpawn[playerid] = 1;
  876. SendClientMessage(playerid, GREEN,"Returning to class selection after next death...");
  877. return 1;
  878. }
  879. CMD:kill(playerid, params[])
  880. {
  881. SetPlayerHealth(playerid, 0.0);
  882. return 1;
  883. }
  884. CMD:chelp(playerid, params[])
  885. {
  886. SendClientMessage(playerid, GREEN,"[INFO]: Use /hide to hide the textdraws!");
  887. if(gClass[playerid] == SOLDIER_CLASS)
  888. {
  889. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"SOLDIER!");
  890. TextDrawShowForPlayer(playerid, DesText[playerid]);
  891. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  892. TextDrawShowForPlayer(playerid, AbText[playerid]);
  893. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  894. new str[100], str1[100], str2[100];
  895. format(str, sizeof(str),"~r~Description: ~w~Powerfull Class, Good~n~against ground infantry");
  896. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 CombatShotGun ~n~Deagle TearGas");
  897. format(str2, sizeof(str2),"~g~Abilities: ~w~Can drive Rhino");
  898. TextDrawSetString(DesText[playerid], str);
  899. TextDrawSetString(WeapText[playerid], str1);
  900. TextDrawSetString(AbText[playerid], str2);
  901. }
  902. else if(gClass[playerid] == HUNTER_CLASS)
  903. {
  904. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"HUNTER!");
  905. TextDrawShowForPlayer(playerid, DesText[playerid]);
  906. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  907. TextDrawShowForPlayer(playerid, AbText[playerid]);
  908. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  909. new str[100], str1[100], str2[100];
  910. format(str, sizeof(str),"~r~Description: ~w~Ultimate Killer,Excellent ~n~against ground infantry");
  911. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 CombatShotGun Deagle~n~Grenades MP5");
  912. format(str2, sizeof(str2),"~g~Abilities: ~w~Extra weapons");
  913. TextDrawSetString(DesText[playerid], str);
  914. TextDrawSetString(WeapText[playerid], str1);
  915. TextDrawSetString(AbText[playerid], str2);
  916. }
  917. else if(gClass[playerid] == SNIPER_CLASS)
  918. {
  919. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"SNIPER!");
  920. TextDrawShowForPlayer(playerid, DesText[playerid]);
  921. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  922. TextDrawShowForPlayer(playerid, AbText[playerid]);
  923. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  924. new str[100], str1[100], str2[100];
  925. format(str, sizeof(str),"~r~Description: ~w~Good for FarSight~n~Killings");
  926. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 SniperRilfe MP5 ~n~Molotov");
  927. format(str2, sizeof(str2),"~g~Abilities: ~w~Invisible on map!");
  928. TextDrawSetString(DesText[playerid], str);
  929. TextDrawSetString(WeapText[playerid], str1);
  930. TextDrawSetString(AbText[playerid], str2);
  931. }
  932. else if(gClass[playerid] == MARSHAL_CLASS)
  933. {
  934. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"MARSHAL!");
  935. TextDrawShowForPlayer(playerid, DesText[playerid]);
  936. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  937. TextDrawShowForPlayer(playerid, AbText[playerid]);
  938. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  939. new str[100], str1[100], str2[100];
  940. format(str, sizeof(str),"~r~Description: ~w~Heavily equiped Class,~n~Good against ground infantry");
  941. format(str1, sizeof(str1),"~y~Weapons: ~w~MP5 Grenades M4~n~Deagle");
  942. format(str2, sizeof(str2),"~g~Abilities: ~r~Non yet");
  943. TextDrawSetString(DesText[playerid], str);
  944. TextDrawSetString(WeapText[playerid], str1);
  945. TextDrawSetString(AbText[playerid], str2);
  946. }
  947. else if(gClass[playerid] == ENGINEER_CLASS)
  948. {
  949. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"ENGINEER!");
  950. TextDrawShowForPlayer(playerid, DesText[playerid]);
  951. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  952. TextDrawShowForPlayer(playerid, AbText[playerid]);
  953. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  954. new str[100], str1[100], str2[100];
  955. format(str, sizeof(str),"~r~Description: ~w~Powerfull Class, Good~n~against ground infantry");
  956. format(str1, sizeof(str1),"~y~Weapons: ~w~M4 ShotGun Deagle~n~Grenades");
  957. format(str2, sizeof(str2),"~g~Abilities: ~w~Can drive Rhino");
  958. TextDrawSetString(DesText[playerid], str);
  959. TextDrawSetString(WeapText[playerid], str1);
  960. TextDrawSetString(AbText[playerid], str2);
  961. }
  962. else if(gClass[playerid] == AIRMAN_CLASS)
  963. {
  964. SendClientMessage(playerid, GREEN,"[INFO]: Your class is "COL_WHITE"AIRMAN!");
  965. TextDrawShowForPlayer(playerid, DesText[playerid]);
  966. TextDrawShowForPlayer(playerid, WeapText[playerid]);
  967. TextDrawShowForPlayer(playerid, AbText[playerid]);
  968. TextDrawShowForPlayer(playerid, TextBox[playerid]);
  969. new str[100], str1[100], str2[100];
  970. format(str, sizeof(str),"~r~Description: ~w~AirClass!Best for heavy~n~killing sprees");
  971. format(str1, sizeof(str1),"~y~Weapons: ~w~MP5 Molotov M4");
  972. format(str2, sizeof(str2),"~g~Abilities: ~w~Can fly air vehicles");
  973. TextDrawSetString(DesText[playerid], str);
  974. TextDrawSetString(WeapText[playerid], str1);
  975. TextDrawSetString(AbText[playerid], str2);
  976. }
  977. return 1;
  978. }
  979. CMD:hide(playerid, params[])
  980. {
  981. TextDrawHideForPlayer(playerid, TextBox[playerid]);
  982. TextDrawHideForPlayer(playerid, DesText[playerid]);
  983. TextDrawHideForPlayer(playerid, WeapText[playerid]);
  984. TextDrawHideForPlayer(playerid, AbText[playerid]);
  985. return 1;
  986. }
Advertisement
Add Comment
Please, Sign In to add comment