• Alive | Дата: Вторник, 22.05.2012, 17:15 | Сообщение # 1 |
Сообщений: 442
| Процесс создания игровых меню не очень сложный, но вам нужны хоть какие то навыки при работе с павн (прочитайте как создать свой плагин)..
Итак. если навыки у вас есть - приступим.. Сначала надо создать переменную, в которую поместим информацию об меню: Code #include <amxmodx> new menu // оглашаем новую переменную
public plugin_init() { register_plugin("Menu Test","1.0","Alive"); menu = menu_create("Крутая менюшка","func_menu"); // помещаем информацию
} Мы сделали меню с названием крутая менюшка, и которая вызывается в функции func_menu.
Теперь создадим пункты меню, от 1 до 3, например: Code #include <amxmodx> new menu
public plugin_init() { register_plugin("Menu Test","1.0","Alive"); 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","Alive"); 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 пункта меню - четвертый автоматом добавится на след. страницу.
Вот так наше меню будет выглядеть в игре: Code страница 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","Alive"); 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","Alive"); 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) //показываем меню просто указывая игрока и переменную меню
return PLUGIN_HANDLED }
Вот самые основные функции для работы с меню: Code peremennaya = menu_create("Название меню","funckciya") // СОЗДАТЬ МЕНЮ
menu_additem( peremennaya,"Название пункта меню") // ДОБАВИТЬ ПУНКТ МЕНЮ
menu_addblank( peremennya,-1) // Добавить ПРОПУСК после пункта меню (пустая строка)
menu_display(id, peremennya) // ПОКАЗАТЬ МЕНЮ игроку
menu_setprop( menu,MPROP_PERPAGE, ЧИСЛО) // ЧИСЛО пунктов на страницу //( ставь 0 если работаешь с 1 страницей)
Плагины для Amxx и модов cs 1.6 | Плагины Source | Плагины Global Offensive Связь с AMC | Партнерство с CS-HELP
|
|
| |