Таймеры - GlowingInk/ReActions GitHub Wiki
Таймер — это своеобразный планировщик событий, реализованный в ReActions.
Таймеры позволяют Вам запускать активаторы EXEC в определенное время. При этом, можно ориентироваться как внутри-игровое время (и выполнять какой-то активатор, допустим каждый майнкрафтовский час), а также можно привязывать выполнение задач к реальному (серверному) времени. Например, можно выполнять активатор в какое-то определенное время (допустим 1 января 2016 г в 0:00) или же запускать его каждый день в 12 часов дня.
Чтобы создать новый таймер надо воспользоваться командой:
/react add timer <ИдТаймера> timer-type:<INGAME|SERVER> activator:<ИдАктиватораEXEC> time:<HH:MM,HH:MM|*_*_*_*_*_?> [player:<Игрок>] [world:<Мир>]
Чтобы добавить внутри-игровой таймер необходимо использовать формат ЧЧ:ММ
,
который ссылается на майнкрафтовское время.
Можно определить несколько моментов времени, когда будет срабатывать таймер.
Например, 01:05,01:10,07:00
будет указывать на внутри-игровое время 01:05
,
а также 01:10
, а также 07:00
.
Т.е. активатор будет выполнен три раза в течение майнкрафтовских суток.
Чтобы добавить таймер реального времени, необходимо указывать время в формате CRON. Он немного неудобен поначалу, но ознакомившись поближе, понимаешь насколько он гибок. ReActions использует стороннюю библиотеку для обработки cron-формата. И лучше всего знакомиться с этим форматом на сайте автором библиотеки (потому что в этой реализации есть ряд отличий от классического Unix формата): http://quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/crontrigger
ReActions добавляет ещё один нюанс к этому формату. При использовании команды можно заменять пробелы на символ "_". Но точно также можно использовать и пробелы, если заключить время в фигурные скобки.
-
/react add timer TIMER1 timer-type:ingame activator:EXEC1 time:07:00 player:all
— эта команда создаст таймер названный TIMER1, который будет выполнять активатор EXEC1 каждый майнкрафтовский день на рассвете (07:00 -
/react add timer EveryTenMin timer-type:server activator:TenMin time:0_0/10_*_*_*_? player:all
— Эта команда создаст таймер, который будет выполнять активатор каждые 10 минут реального времени (Т.е. вt: 00:00, 00:10, 00:20 и т.д.)
-
/react add timer <ИдТаймера> activator:<ИдАктиватораEXEC> timer-type:<INGAME|SERVER> time:<HH:MM,HH:MM|*_*_*_*_*_?> [player:<Игрок>] [world:<Мир>]
— Добавить новый таймер -
/react list timer [page]
— Вывести список таймеров -
/react remove timer <id>
— Удалить таймер
Таймерами можно управлять также используя специальные действия и флаги:
-
TIMER_STOP — Действие. Останавливает работу таймера. Параметр:
timer:<ИдТаймера>
-
TIMER_RESUME — Действие. Восстанавливает работу таймера. Параметр:
timer:<ИдТаймера>
-
TIMER_ACTIVE — Флаг. Проверяет состояние указанного таймера. Параметр:
<ИдТаймера>