Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.20 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. 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
  5.  
  6. new StrN[3]=0,g_menu[33]=0,bool:ChooseTeam_Used[33], bool:DetectVIPMap[33];
  7.  
  8. public plugin_init()
  9. {
  10.   register_plugin("Players Count in Team Menu" , "3.0.5" , "kramesa+Seroff" );
  11.   register_message(get_user_msgid("ShowMenu"), "MenuTeam");
  12.   register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
  13.   register_clcmd("chooseteam", "OpenMenu");
  14.   register_clcmd("jointeam", "j_OpenMenu");
  15.   register_menu("chooseteam", KEYSMENU, "chooseteam_menu");
  16.   register_menu("jointeam", KEYSMENU, "jointeam_menu");
  17.   register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  18.   new entity = -1;
  19.   if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
  20.   {
  21.     DetectVIPMap[0] = true;
  22.   }
  23.   else
  24.   {
  25.     DetectVIPMap[0] = false;
  26.   }
  27. }
  28.  
  29. public j_OpenMenu(id)
  30. {
  31.   if(ChooseTeam_Used[id] == true)
  32.   {
  33.     menu_cancel(id);
  34.     client_print_center(id, "You can only choose 1 team!");
  35.     return PLUGIN_HANDLED;
  36.   }
  37.   if(DetectVIPMap[0] == false)
  38.   {
  39.     menu_cancel(id);
  40.     join_OpenMenu(id);
  41.     return PLUGIN_HANDLED;
  42.   }
  43.   return PLUGIN_CONTINUE;
  44. }
  45.  
  46. public join_OpenMenu(id){
  47.   new Arg[3],NumArg;
  48.   read_argv(1,Arg,charsmax(Arg));
  49.   if(!equal(Arg,"")){
  50.     NumArg=str_to_num(Arg);
  51.     switch(NumArg){
  52.       case 1,2:jointeam_m(id, NumArg);
  53.       case 5:jointeam_m(id, random_num(1,2));
  54.       case 6:engclient_cmd(id,"jointeam", "6");
  55.     }
  56.   }else{
  57.     TeamMenu(id);
  58.   }
  59.   return PLUGIN_CONTINUE;
  60. }
  61.  
  62. public Event_HLTV_New_Round(id)  
  63. {
  64.   arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
  65. }
  66.  
  67. public client_authorized(id)
  68. {
  69.   ChooseTeam_Used[id] = false;
  70.   g_menu[id]=0;
  71. }
  72.  
  73. public client_putinserver(id){
  74.    set_task(0.1,"j_OpenMenu",id);
  75. }
  76.  
  77. public OpenMenu(id)
  78. {
  79.   if(ChooseTeam_Used[id] == true)
  80.   {
  81.     menu_cancel(id);
  82.     client_print_center(id, "You can only choose 1 team!");
  83.     return PLUGIN_HANDLED;
  84.   }
  85.   if(DetectVIPMap[0] == false)
  86.   {
  87.     menu_cancel(id);
  88.     TeamMenu(id);
  89.     return PLUGIN_HANDLED;
  90.   }
  91.   return PLUGIN_CONTINUE;
  92. }
  93.  
  94. public MenuTeam(msg, des, rec)
  95. {
  96.   if(DetectVIPMap[0] == false)
  97.   {
  98.     static const TeamSelect[] = "#Team_Select";
  99.     static sz_Menu[sizeof(TeamSelect)];
  100.     get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
  101.     if(!equal( sz_Menu, TeamSelect))
  102.     {
  103.     return PLUGIN_CONTINUE;
  104.     }
  105.     set_pdata_int(rec, 205, 0);
  106.     if(ChooseTeam_Used[rec]==false){
  107.       TeamMenu(rec);
  108.     }
  109.     return PLUGIN_HANDLED;
  110.   }
  111.   return PLUGIN_CONTINUE;
  112. }
  113.  
  114. public VGUITeam(msg, des, rec)
  115. {
  116.   if(get_msg_arg_int(1) != 2)
  117.   {
  118.     return PLUGIN_CONTINUE;
  119.   }
  120.   TeamMenu(rec);
  121.   return PLUGIN_HANDLED;
  122. }
  123.  
  124. get_users(Team[]){
  125.   static iPlayers[32],iNum=0
  126.   get_players(iPlayers, iNum, "hce",Team);
  127.   return iNum
  128. }
  129.  
  130. public TeamMenu(id)
  131. {  
  132.   if(ChooseTeam_Used[id] == true)
  133.   {
  134.     menu_cancel(id);
  135.     client_print_center(id, "You can only choose 1 team!");
  136.     return PLUGIN_HANDLED;
  137.   }
  138.   new Users[124];
  139.   formatex(Users,charsmax(Users),"\r1. \wTERRORISTS \y[\r%d\y]^n\r2. \wCOUNTER-TERRORISTS \y[\r%d\y]^n^n",get_users("TERRORIST"), get_users("CT"));
  140.   static menu[512], len;
  141.   len = 0;
  142.   len += formatex(menu[len], charsmax(menu) - len, "\yChoose Your Team^n^n");
  143.   len += formatex(menu[len], charsmax(menu) - len, Users);
  144.   len += formatex(menu[len], charsmax(menu) - len, "\r5. \wAUTO ASSIGN^n");
  145.   len += formatex(menu[len], charsmax(menu) - len, "\r6. \wSPECTATORS^n^n");
  146.   new Keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_5|MENU_KEY_6
  147.   if(g_menu[id]!=0){
  148.     len += formatex(menu[len], charsmax(menu) - len, "\r0. \wExit^n^n");
  149.     Keys |= MENU_KEY_0
  150.   }
  151.   show_menu(id, Keys, menu, -1, "chooseteam");
  152.   g_menu[id]++;
  153.   return PLUGIN_CONTINUE;
  154. }
  155.  
  156. public chooseteam_menu(id, key)
  157. {
  158.   switch(key)
  159.   {
  160.     case 0:
  161.     {
  162.       jointeam_m(id,1);
  163.     }
  164.     case 1:
  165.     {
  166.       jointeam_m(id,2);
  167.     }
  168.     case 4:
  169.     {
  170.       jointeam_m(id, random_num(1,2));
  171.     }
  172.     case 5:
  173.     {
  174.       engclient_cmd(id, "jointeam","6");
  175.     }
  176.     case 9:
  177.     {
  178.       menu_cancel(id);
  179.     }
  180.   }
  181.   return PLUGIN_HANDLED
  182. }
  183.  
  184. public jointeam_m(id, team)
  185. {  
  186.   static menu[512], len;
  187.   len = 0;
  188.   len += formatex(menu[len], charsmax(menu) - len, "\yChoose Your Class^n^n");
  189.   switch(team){
  190.     case 1:{
  191.       len += formatex(menu[len], charsmax(menu) - len, "\r1. \wPhoenix Connexion^n");
  192.       len += formatex(menu[len], charsmax(menu) - len, "\r2. \wElite Crew^n");
  193.       len += formatex(menu[len], charsmax(menu) - len, "\r3. \wArctic Avengers^n");
  194.       len += formatex(menu[len], charsmax(menu) - len, "\r4. \wGuerilla Warface^n");
  195.     }
  196.     case 2:{
  197.       len += formatex(menu[len], charsmax(menu) - len, "\r1. \wSeal Team 6^n");
  198.       len += formatex(menu[len], charsmax(menu) - len, "\r2. \wGSG-9^n");
  199.       len += formatex(menu[len], charsmax(menu) - len, "\r3. \wSAS^n");
  200.       len += formatex(menu[len], charsmax(menu) - len, "\r4. \wGIGN^n");
  201.     }
  202.   }
  203.   len += formatex(menu[len], charsmax(menu) - len, "^n\r5. \wAUTO ASSIGN^n");
  204.   num_to_str(team,StrN,2);
  205.   new Keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
  206.   show_menu(id, Keys, menu, -1, "jointeam");
  207.   set_msg_block(114, BLOCK_ONCE);
  208.   return PLUGIN_CONTINUE;
  209. }
  210.  
  211. public jointeam_menu(id, key)
  212. {
  213.   engclient_cmd(id, "jointeam",StrN);
  214.   switch(key)
  215.   {
  216.     case 0:
  217.     {
  218.       engclient_cmd(id, "joinclass","1");
  219.     }
  220.     case 1:
  221.     {
  222.       engclient_cmd(id, "joinclass","2");
  223.     }
  224.     case 2:
  225.     {
  226.       engclient_cmd(id, "joinclass","3");
  227.     }
  228.     case 3:
  229.     {
  230.       engclient_cmd(id, "joinclass","4");
  231.     }
  232.     case 4:
  233.     {
  234.       engclient_cmd(id, "joinclass","5");
  235.     }
  236.   }
  237.   show_menu(id, 0, "^n^n^n^n^n^n^n^n^n", 1, "jointeam");
  238.   ChooseTeam_Used[id] = true;
  239.   return 1;
  240. }
  241.  
  242. stock register_menu(const title[],keys,const function[],outside=0)
  243. {
  244.     register_menucmd(register_menuid(title,outside),keys,function);
  245. }
  246.  
  247. client_print_center(id,Message[]=""){
  248.  message_begin(MSG_ONE, get_user_msgid("TextMsg"), .player=id)
  249.  write_byte(print_center);
  250.  write_string(Message);
  251.  message_end();
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement