Главная » Статьи » Статьи |
Если вы создается меню, опции которого не изменяются (постоянные), то лучше всего создать его, как глобальное. Не нужно его уничтожать и заново создавать по несколько раз. Если небходимо выровнять текст в меню по правому краю, то используйте \R. Меню не будет показываться, если у него нет опций. Для того чтобы убрать отображение меню у игрока на экране, можно использовать код: Quote show_menu(id, 0, "^n", 1) Список цветов, которые можно использовать при создании меню:
Quote Белый - \w Желтый - \y Красный - \r Серый - \d Функции: Quote menu_create(title[], handler[], ml=0) title - заголовок меню, который отображается сверху. menu - меню, с которым мы будем взаимодействовать. Установка свойств меню menu - меню, с которым мы будем взаимодействовать. Отображение меню Quote menu_display(id, menu, page) id - индекс игрока, которому мы должны показать меню. Уничтожение меню Quote menu_destroy(menu) menu - меню, которое нужно уничтожить. После вызова данной функции необходимо использовать return PLUGIN_HANDLED. Получение информации об опции меню Quote menu_item_getinfo(menu, item, &access, command[], cmdlen, name[]="", namelen=0, &callback) menu - меню, из которого необходимо получить информацию. Добавление пустой опции (пробел) Quote menu_addblank(menu, slot=1) menu - меню, с которым необходимо произвести действие. Отменить меню у игрока Quote menu_cancel(player) player - игрок, у которого необходимо отменить действие меню, меню останется на экране игрока, но любое действие будет анулировано. Количество опций в меню Quote menu_items(menu) menu - меню, у которого необходимо получить кол-во опций. Количество страниц в меню Quote menu_pages(menu) menu - меню, у которого необходимо получить кол-во страниц. Установить callback на опцию меню Quote menu_item_setcall(menu, item, callback=-1) menu - меню, с которым происходит взаимодействие. Установить команду на опцию меню Quote menu_item_setcmd(menu, item, cmd[]) menu - меню, с которым происходит взаимодействие. Установить название опции меню Quote menu_item_setname(menu, item, name[]) menu - меню, с которым происходит взаимодействие. Создание callback функции Quote menu_makecallback(function[]) function - название функции для callback. Quote public function(id, menu, item) Функция может возвращать следующие значения: ITEM_IGNORE, ITEM_ENABLED или ITEM_DISABLED. Создание базисного меню (основной пример)
Quote public plugin_init() { // Данные вашего плагина // Клиентская команда для вызова меню // Создадим функцию, которая будет формировать меню // Теперь добавим некоторые опции для меню // Устанавливаем свойства меню // Отображение меню игроку // Создадим теперь функцию обработки действий меню // Теперь создадим переменные, необходимые для получения информации о меню и нажатой опции // Получаем информацию об опции // Если посмотреть раньше на использовании menu_additem, то можно увидеть, что мы посылали некоторую информацию // Теперь найдем, какая именно опция была использована // Уничтожение меню Создание меню, сформированного из игроков на сервере
Quote public plugin_init() { // Клиентская команда для вызова меню register_clcmd("my_menu", "My_Menu") } public My_Menu(id) // Необходимые переменные, которые понадобятся нам при выводе меню из игроков // Переменные для хранения информации об игроках // Получаем массив игроков // Цикл по всем игрокам // Получаем имя и ID игрока // Добавляем опцию по данному игроку } // Мы сформировали меню из игроков, присутствующих на сервере, теперь выводим его public menu_handler(id, menu, item) new s_Data[6], s_Name[64], i_Access, i_Callback // Получаем ID игрока, который был выбран в меню // Проверяем, если игрок живой menu_destroy(menu) Создание меню для голосования // Для хранения меню голсоований public plugin_init() public StartVote(id) g_VoteMenu = menu_create("\rVote Menu:", "menu_handler") menu_additem(g_VoteMenu, "Vote Option 1", "0", 0) for (new i; i < i_Num; i++) menu_display(i_Player, g_VoteMenu, 0) // Увеличиваем, чтобы узнать сколько игроков голосуют // Останавливаем голосование через 10 секунд return PLUGIN_HANDLED public menu_handler(id, menu, item) new s_Data[6], s_Name[64], i_Access, i_Callback // Полчаем информацию о том, какая опция была выбрана // Увеличиваем количество голосов по данной опции return PLUGIN_HANDLED public EndVote() menu_destroy(g_VoteMenu) // Сбрасываем информацию о том, что игроки голосуют Создание меню с использованием под-меню
Quote public plugin_init() { register_clcmd( "my_menu","My_Menu") } public My_Menu(id) menu_additem(i_Menu, "\wFirst option #1", "1", 0) menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL) public menu_handler(id, menu, item) new s_Data[6], s_Name[64], i_Access, i_Callback switch(i_Key) menu_destroy(menu) public Sub_Menu(id) menu_additem(i_Menu, "\wSub-option #1", "1", 0) menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL) public submenu_handler(id, menu, item) // Если игрок на сервере, то показываем главное меню return PLUGIN_HANDLED new s_Data[6], s_Name[64], i_Access, i_Callback new i_Key = str_to_num(s_Data) switch(i_Key) menu_destroy(menu) // Если вы хотите показать главное меню потом return PLUGIN_HANDLED | |
Категория: Статьи | Добавил: aDDFury (13.02.2011) | |
Просмотров: 660 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |
|