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

    Всего на сайте: 5
    Гостей: 5
    Пользователи: - отсутствуют
    Роботы: - отсутствуют

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 20-12-2011, 02:25 Просмотров: 4633

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

    Продолжаем знакомиться с новой системой меню. Иногда необходимо сделать пропуск в меню, может для выделения одно из пунктов, а может для удобства конкретного меню. Ведь не все меню делаются для выбора вип возможностей, бывают и более сложны и нужные меню.
    Для того что бы сделать отступ в меню есть функция menu_addblank, которая может делать два типа отступа.

    Инфо из newmenu.inc:
    /**
    * Adds a blank line to a menu.
    *
    * @param menu            Menu resource identifier.
    * @param slot            1 (default) if the line should shift the numbering down.
    *                         0 if the line should be a visual shift only.
    * @noreturn
    * @error                Invalid menu resource.
    */
    native menu_addblank(menu, slot=1);


    Синтаксис:
    menu_addblank ( menu, slot=1 )

    • menu - Идентификатор меню
    • slot=1 - Если 1 то пустая строка занимает порядковый номер и следующий пункт меню будет больше на количество пропусков.
      Если 0, то пропуск не будет занимать порядковые номера.
      На рисунке пример, как первый пропуск сбивает нумерацию на 1, а второй нет, но нумерация уже была сбита ранее.
      menu_addblank Функция добавляет пустую строку в меню







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

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

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[newmenu.inc] menu_addblank"
    #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_addblank(mTEST, 1)
        menu_additem(mTEST, "M test 2", "ma_TEST", ADMIN_ALL, mcbTEST)
        menu_addblank(mTEST, 0)
        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 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_addblank Функция добавляет пустую строку в меню
    arwel

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

    Можно так еще
    menu_additem(mTEST, "M test 1\n", "ma_TEST", ADMIN_ALL, mcbTEST)

    Только после элементов меню, то есть нельзя сделать отступ перед первым элементом в меню.]

    Таким способом как я описал выше можно smile
    Admin

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

    Подобные способы называются костылями.
    --------------------
    stonemct

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

    menu_additem(mTEST, "\n\n\nM test 1\n", "ma_TEST", ADMIN_ALL, mcbTEST)

    так никто не отменял))
    Admin

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

    stonemct, предыдущие комментарии как раз об этом...
    --------------------

    Информация

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

Реклама