Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 15
    Гостей: 7
    Пользователи: Rizzjacqus, nurbol99
    Роботы: crawl Bot, robot Bot, Yandex Bot, Yandex Bot, robot Bot, Yandex Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 17-12-2011, 00:28 Просмотров: 8782

    menu_additem Функция добавляет пункт в меню

    После того как объект меню создан, необходимо добавить в это меню пункты для выбора игроком или админом.
    На мой взгляд эта функция уже имеет огромное преимущество перед старой системой меню.
    например своей возможностью использовать предварительный вызов и обработку пунктов меню (callback)
    То есть можно выполнить проверку пункта и сделать его не активным. Но ботом в другой раз.

    Инфо из newmenu.inc:
    /**
    * Adds an menu to a menu.
    *
    * @param menu            Menu resource identifier.
    * @param name            Item text to display.
    * @param info            Item info string for internal information.
    * @param paccess            Access required by the player viewing the menu.
    * @param callback        If set to a valid ID from menu_makecallback(), the
    *                        callback will be invoked before drawing the item.
    * @noreturn
    * @error                Invalid menu resource.
    */
    native menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1);


    Синтаксис:
    menu_additem ( menu, const name[], const info[]="", paccess=0, callback=-1 )

    • menu - Идентификатор меню ( в какое меню добавляем пункт)
    • const name[] - Имя пункта меню ( что будет видеть игрок)
    • const info[]="" - Передача информации от пункта меню к функции обработчику
    • paccess=0 - Флаг доступа к данному пункту меню
    • callback=-1 - Если используется callback, то указывается его глобальный идентификатор или -1 если нет.


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[newmenu.inc] menu_additem"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    new mTEST // Menu
    new mcbTEST // Menu Callback

    public plugin_init() {

        register_plugin(PLUGIN, VERSION, AUTHOR)

        mTEST = menu_create("TEST", "mh_TEST")

        mcbTEST = menu_makecallback("mcb_TEST")

        menu_additem(mTEST, "123 test", "ma_TEST", ADMIN_ALL, mcbTEST)


    Описание:
    Обратите внимание, что идентификаторы меню и callback функции глобальны.
    И в функции добавления пункта меню, указаны эти идентификаторы.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    menu_additem Функция добавляет пункт в меню
    maine

    18.01.2012
    ICQ: --
    Публикаций: 0
    Комментариев: 6
    Репутация: -  0  +

    а как сделать 8 или 9 пунктов меню на одной странице?
    Вроде бы возможно в старой системе меню, но описания не нашел.
    KEFIR

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    А по-поводу флагов можно поподробнее? Как сделать чтобы меню пункт меню был доступен только для админов? Как флаг этот тут прописать? В примере ADMIN_ALL пункт доступен всем
    Arctic

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Цитата: KEFIR
    В примере ADMIN_ALL пункт доступен всем

    так и должно быть.

    также следует заменить, что макс.размер const name[] = 64
    Chedroni

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Извеняюсь за мой глупый вопрос я начинающий но , что и откуда это (ma_TEST)
    Chedroni

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    подскажите пожалуйста как выполнить функцию нажав на (123 test)
    Nesquik

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Chedroni,
    ma_TEST = Это название клавиши

    Chedroni,
    Нажав 123 test выполнится нажатие клавиши ma_TEST

    SwimUp

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    menu_setprop(idmenu,MPROP_PERPAGE,0)
    gavrilyuc

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Вопрос а может ли иметь ma_TEST цветные буквы например :
    \r[\yHelloWorld\r]
    а то умя чё-то не выходит(*
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  53  +

    gavrilyuc, используй поиск:
    оформление меню
    --------------------

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама