NeoGame |
Дата: Вторник, 11.10.2011, 02:20 | Сообщение # 1 |
Сообщений: 998
Награды: 13
Репутация: 34
Статус: Offline |
Процесс создания игровых меню не очень сложный, НО ВАМ НУЖНЫ ХОТЬ КАКИЕТО НАВЫКИ РАБОТЫ с павн (прочитайте как создать свой плагин)..
Итак ... если навики у вас есть - приступим.. Сначала нада создать переменную, в которую поместим информацию об меню:
Code #include <amxmodx> new menu // оглашаем новую переменную
public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); // помещяем информацию
} Мы зделали меню с названием крутая менюшка, и которая вызываеться в функции func_menu.
Теперь создадим пункты меню, от 1 до 3, например...
Code #include <amxmodx> new menu
public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") // таким образом, можна добавить пункты menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") } Вот так наше меню будет выглядеть в игре: 1. Сказать привет 2. выйти с игры 3. умереть
Пунктов меню может быть до десясяти. Ето от 1 до 9 и в конце ноль..
А теперь попробуем зделать еще 1 станицу в меню:
Code #include <amxmodx> new menu
public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть")
menu_setprop( menu,MPROP_PERPAGE, 3) // здесь писать скоко пукнтов на одной странице у нас ето 3
menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню") } Мы поставили 3 пункта меню на страницу (MPROP_PERPAGE) , значит когда в коде будет 3 пункта меню - четвертый автоматом добавитса на след. страницу. Вот так наше меню будет выглядеть в игре: Код страница 1: страница 2: 1. Сказать привет 1. Остойденитса 2. выйти с игры 2. открыть amxmodx меню 3. умереть
4.back 4.back 5.next 5.next 6.exit 6.exit
Далее, надо зделать чтоб меню работали... (покачто мы зделали только текст) и ничего происходить не будет при их использывании:
Code #include <amxmodx> new menu
public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") menu_setprop( menu,MPROP_PERPAGE, 3) menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню") }
public func_menu(id, menu, key) //функция меню всегда имеет ИД игрока(id) , инфо по меню(menu) // и кнопку(key) которую вы нажали. (ВСЕГДА надо его туда писать если более про100) { key++ // просто перепуйте ету строчку всегда
if(key==1) client_cmd(id,"say hi") //если нажатая кнопка 1, то игрок скажет hi if(key==2) client_cmd(id,"quit") //если 2 - игрок выйдет if(key==3) client_cmd(id,"kill") // 3 - игрок зделает самоубийство if(key==4) client_cmd(id,"disconnect") // 4 - ето уже будет 1ый пунт на 2ой странице if(key==5) client_cmd(id,"amxmodx") // 5 - откроетса amxmodx меню }
Вот и готова наше меню ! Осталось показать его игроку, например когда он бует писать в консоль amx_menu...
Code #include <amxmodx> new menu
public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") menu_setprop( menu,MPROP_PERPAGE, 3) menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню")
register_clcmd("amx_menu","go_menu"); // командой amx_menu будет запускатса фунция go_menu }
public func_menu(id, menu, key) { key++
if(key==1) client_cmd(id,"say hi") if(key==2) client_cmd(id,"quit") if(key==3) client_cmd(id,"kill") if(key==4) client_cmd(id,"disconnect") if(key==5) client_cmd(id,"amxmodx") }
public go_menu(id) // когда вызываетса функция go_menu, то { menu_display(id,menu) //показуем меню просто указывая игрока и перемeнную менюхи
return PLUGIN_HANDLED }
Вот cамые основные функции для работы с меню:
Code peremennaya = menu_create("Название меню","funckciya") // СОЗДАТЬ МЕНЮ
menu_additem( peremennaya,"Название пункта меню") // ДОБАВИТЬ ПУНКТ МЕНЮ
menu_addblank( peremennya,-1) // Добавить ПРОПУСК после пункта меню (пустая строка)
menu_display(id, peremennya) // ПОКАЗАТЬ МЕНЮ игроку
menu_setprop( menu,MPROP_PERPAGE, ЧИСЛО) // ЧИСЛО пунктов на страницу //( ставь 0 если работаеш с 1 страницей)
|
|
| |