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
- Замечания:
|
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, Спс
|
|
| |