Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Можно ли соединить 2 меню сервера по другому?
Можно ли соединить 2 меню сервера по другому?
runetov
Дата: Понедельник, 06.08.2012, 15:34 | Сообщение # 1
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
Можно ли соединить 2 меню сервера по другому?
Никак у меня а по другому чтобы во этого не было..

чтобы вот этого не было

register_clcmd("say /buy_menu", "function_admins_menu")
register_clcmd("say_team /buy_menu", "function_admins_menu")

register_plugin("say /buyxp","0.1","***volf***")
register_plugin("buyxp","0.1","***volf***")
register_clcmd("say /buyxp","buy_xp",0,"noky/7ka XP")


Пример допустим заходишь в меню сервера

1.Магазины
2.Купить привилегии
3.--
4.--

выбираешь 1.Магазины там открывается еще одно меню с магазинами..
1.shopmenu
2.shopmenu2
3.shopmenu3
4.shopmenu4

или заходишь 2.Купить привилегии там открывается меню купить
1.Админку
2.Випку
3.Опыт
4.(Талисман)



Code

#include <amxmodx>  
  #include <amxmisc>  
   
  public plugin_init()   
  {  
   register_plugin("menu", "0.1", "*")  
   register_clcmd("say /menus", "function_menu")  
   register_clcmd("say_team /menus", "function_menu")  
      
      
   register_clcmd("say /buy_menu", "function_admins_menu")  
   register_clcmd("say_team /buy_menu", "function_admins_menu")  
      
   register_plugin("say /buyxp","0.1","***volf***")  
   register_plugin("buyxp","0.1","***volf***")  
   register_clcmd("say /buyxp","buy_xp",0,"noky/7ka XP")  
      
  }  
   
  public buy_xp(id,level,cid) {  
   
  if (!cmd_access(id,level,cid,1))  
  return PLUGIN_CONTINUE  
   
  show_motd(id,"buyxp.txt","buy_xp_lvl.")  
  return PLUGIN_CONTINUE   
  }  
   
  public function_admins_menu(id)   
  {  
   new menu = menu_create("\rМеню Покупок", "admins_menu_handler")  
      
   
   menu_additem(menu, "\wКупить \rАдминку","1")  
   menu_additem(menu, "\wКупить \rВипку","2")  
   menu_additem(menu, "\wКупить \rXP/Опыт","3")  
      
   menu_setprop(menu, MPROP_EXITNAME, "Выход")  
   menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)  
           
   menu_display(id,menu,0)  
   return PLUGIN_HANDLED  
   
  }  
   
  public function_menu(id)   
  {  
   new menu = menu_create("\rМеню сервера", "menu_handler")  
      
   
   menu_additem(menu, "\wМеню покупки","1")  
   menu_additem(menu, "\rПусто","2")  
   menu_additem(menu, "\rПусто","3")  
   menu_additem(menu, "\rПусто","4")  
   menu_setprop(menu, MPROP_EXITNAME, "Выход")  
   menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)  
           
   menu_display(id,menu,0)  
   return PLUGIN_HANDLED  
   
  }  
   
  public client_authorized(id)  
  {  
  client_cmd(id, "bind ^"F5^" ^"menu^"")  
  }  
       
  public admins_menu_handler(id, menu, item)   
  {  
   if(item == MENU_EXIT)   
   {  
    menu_destroy(menu)  
           return PLUGIN_HANDLED  
   }  
           
   new data[6], iName[64], access, callback  
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)  
         
   new key = str_to_num(data)  
           
   switch(key)   
   {  
    case 1:{  
     if(is_user_alive(id))  
     client_cmd(id, "say /adminka")  
     client_cmd(id, "adminka")  
           }  
           case 2:{  
      client_cmd(id, "vipka")  
      client_cmd(id, "say /vipka")  
           }  
           case 3:{  
      client_cmd(id, "say /buyxp")  
      client_cmd(id, "buyxp")  
           }  
              
             
   }  
   return PLUGIN_HANDLED  
  }  
   
  public menu_handler(id, menu, item)   
  {  
   if(item == MENU_EXIT)   
   {  
    menu_destroy(menu)  
           return PLUGIN_HANDLED  
   }  
           
   new data[6], iName[64], access, callback  
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)  
           
   new key = str_to_num(data)  
           
   switch(key)   
   {  
    case 1:{  
     if(is_user_alive(id))  
     client_cmd(id, "buy_menu")  
     client_cmd(id, "say /buy_menu")  
     }  
     case 2:{  
      client_cmd(id, "say /")  
     }  
     case 3:{  
      client_cmd(id, "say /")  
     }  
     case 4:{  
      client_cmd(id, "say /")  
     }  
   
             
   }  
   return PLUGIN_HANDLED  
  }


 
Contra63
Дата: Вторник, 07.08.2012, 12:44 | Сообщение # 2
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
amazing

http://amx-x.ru/viewtopic.php?f=9&t=177

Code
#include <amxmodx>

public plugin_init()
{
  register_clcmd( "my_menu","My_Menu")
}

public My_Menu(id)
{
  new i_Menu = menu_create("\rMy menu:", "menu_handler")
   
  menu_additem(i_Menu, "\wFirst option #1", "1", 0)
  menu_additem(i_Menu, "\wSub-Menu #2", "2", 0)
   
  menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
  menu_display(id, i_Menu, 0)
}

public menu_handler(id, menu, item)
{
  if (item == MENU_EXIT)
  {
   menu_destroy(menu)
   return PLUGIN_HANDLED
  }
   
  new s_Data[6], s_Name[64], i_Access, i_Callback
  menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
   
  new i_Key = str_to_num(s_Data)
   
  switch(i_Key)
  {
   case 1:
   {
    client_print(id, print_chat, "You selected first option")
   }
   case 2:
   {
    // Открыть под-меню
    Sub_Menu(id)
   }
  }
   
  menu_destroy(menu)
  return PLUGIN_HANDLED
}

public Sub_Menu(id)
{
  // Создаем новое меню, но функция обработки действий будет другая
  new i_Menu = menu_create("\rSub-Menu:", "submenu_handler")
   
  menu_additem(i_Menu, "\wSub-option #1", "1", 0)
  menu_additem(i_Menu, "\wSub-option #2", "2", 0)
   
  menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
  menu_display(id, i_Menu, 0)
}

public submenu_handler(id, menu, item)
{
  if (item == MENU_EXIT)
  {
   menu_destroy(menu)
    
   // Если игрок на сервере, то показываем главное меню
   if (is_user_connected(id))
    My_Menu(id)
    
   return PLUGIN_HANDLED
  }
   
  new s_Data[6], s_Name[64], i_Access, i_Callback
  menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
   
  new i_Key = str_to_num(s_Data)
   
  switch(i_Key)
  {
   case 1:
   {
    client_print(id, print_chat, "You selected first sub-option")
   }
   case 2:
   {
    client_print(id, print_chat, "You selected second sub-option")
   }
  }
   
  menu_destroy(menu)
   
  // Если вы хотите показать главное меню потом
  My_Menu(id)
   
  return PLUGIN_HANDLED
}


 
runetov
Дата: Вторник, 07.08.2012, 13:33 | Сообщение # 3
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
Contra63, Спс

 
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Можно ли соединить 2 меню сервера по другому?
  • Страница 1 из 1
  • 1
Поиск: