Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Выключить плагин в [N] время

Статус пользователя sdf
сообщение 20.4.2014, 9:47
Сообщение #1


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Ку всем, а также с праздником.
Можно ли сделать так, что-бы в определенное время плагин сервером врубался, а в другое время вырубался?

К примеру:
В 23-00 включался плагин ночного админа, а в 10-00 утра он вырубался (дабы снизить нагрузку на сервер)
Можно ли такое сделать? и как?
Я знаю что можно плагины вырубать на определенных картах, а именно в определенное время возможно ли такое?

Спасибо заранее.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 21.4.2014, 14:49
Сообщение #2


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

конечно
так примерно можно, только другим плагином либо какой-то внешней программой

плагины кстати на лету нельзя подгружать
так что либо плагин раньше подгружать и снимать/ставить на паузу
либо изменять конфиг plugins.ini и делать после этого смену карты
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя sdf
сообщение 21.4.2014, 14:54
Сообщение #3


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Legenda,
ну как я понял, для этого нужен еще 1 плагин?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 21.4.2014, 14:58
Сообщение #4


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(sdf @ 21.4.2014, 16:54) *
Legenda,
ну как я понял, для этого нужен еще 1 плагин?

еще раз могу повторить

Код
только другим плагином либо какой-то внешней программой



upd
плагин ночного админа, звучит как бред
что мешает использовать конструкцию
Код
server_cmd("amx_default_access atz; amx_reloadadmins")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 21.4.2014, 14:59
Сообщение #5


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Посмотрите Hobo Crontab
https://forums.alliedmods.net/showthread.php?p=603001


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
trollface
сообщение 21.4.2014, 17:29
Сообщение #6
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
pause("ac") чтобы выключить
unpause("ac") чтобы включить

или я не о том?

Отредактировал: trollface, - 21.4.2014, 17:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 21.4.2014, 19:03
Сообщение #7


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

amxx pause
amxx unpause

т.е. плагин по умолчанию на паузе, а в нужное время просто снимать его с паузы
либо вообще наоборот
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 21.4.2014, 19:06
Сообщение #8
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
костыли любите?
я же дал команду в плагин для паузы плагина -_-
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 21.4.2014, 19:13
Сообщение #9


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(trollface @ 21.4.2014, 21:06) *
Legenda,
костыли любите?
я же дал команду в плагин для паузы плагина -_-

при чем тут костыли?

вроде бы я ясно написано о том,
Цитата
только другим плагином либо какой-то внешней программой

плагины кстати "на лету" нельзя подгружать

так что либо плагин раньше подгружать и снимать/ставить на паузу
либо изменять конфиг plugins.ini и делать после этого смену карты
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 21.4.2014, 19:59
Сообщение #10
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
эм..
ясно.

pause("ac") остановит плагин, в котором это прописано....
то есть

Код:
#include <amxmodx>

public plugin_init()
pause("ac")

остановит этот плагин
unpause("ac")
запустит этот плагин

pause("ac", "plugin.amxx") остановит плагин plugin.amxx
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 22.4.2014, 0:38
Сообщение #11


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

что-то типа

Скрытый текст

Код:

#include <amxmodx>

#define hour_start 22
#define hour_end 7

new bool:p_pause = false
new hour, minute, secound

public plugin_init()
{
register_plugin("time_flags_plugins", "0.1 test", "legenda_bredit")
set_task(1.0, "check_time")
set_task(60.0, "check_time",5522,_,_,"b")
}

public check_time()
{
time(hour,minute,secound)
(hour_start <= hour < hour_end) ? set_task(0.1, "unpausePlugin") : set_task(0.1, "pausePlugin")
}

public pausePlugin()
{
if (!p_pause) {
server_cmd("amxx pause timeleft.amxx")
p_pause = true
}
}

public unpausePlugin()
{
if (p_pause) {
server_cmd("amxx unpause timeleft.amxx")
p_pause = false
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 6:46
Сообщение #12
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
Код:
set_task(0.1, "unpausePlugin") : set_task(0.1, "pausePlugin")

->
Код:
unpausePlugin() : pausePlugin()


Код:
server_cmd("amxx pause timeleft.amxx")
server_cmd("amxx unpause timeleft.amxx")

->
Код:
pause("ac, "timeleft.amxx")
unpause("ac, "timeleft.amxx")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kiryxapro
сообщение 22.4.2014, 6:50
Сообщение #13
Стаж: 12 лет

Сообщений: 53
Благодарностей: 5
Полезность: 74

Ну что-то ничего не написано про получение игрового времени,чтобы потом запускать остановку плагина и потом включить его
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 7:00
Сообщение #14
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

kiryxapro,
зачем нам игровое время?
просто время мы получаем через time и все.
Код:
public check_time()
{
time(hour,minute,secound)
......
}

хотя минуты и секунды можно не получать =)

Отредактировал: trollface, - 22.4.2014, 7:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 22.4.2014, 8:23
Сообщение #15


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(trollface @ 22.4.2014, 8:46) *
Legenda,
Код:
set_task(0.1, "unpausePlugin") : set_task(0.1, "pausePlugin")

->
Код:
unpausePlugin() : pausePlugin()


Код:
server_cmd("amxx pause timeleft.amxx")
server_cmd("amxx unpause timeleft.amxx")

->
Код:
pause("ac, "timeleft.amxx")
unpause("ac, "timeleft.amxx")


Код
unpausePlugin() : pausePlugin()

не верный вызов, ругаться будет при компиляции (мб проверить?)
и уж правильно будет
Код
(hour_start <= hour < hour_end) ? set_task(0.1, "unpausePlugin") : set_task(0.1, "pausePlugin")


Код
server_cmd("amxx pause timeleft.amxx")
лучше использовать
ибо плагин по сути не только на паузу ставит)
можно и так
Код
server_cmd("amxx pause timeleft.amxx; mp_timelimit 50;mp_freeztime 0; say PPZ")


amxx pause timeleft.amxx
работает быстрее чем
pause("ac, "timeleft.amxx")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 8:25
Сообщение #16
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
Код:
#include <amxmodx>

#define hour_start 22
#define hour_end 7

new bool:p_pause = false
new hour

public plugin_init()
{
register_plugin("time_flags_plugins", "0.1 test", "legenda_bredit")
set_task(60.0, "check_time", .flags="b")
check_time()
}

public check_time()
{
time(hour)
if(hour_start <= hour < hour_end) unpausePlugin()
else pausePlugin()
}

public pausePlugin()
{
if (!p_pause) {
pause("ac", "timeleft.amxx")
p_pause = true
}
}

public unpausePlugin()
{
if (p_pause) {
unpause("ac", "timeleft.amxx")
p_pause = false
}
}

Цитата
amxx pause timeleft.amxx
работает быстрее чем
pause("ac, "timeleft.amxx")

amxx pause это и есть обертка для pause так то.

и если на то пошло, то плагин в посте https://c-s.net.ua/forum/index.php?showtopi...st&p=583862 только останавливает плагин timeleft.amxx

Отредактировал: trollface, - 22.4.2014, 8:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 22.4.2014, 8:28
Сообщение #17


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

ну дык это пример использования
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 8:29
Сообщение #18
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Legenda,
ну дык и не надо писать:
Цитата
ибо плагин по сути не только на паузу ставит)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kiryxapro
сообщение 22.4.2014, 8:31
Сообщение #19
Стаж: 12 лет

Сообщений: 53
Благодарностей: 5
Полезность: 74

Разве у set_task 3-ий параметр,это установка флагов?Помоему там указывается номер задачи.Флаги устанавливаются в 6 параметре,если не ошибаюсь

Отредактировал: kiryxapro, - 22.4.2014, 8:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 22.4.2014, 8:31
Сообщение #20


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

это ТС надо такой плагин
поэтому часть кода и вырезал со своего плагина изменений кваров/выполнения параметров в определенное время
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: