Закрыть все таймеры |
Здравствуйте, гость ( Вход | Регистрация )
Закрыть все таймеры |
31.1.2011, 21:07
Сообщение
#1
|
|
Продвинутый участник Группа: Пользователи Сообщений: 157 Регистрация: 19.1.2010 Из: Волгоград Пользователь №: 5 756 Спасибо сказали: 77 раз |
Во время работы скрипта добавляются таймеры, при срабатывании какого-то таймера он удаляется, но возникает ситуация когда нужно прервать и удалить все работающие в это время таймеры.
Есть ли такая возможность? |
|
|
31.1.2011, 21:22
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Добавь команды удаления таймеров по их индексам (когда ты их открывал, наверно, пишешь их индексы, вот оттуда и бери).
К примеру, отработал таймер tmr5 - удалил после себя все другие таймеры. А при отработке таймеров tmr1-4 не будет таких строк (как пример говорю) Вот пример: Код function OnTimer(tmr) Во втором случае в функции удаляется только таймер tmr2if tmr == tmr5 then bFlag5 = false Core.SendToOps(sMsg5) TmrMan.RemoveTimer(tmr1) TmrMan.RemoveTimer(tmr2) TmrMan.RemoveTimer(tmr3) TmrMan.RemoveTimer(tmr4) TmrMan.RemoveTimer(tmr5) elseif tmr == tmr2 then bFlag2 = false Core.SendToOps(sMsg2) TmrMan.RemoveTimer(tmr2) end end (остальные варианты я не стал добавлять в код, так как для примера они уже лишни) |
|
|
31.1.2011, 21:58
Сообщение
#3
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Можно, допустим, сделать свою обвязку на стандартные функции
вот что выходит у меня в наброске: Код TmrMan.AddTimerOld = TmrMan.AddTimer TmrMan.RemoveTimerOld = TmrMan.RemoveTimer TmrMan.tTimers = {} function TmrMan.RemoveTimer(id) if id then if TmrMan.tTimers[id] then TmrMan.RemoveTimerOld(id) TmrMan.tTimers[id] = nil end else for i in pairs(TmrMan.tTimers) do TmrMan.RemoveTimerOld(i) end TmrMan.tTimers = {} end end function TmrMan.AddTimer(tmr, s) local s, id = s or false, 0 if s then id = TmrMan.AddTimerOld(tmr, s) else id = TmrMan.AddTimerOld(tmr) end TmrMan.tTimers[id] = tmr return id end |
|
|
1.2.2011, 0:52
Сообщение
#4
|
|
Продвинутый участник Группа: Пользователи Сообщений: 157 Регистрация: 19.1.2010 Из: Волгоград Пользователь №: 5 756 Спасибо сказали: 77 раз |
причина оказалась в другом - http://mydc.ru/topic4632.html
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
От: Закрыть все таймеры От темы с ID: 4629 |
0 | ScOol | 4 140 | 3.2.2011, 8:10 Посл. сообщение: ScOol | |
Как в птохе закрыть ip-адреса админов/опов? | 5 | 14m3r | 11 555 | 3.11.2009, 14:07 Посл. сообщение: 14m3r | |
Закрыть Поиск Пассивикам | 4 | *FoxMalder* | 9 103 | 27.1.2009, 16:29 Посл. сообщение: *FoxMalder* | |
Закрыть Поиск Пассивикам | 2 | *FoxMalder* | 6 752 | 27.1.2009, 12:59 Посл. сообщение: Setuper |
|
Сейчас: 23.12.2024, 4:29 |