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

    Всего на сайте: 14
    Гостей: 4
    Пользователи: - отсутствуют
    Роботы: Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 23-12-2011, 00:26 Просмотров: 7137

    menu_setprop Функция устанавливает свойства меню

    У меню есть несколько важных свойств, например как название пунктов для навигации по страницам или пункта выхода выхода, количество пунктов на странице и тому подобное, все они задаются в одной функции menu_setprop

    Инфо из newmenus.inc:
    /**
    * Sets a menu property.
    *
    * @param menu            Menu resource identifier.
    * @param prop            MPROP_ constant.
    * @param ...            Property parameters.
    * @return                1 on success, 0 on failure.
    * @error                Invalid menu resource or property.
    */
    native menu_setprop(menu, prop, ...);


    Синтаксис:
    menu_setprop ( menu, prop, ... )

    • menu - Идентификатор меню
    • prop - Константа свойства


      • // Число пунктов на странице. 0 - без нумерации страниц.
        #define MPROP_PERPAGE 1
        // Название кнопки "Назад". Параметр - строка.
        #define MPROP_BACKNAME    2
        // Название кнопки "Дальше". Параметр - строка.
        #define MPROP_NEXTNAME    3    
        // Название кнопки "Выход". Параметр - строка.
        #define MPROP_EXITNAME 4  
        // Текст заголовка меню. Параметр - строка.    
        #define MPROP_TITLE 5          
        // Возможность выхода. Параметр - число, смотрите константы MEXIT.
        #define MPROP_EXIT 6          
        // Цвет чисел. Параметр - строка. (По умолчанию "\r")
        #define MPROP_NUMBER_COLOR 10  
    • ... - Значение для свойства:
      • Для MPROP_EXIT
        #define MEXIT_ALL 1           // В меню будет кнопка выхода (по умолчанию)
        #define MEXIT_NEVER -1         // В меню не будет кнопки выхода

      • Для остальных см. выше.



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

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

    #include <amxmodx>
    #include <amxmisc>

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

    new mTEST // Menu
    new mcbTEST // Menu Callback

    public plugin_init() {
        
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        register_clcmd("say /menu","func_menu")
        
        /* Menu TEST */
        mTEST = menu_create("TEST", "mh_TEST")
        mcbTEST = menu_makecallback("mcb_TEST")
        menu_additem(mTEST, "M test 1", "ma_TEST", ADMIN_ALL, mcbTEST)
        menu_additem(mTEST, "M test 2", "ma_TEST", ADMIN_ALL, mcbTEST)
        menu_additem(mTEST, "M test 3", "ma_TEST", ADMIN_ALL, mcbTEST)
        menu_additem(mTEST, "M test 4", "ma_TEST", ADMIN_ALL, mcbTEST)
        menu_additem(mTEST, "M test 5", "ma_TEST", ADMIN_ALL, mcbTEST)
        
        menu_setprop(mTEST,MEXIT_ALL, 0)
        
        /* Menu End */
        
        
        
    }
    public func_menu(id){
        //Функция показывает меню,
        //которое было сформировано еще в plugin_init
        menu_display(id, mTEST, 0)
    }
    /* Menu TEST */
    public mh_TEST(id, menu, item) {
        // Функция вызывается при выборе одного из пунктов меню
    }
    public mcb_TEST(id, menu, item) {
        // Тут код для активации/де активации пунктов меню
    }


    Описание:
    В данном примере я не буду рассматривать все свойства, они описаны в синтаксисе, я приведу лишь один пример, как убрать пункт "выход" из меню.
    Что бы не пояснять весь код, повторю функцию:
    menu_setprop(mTEST,MEXIT_ALL, 0)
    mTEST это идентификатор созданного меню, далее идет свойство описанное в синтаксисе и третий аргумент указывает что это свойство будет выключено.
    На картинке результат работы примера:
    menu_setprop Функция устанавливает свойства меню
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    menu_setprop Функция устанавливает свойства меню
    uNkez

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

    Хмм , достаточно удобная функция например для votemap либо для voteban...
    Arctic

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

    Цитата: uNkez
    voteban...

    тыкнут абы куда.
    9iky6

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

    MEXIT_ALL 1

    иии
    MPROP_PERPAGE 1

    Опечатка? Или под 1 идентификатором могут каким-то образом быть 2 параметра?
    Admin

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

    9iky6, MPROP_PERPAGE это свойство, а MEXIT_ALL значение для свойства.
    --------------------

    Информация

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

Реклама