Русское сообщество по скриптингу

Ограничение работы плагина по времени  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: Ограничение работы плагина по времени

Сообщение KOTOKU » 21 фев 2017, 04:50

Subb98 писал(а):
NEoMASTERR писал(а):На длительное не пробовал, какие то проблемы с этим?

У меня сервер от этого падал, даже пример кода был, надо поискать его. :-)

А с чего ему от таска падать? :dntknw:
Интересно стало, как найдешь - дай поглядеть, что приводило к падению
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Ограничение работы плагина по времени

Сообщение Subb98 » 21 фев 2017, 08:25

KOTOKU, я предполагаю, что установка таска с длительным интевалом и давала такой результат. У меня был даже не один пример, обязательно поищу. Это был плагин авторестарта сервера 1 раз в сутки.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Ограничение работы плагина по времени

Сообщение KOTOKU » 21 фев 2017, 15:39

Subb98 писал(а):
KOTOKU, я предполагаю, что установка таска с длительным интевалом и давала такой результат. У меня был даже не один пример, обязательно поищу. Это был плагин авторестарта сервера 1 раз в сутки.


В исходниках не смотрел? Может там что-то не так?
Пофиксили это или нет ? (Извиняй, что столько вопросов)
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Ограничение работы плагина по времени

Сообщение NEoMASTERR » 21 фев 2017, 15:44

Запустил сегодня с утра проверить, пока стабильно. mp_timelimit 2000 стоит, на карте афк боты (xfakeplayers), раунд не менялся.
Код: Выделить всё
static i;
for (= 0; i < 24; ++i)
{
    set_task(float(i*3600), "task_test", i*3600)
}

public task_test(id)
{
    log_amx("Task time %d hour(s) completed", id / 3600)
}


Код: Выделить всё
L 02/21/2017 - 12:04:29: [abd.debug.amxx] Task time 1 hour(s) completed
L 02/21/2017 - 13:04:29: [abd.debug.amxx] Task time 2 hour(s) completed
L 02/21/2017 - 14:04:28: [abd.debug.amxx] Task time 3 hour(s) completed
L 02/21/2017 - 15:04:29: [abd.debug.amxx] Task time 4 hour(s) completed
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Ограничение работы плагина по времени

Сообщение Subb98 » 21 фев 2017, 17:53

KOTOKU писал(а):В исходниках не смотрел? Может там что-то не так?
Пофиксили это или нет ? (Извиняй, что столько вопросов)

Нет, не смотрел. Не знаю, пофиксили или нет. Не уверен, что разработчики вообще в курсе проблемы.

Добавлено спустя 32 секунды:
NEoMASTERR, код ещё не искал, сегодня обязательно поищу и скину.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Ограничение работы плагина по времени  [Решено]

Сообщение Pakistan-Cs » 21 фев 2017, 19:44

Код: Выделить всё
#include <amxmodx>

#define KEY_DELAY 170.0 //Время через которое будут отключены возможности плагина

public plugin_init()
{
    register_clcmd("say /au", "clcmd");

    new iTime[12];
    if(!get_localinfo( "serverstarttime", iTime, sizeof(iTime) -1))
    {
         num_to_str(allTime = get_systime(), iTime, charsmax(iTime));
         set_localinfo("serverstarttime", iTime)
    }
    else allTime = str_to_num(iTime);         
}

public clcmd(id)
{
    if(get_systime() - allTime > KEY_DELAY)
    {
                 client_print(id, print_chat, "This function offline available to server")
                 return PLUGIN_HANDLED;
    }
}


Возможно кто то по другому напишет) Но так все работает) Даже после смены карты все работает) Спасибо всем) Тему можно закрыть) :bravo: :thumbs_up :-) :-)
Аватара пользователя
Pakistan-Cs
 
Сообщения: 29
Зарегистрирован: 09 сен 2013, 07:15
Благодарил (а): 12 раз.
Поблагодарили: 2 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Пред.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11