HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. new bool:ChooseTeam_Used[33];
  5. new bool:DetectVIPMap[33];
  6.  
  7. public plugin_init()
  8. {
  9. register_plugin("Players Count in Team Menu" , "2.0" , "kramesa" );
  10.  
  11. register_message(get_user_msgid("ShowMenu"), "MenuTeam");
  12. register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
  13.  
  14. register_clcmd("chooseteam", "OpenMenu");
  15.  
  16. register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  17.  
  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 Event_HLTV_New_Round(id)
  30. {
  31. arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
  32. }
  33.  
  34. public client_authorized(id)
  35. {
  36. ChooseTeam_Used[id] = false;
  37. }
  38.  
  39. public OpenMenu(id)
  40. {
  41. if(DetectVIPMap[0] == false)
  42. {
  43. menu_cancel(id);
  44. TeamMenu(id);
  45. return PLUGIN_HANDLED;
  46. }
  47. return PLUGIN_CONTINUE;
  48. }
  49.  
  50. public MenuTeam(msg, des, rec)
  51. {
  52. if(DetectVIPMap[0] == false)
  53. {
  54. static const TeamSelect[] = "#Team_Select";
  55.  
  56. static sz_Menu[sizeof(TeamSelect)];
  57.  
  58. get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
  59.  
  60. if(!equal( sz_Menu, TeamSelect))
  61. {
  62. return PLUGIN_CONTINUE;
  63. }
  64.  
  65. set_pdata_int(rec, 205, 0);
  66.  
  67. TeamMenu(rec);
  68.  
  69. return PLUGIN_HANDLED;
  70. }
  71. return PLUGIN_CONTINUE;
  72. }
  73.  
  74. public VGUITeam(msg, des, rec)
  75. {
  76. if(get_msg_arg_int(1) != 2)
  77. {
  78. return PLUGIN_CONTINUE;
  79. }
  80.  
  81. TeamMenu(rec);
  82.  
  83. return PLUGIN_HANDLED;
  84. }
  85.  
  86. public TeamMenu(id)
  87. {
  88. if(ChooseTeam_Used[id] == true)
  89. {
  90. client_print(id, print_center, "Csak 1 csapat valtas engedelyezett 1 korben.");
  91. return PLUGIN_HANDLED;
  92. }
  93.  
  94. new iPlayers[32], iNumCT , iNumT;
  95. get_players(iPlayers, iNumCT, "e", "CT" );
  96. get_players(iPlayers, iNumT, "e", "TERRORIST");
  97.  
  98. new menu = menu_create("\yValassz Csapatot", "TeamMenu_Handler");
  99.  
  100. new szTittle[124];
  101.  
  102. formatex(szTittle, charsmax(szTittle), "\wTerrorista \r[%d]", iNumT);
  103. menu_additem(menu, szTittle, "1")
  104.  
  105. formatex(szTittle, charsmax(szTittle), "\wRendor \r[%d]^n", iNumCT);
  106. menu_additem(menu, szTittle, "2")
  107.  
  108. menu_additem(menu, "\wAutomatikus-Valasztas", "3");
  109. menu_additem(menu, "\wNezo", "4");
  110.  
  111. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  112.  
  113. menu_display(id, menu, 0);
  114.  
  115. return PLUGIN_CONTINUE;
  116. }
  117.  
  118. public TeamMenu_Handler(id, menu, item)
  119. {
  120. if(item == MENU_EXIT)
  121. {
  122. return PLUGIN_HANDLED;
  123. }
  124.  
  125. new Name[64], Data[6], Access, Callback;
  126.  
  127. menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);
  128.  
  129. static choose[4][2] = {"1","2","5","6"};
  130. engclient_cmd(id, "jointeam", choose[Data[0] - '1']);
  131.  
  132. ChooseTeam_Used[id] = true;
  133.  
  134. menu_destroy(menu);
  135. return PLUGIN_HANDLED;
  136. }
  137.  
  138.  
  139.  
  140.