Главная Форум Файлы Статьи Сyberarena.tv
Поиск по сайту
Форма входа



Меню сайта

Мини-чат
200

Опросик
Как вы попали на наш сайт?
Всего ответов: 72

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная | Регистрация | Вход
Главная » Статьи » Мои статьи

Новая система меню AMXX
Если вы создается меню, опции которого не изменяются (постоянные), то лучше всего создать его, как глобальное. Не нужно его уничтожать и заново создавать по несколько раз.

Если небходимо выровнять текст в меню по правому краю, то используйте \R.

Меню не будет показываться, если у него нет опций.

Для того чтобы убрать отображение меню у игрока на экране, можно использовать код:
show_menu(id, 0, "^n", 1)

Список цветов, которые можно использовать при создании меню:

Белый - \w
Желтый - y
Красный - r
Серый - d
Функции:

Создание меню
menu_create(title[], handler[], ml=0)

title - заголовок меню, который отображается сверху.
handler - функция, с которой будет происходить взаимодействие, когда произошло нажатие одной из опций.
ml - использовать мультиязычность при формировании меню.

Добавление опции меню
menu_additem(menu, const name[], const command[], paccess=0, callback=-1) 

menu - меню, с которым мы будем взаимодействовать.
name - название опции меню (нумерация происходит автоматически).
command - информация, которую мы посылаем при использовании данной опции.
paccess - уровень доступа к данной опции (флаг администратора).
callback - если данная опция установлена (это должен быть результат функции menu_makecallback), то будет вызов функции до вывода опции на экран, что даст возможность изменить опцию в реальном времени.

Установка свойств меню
menu_setprop(menu, prop, ...)

menu - меню, с которым мы будем взаимодействовать.
prop - свойство меню. 

Отображение меню
menu_display(id, menu, page)

id - индекс игрока, которому мы должны показать меню.
menu - меню, которое необходимо показать.
page - страница меню, с которой начинается отображение.

Уничтожение меню
menu_destroy(menu)

menu - меню, которое нужно уничтожить. После вызова данной функции необходимо использовать return PLUGIN_HANDLED.

Получение информации об опции меню
menu_item_getinfo(menu, item, &access, command[], cmdlen, name[]="", namelen=0, &callback)

menu - меню, из которого необходимо получить информацию.
item - опция, о которой необходимо получить информацию.
access - уровень доступа для указанной опции.
command - данные, передаваемые данной опцией.
cmdlen - длина данных.
name - название опции меню.
namelen - длина названия.
callback - значение callback.

Добавление пустой опции (пробел)
menu_addblank(menu, slot=1)

menu - меню, с которым необходимо произвести действие.
slot - если значение больше 0, то увеличивает пробелы в данном количестве раз.
Можно использовать только после menu_additem.

Отменить меню у игрока
menu_cancel(player)

player - игрок, у которого необходимо отменить действие меню, меню останется на экране игрока, но любое действие будет анулировано.

Количество опций в меню
menu_items(menu) 

menu - меню, у которого необходимо получить кол-во опций.

Количество страниц в меню
menu_pages(menu)

menu - меню, у которого необходимо получить кол-во страниц. 

Установить callback на опцию меню
menu_item_setcall(menu, item, callback=-1)

menu - меню, с которым происходит взаимодействие.
item - опция меню.
callback - значение для callback.

Установить команду на опцию меню
menu_item_setcmd(menu, item, cmd[])

menu - меню, с которым происходит взаимодействие.
item - опция меню.
cmd - команда опции.

Установить название опции меню
menu_item_setname(menu, item, name[])

menu - меню, с которым происходит взаимодействие.
item - опция меню.
name - название опции. 

Создание callback функции
menu_makecallback(function[]) 

function - название функции для callback.
Данная функция передает аргументы id игрока, id меню и id опции:
public function(id, menu, item) 

Функция может возвращать следующие значения: ITEM_IGNORE, ITEM_ENABLED или ITEM_DISABLED.
Категория: Мои статьи | Добавил: Admin[K2] (17.11.2010)
Просмотров: 673 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

AllBlog