seroff

Players Count in Team Menu [Optimal] 3.0 By kramesa+Seroff

Jul 7th, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. new bool:ChooseTeam_Used[33];
  5. new bool:DetectVIPMap[33];
  6.  
  7. const KEYSMENU = MENU_KEY_1|MENU_KEY_2/*|MENU_KEY_3|MENU_KEY_4*/|MENU_KEY_5|MENU_KEY_6//|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
  8.  
  9. const JKEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6//|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
  10.  
  11. new StrN[3]=0;
  12.  
  13. public plugin_init()
  14. {
  15. register_plugin("Players Count in Team Menu [Optimal]" , "3.0" , "kramesa+Seroff" );
  16. register_message(get_user_msgid("ShowMenu"), "MenuTeam");
  17. register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
  18. register_clcmd("chooseteam", "OpenMenu");
  19. register_menu("chooseteam", KEYSMENU, "chooseteam_menu");
  20. register_menu("jointeam", JKEYSMENU, "jointeam_menu");
  21. register_menu("fakemenu", 0, "fakemenu_menu");
  22. register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  23. new entity = -1;
  24. if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
  25. {
  26. DetectVIPMap[0] = true;
  27. }
  28. else
  29. {
  30. DetectVIPMap[0] = false;
  31. }
  32. }
  33.  
  34. public Event_HLTV_New_Round(id)
  35. {
  36. arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
  37. }
  38.  
  39. public client_authorized(id)
  40. {
  41. ChooseTeam_Used[id] = false;
  42. }
  43.  
  44. public OpenMenu(id)
  45. {
  46. if(DetectVIPMap[0] == false)
  47. {
  48. menu_cancel(id);
  49. TeamMenu(id);
  50. return PLUGIN_HANDLED;
  51. }
  52. return PLUGIN_CONTINUE;
  53. }
  54.  
  55.  
  56.  
  57. public MenuTeam(msg, des, rec)
  58. {
  59. if(DetectVIPMap[0] == false)
  60. {
  61. static const TeamSelect[] = "#Team_Select";
  62. static sz_Menu[sizeof(TeamSelect)];
  63. get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
  64. if(!equal( sz_Menu, TeamSelect))
  65. {
  66. return PLUGIN_CONTINUE;
  67. }
  68. //set_pdata_int(rec, 205, 0);
  69. if(ChooseTeam_Used[rec]==false){TeamMenu(rec);}
  70. return PLUGIN_HANDLED;
  71. }
  72.  
  73. return PLUGIN_CONTINUE;
  74. }
  75.  
  76. public VGUITeam(msg, des, rec)
  77. {
  78. if(get_msg_arg_int(1) != 2)
  79. {
  80. return PLUGIN_CONTINUE;
  81. }
  82. TeamMenu(rec);
  83. return PLUGIN_HANDLED;
  84. }
  85.  
  86. get_users(Team[]){
  87. static iPlayers[32],iNum=0
  88. get_players(iPlayers, iNum, "hce",Team);
  89. return iNum
  90. }
  91.  
  92. public TeamMenu(id)
  93. {
  94. if(ChooseTeam_Used[id] == true)
  95. {
  96. menu_cancel(id);
  97. client_print(id, print_center, "Только один раз можно сменить команду за раунд!");
  98. return PLUGIN_HANDLED;
  99. }
  100.  
  101. new Users[124];
  102.  
  103. formatex(Users,charsmax(Users),"\r1. \wТеррористы \y[\r%d\y]^n\r2. \wКонтр-Террористы \y[\r%d\y]^n^n",get_users("TERRORIST"), get_users("CT"));
  104. static menu[512], len;
  105. len = 0;
  106. len += formatex(menu[len], charsmax(menu) - len, "\yВыбор команды^n^n");
  107. len += formatex(menu[len], charsmax(menu) - len, Users);
  108. len += formatex(menu[len], charsmax(menu) - len, "\r5. \wСлучайная команда^n");
  109. len += formatex(menu[len], charsmax(menu) - len, "\r6. \wСпектаторы^n^n");
  110.  
  111. show_menu(id, KEYSMENU, menu, -1, "chooseteam");
  112. return PLUGIN_CONTINUE;
  113. }
  114.  
  115.  
  116. public chooseteam_menu(id, key)
  117. {
  118. switch(key)
  119. {
  120. case 0:
  121. {
  122. jointeam_m(id,1);
  123. }
  124. case 1:
  125. {
  126. jointeam_m(id,2);
  127. }
  128. case 4:
  129. {
  130. jointeam_m(id, random_num(1,2));
  131. }
  132. case 5:
  133. {
  134. engclient_cmd(id, "jointeam","6");
  135. }
  136. }
  137. return PLUGIN_HANDLED
  138. }
  139.  
  140. public jointeam_m(id, team)
  141. {
  142. static menu[512], len;
  143. len = 0;
  144. len += formatex(menu[len], charsmax(menu) - len, "\yВыберите ваш внешний вид^n^n");
  145. switch(team){
  146. case 1:{
  147. len += formatex(menu[len], charsmax(menu) - len, "\r1. \wPhoenix Connexion^n");
  148. len += formatex(menu[len], charsmax(menu) - len, "\r2. \wElite Crew^n");
  149. len += formatex(menu[len], charsmax(menu) - len, "\r3. \wArctic Avengers^n");
  150. len += formatex(menu[len], charsmax(menu) - len, "\r4. \wGuerilla Warface^n");
  151. }
  152. case 2:{
  153. len += formatex(menu[len], charsmax(menu) - len, "\r1. \wSeal Team 6^n");
  154. len += formatex(menu[len], charsmax(menu) - len, "\r2. \wGSG-9^n");
  155. len += formatex(menu[len], charsmax(menu) - len, "\r3. \wSAS^n");
  156. len += formatex(menu[len], charsmax(menu) - len, "\r4. \wGIGN^n");
  157. }
  158. }
  159. len += formatex(menu[len], charsmax(menu) - len, "^n\r5. \wСлучайный выбор^n");
  160. num_to_str(team,StrN,2);
  161. show_menu(id, JKEYSMENU, menu, -1, "jointeam");
  162. return PLUGIN_CONTINUE;
  163. }
  164.  
  165.  
  166. public jointeam_menu(id, key)
  167. {
  168. engclient_cmd(id, "jointeam",StrN);
  169. switch(key)
  170. {
  171. case 0:
  172. {
  173. engclient_cmd(id, "joinclass","1");
  174. }
  175. case 1:
  176. {
  177. engclient_cmd(id, "joinclass","2");
  178. }
  179. case 2:
  180. {
  181. engclient_cmd(id, "joinclass","3");
  182. }
  183. case 3:
  184. {
  185. engclient_cmd(id, "joinclass","4");
  186. }
  187. case 4:
  188. {
  189. engclient_cmd(id, "jointeam","5");
  190. }
  191. }
  192. jointeam_mm(id);
  193. }
  194.  
  195. /* fake menu */
  196.  
  197. public jointeam_mm(id)
  198. {
  199. static menu[512], len;
  200. len = 0;
  201. len += formatex(menu[len], charsmax(menu) - len, "^n^n^n^n^n^n^n^n^n^n^n^n");
  202. show_menu(id, 0, menu, -1, "fakemenu");
  203. ChooseTeam_Used[id] = true;
  204. return PLUGIN_CONTINUE;
  205. }
  206.  
  207. public fakemenu_menu(id){
  208. //
  209. }
  210.  
  211. stock register_menu(const title[],keys,const function[],outside=0)
  212. {
  213. register_menucmd(register_menuid(title,outside),keys,function);
  214. }
Advertisement
Add Comment
Please, Sign In to add comment