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

    Всего на сайте: 19
    Гостей: 4
    Пользователи: Ramil_
    Роботы: 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 Дата: 22-11-2011, 00:28 Просмотров: 5553

    pause Функция ставит плагин на паузу

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

    Инфо из amxmodx.inc:
    /* Pauses function or plugin so it won't be executed.
    * In most cases param1 is name of function and
    * param2 name of plugin (all depends on flags).
    * Flags:
    * "a" - pause whole plugin.
    * "c" - look outside the plugin (by given plugin name).
    * "d" - set "stopped" status when pausing whole plugin.
    *       In this status plugin is unpauseable.
    * Example: pause("ac","myplugin.amxx")
    *
    * Note: There used to be the b and e flags as well,
    * which have been deprecated and are no longer used.
    */
    native pause(const flag[], const param1[]="",const param2[]="");


    Синтаксис:
    pause ( flag[], const param1[]= )

    • flag[] - Флаг устанавливающий тип паузы ( я пользовался только флагом "a",остальне честно говоря не знаю для чего)
    • const param1[]= - Имя плагина при флаге "c"


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

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

    #include <amxmodx>
    #include <amxmisc>

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

    public plugin_init() {

        register_plugin(PLUGIN, VERSION, AUTHOR)

        pause("a")
            
    }


    Описание:
    После перезагрузки сервера плагин будет в состоянии paused.
    Посмотреть состояние можно набрав в консоли сервера amxx plugins.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    pause Функция ставит плагин на паузу
    Mr_ILYAS

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

    Если флаг "a", то пауза всех плагинов.
    Флаг "d", анпауза (разблокировка) всех плагинов.

    Если с флагом "c", то действия выполняться только для для указанного плагина.
    golukon

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

    Почему же остановка всех плагинов? Остановка только того, где находится функция pause
    Valer4

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

    Из AMX MOD X 1.8.3:
    /**
    * Pauses a plugin so it will not be executed until it is unpaused.
    *
    * @note This used to be able to pause specific functions but this functionality
    * (along with the flags "b" and "e") has been deprecated.
    * @note If used without flag "c" this will pause the calling plugin.
    *
    * @param flag Pause flags
    * "a" - pause plugin
    * "c" - search for other plugins using param1
    * "d" - stop plugin, making it unavailable to unpause
    * @param param1 Plugin filename
    * @param param2 Unused and ignored
    *
    * @return 1 on success, 0 otherwise
    * @error If it is attempted to use the deprecated functionality,
    * an error is thrown.
    */
    native pause(const flag[], const param1[]="", const param2[]="");

    Флаг a остановить, с возможностью вывести его из паузы.
    Флаг с остановить другой плагин, указывается во втором аргументе.
    Флаг d остановить, без возможности вывести его из паузы.
    Флаги b и e устарели и приведут к возникновению ошибки!
    Возвращает 1 В случае успеха, 0 В противном случае.
    Написано также, что и сама функция устарела, но что использовать взамен не указано.
    Примеры:

        new filename[32], title[32], status[2]
        get_plugin(a, filename, charsmax(filename), title, charsmax(title), status, 0, status, 0, status, charsmax(status))
        pause("ac", filename)
        pause("dc", filename)

    Для чего второй аргумент пока не ясно.
    Valer4

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

    В случае флага "a" после смены карты плагин снимается с паузы.

    Информация

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

Реклама