Сдвиг таймеров для частного случая, Периодическая инициализация действий со сдвигом по времени |
Здравствуйте, гость ( Вход | Регистрация )
Сдвиг таймеров для частного случая, Периодическая инициализация действий со сдвигом по времени |
8.11.2011, 16:31
Сообщение
#1
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Товарищ один (Akvilon) попросил помощи, и вот кидаю частное решение (хотя расширить никто не мешает).
Цель - периодическая инициализация действий со сдвигом по времени (например, 2 сообщения в чат, разнесенных по времени на полчаса, то есть, общий период - 1 час) Код local iTime = 1 -- в данном случае - это 1 час function OnStartup() tmr1 = TmrMan.AddTimer(iTime*3600000) end function OnTimer(tmr) if tmr == tmr1 then Core.SendToAll("Бла-бла-бла!") tmr2 = TmrMan.AddTimer(iTime*30000) elseif tmr == tmr2 then Core.SendToAll("Шурум-бурум-тяп-ляп!") TmrMan.RemoveTimer(tmr2) end end Возможно, решение уже где-то есть, а возможно, ещё кому-то пригодится. |
|
|
8.11.2011, 16:33
Сообщение
#2
|
|
Постоялец Группа: Пользователи Сообщений: 403 Регистрация: 4.11.2008 Из: Город Уфа Пользователь №: 994 Спасибо сказали: 115 раз |
ага спасибо
|
|
|
8.11.2011, 21:30
Сообщение
#3
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Этот вариант проще и лучше масштабируется.
Раскрывающийся текст Код local sBot = "Информер" -- Имя бота-спамера local nTimer = 30 -- Минут между сообщениями local nPos = 1 -- Порядковый номер следующего сообщения local tMsgs = { [[Сообщение1]], [[Сообщение2]], } function OnStartup() for i, v in ipairs(tMsgs) do tMsgs[i] = "<"..sBot.."> "..v end TmrMan.AddTimer(nTimer * 60 * 1000) end function OnTimer() Core.SendToAll(tMsgs[nPos]) if #tMsgs > nPos then nPos = nPos + 1 else nPos = 1 end end |
|
|
9.11.2011, 11:37
Сообщение
#4
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Так я же писал для частного случая.
Если бы я сам спонтанно захотел написать, я бы написал скрипт для общего случая. Но не стал, пусть люди сами думают. База есть (скриптик из первого сообщения). |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
От: Сдвиг таймеров для частного случая От темы с ID: 5037 |
2 | Davrik | 5 386 | 14.11.2011, 14:35 Посл. сообщение: Ksan | |
Реализация Таймеров | 1 | Berkut | 5 419 | 26.1.2009, 22:59 Посл. сообщение: Setuper |
|
Сейчас: 23.11.2024, 0:34 |