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

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

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 9-12-2011, 01:05 Просмотров: 3980

    register_menucmd Функция регистрации вызываемой функции при выборе одного из пунктов меню.

    С помощью функции register_menuid мы создали уникальный идентификатор для меню, где в коде мы вызовем свое меню, но необходимо же указать где то, какую функцию вызывать если игрок выбрал какой то пункт меню, и это делается в функции register_menucmd.
    Обращаю внимание, что все функции необходимы для полноценной работы меню.
    Инфо из amxmodx.inc:
    /* Calls function when player uses specified menu and proper keys. */
    native register_menucmd(menuid,keys, const function[] );


    Синтаксис:
    register_menucmd ( menuid,keys, const function[] )

    • menuid - Уникальный идентификатор, часто используется вот такая запись:
          register_menucmd(register_menuid("MY_MENU"), Menu_Keys, "Function")

    • keys - поразрядное число всех пунктов меню. Должно соответствовать числу пунктов меню.
      Просто в начале плагина вставляйте
      #define Keys (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)

      Я еще не достаточно сам понимаю эту лабуду,что бы объяснить вам,


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

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

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmodx.inc] old menu register_menucmd"
    #define VERSION "1.0"
    #define AUTHOR "author"
    #define Menu_Keys (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)

    new MenuPos
    new MenuPlayers[32]


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        new menu_id = register_menuid("KICK_PLAYER")
        register_menucmd(menu_id, Menu_Keys, "Pressed")
        //или так
        register_menucmd(register_menuid("MY_MENU"), Menu_Keys, "Function")
    }

    Описание:
    Читайте следующий материал о функции show_menu, там уже будет первый рабочий пример.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    Monstr™

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

    Я еще не достаточно сам понимаю эту лабуду,что бы объяснить вам

    tavot согласен биты это не так то и легко fellow
    Plrip

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

    #define Keys (1<<0)|(1<<1)|(1<<2)|(1<
    <3)|(1<<4)|(1<<5)|(1<<6)
    |(1<<7)|(1<<8)|(1<<9)

    а чего не так?
    new keys =
    MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
    U_KEY_8|MENU_KEY_9|MENU_KEY_0
    Valer4

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

    Чтобы сделать какой-то пункт меню не рабочим(к примеру, чтобы убрать выход) добавьте - keys &= ~MENU_KEY_X, где X номер пункта.

    Информация

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

Реклама