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

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

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 11-03-2012, 14:51 Просмотров: 4180

    CreateMultiForward Функция создает мульти-плагин форвард

    Сразу хочу предупредить, эта функции не создаст ни чего готового, она лишь создает межплагиновый форвард и описывает его структуру.

    Эти функции необходимы например в джамп модах, так как там после прохождения карты наступает событие "финиш" которого изначально в игре нету, но оно важно для сопутствующих для данного мода плагинов, например выдавать веревку после прохождения карты.

    Инфо из amxmodx.inc:

    /*
    * Creates a multi-plugin forward.
    * Stop type must be one of the ET_ values in amxconst.inc
    * results will be > 0 for success
    */
    native CreateMultiForward(const name[], stop_type, ...);


    Синтаксис:
    CreateMultiForward(const name[], stop_type, ...)

    • const name[] - Название создаваемого форварда (функции)
    • stop_type - Тип блокировки:
      #define ET_IGNORE        0    //ignore return val
      #define ET_STOP            1    //stop on PLUGIN_HANDLED
      #define ET_STOP2        2    //same, except return biggest
      #define ET_CONTINUE        3    //no stop, return biggest
      Честно говоря не разбирался с этим, использовал готовый вариант от РоманоВа с ET_IGNORE
    • ... - Передаваемые типы данных через запятую:
      #define FP_CELL        0
      #define FP_FLOAT        1
      #define FP_STRING    2
      #define FP_ARRAY        4

    Функция возвращает id > 0 если форвард создан.

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

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

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmodx.inc] CreateMultiForward"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    new g_fwd_first

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        g_fwd_first = CreateMultiForward("my_first_multi_forward", ET_IGNORE, FP_CELL, FP_CELL)
        server_print("Forward[%d]",g_fwd_first)
    }

    Описание:
    Как уже говорилось выше, ни чего особого с одной лишь этой функцией не сделаешь, а только лишь можно создать мультифорвард и записать его id.

    А для примера вывести его в консоль сервера. Для продолжения изучения создания мультифорварада нужно изучить функцию ExecuteForward, которая можно сказать и вызывает созданное событие и передает необходимые данные.
    Чуть позже я напиши и о ней, а дале будет урок об этих функциях в месте.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама