|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 157 Регистрация: 19.1.2010 Из: Волгоград Пользователь №: 5 756 Спасибо сказали: 77 раз ![]() |
Во время работы скрипта добавляются таймеры, при срабатывании какого-то таймера он удаляется, но возникает ситуация когда нужно прервать и удалить все работающие в это время таймеры.
Есть ли такая возможность? |
|
|
![]()
Сообщение
#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 (остальные варианты я не стал добавлять в код, так как для примера они уже лишни) |
|
|
![]()
Сообщение
#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 |
|
|
![]()
Сообщение
#4
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 157 Регистрация: 19.1.2010 Из: Волгоград Пользователь №: 5 756 Спасибо сказали: 77 раз ![]() |
причина оказалась в другом - http://mydc.ru/topic4632.html
|
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
От: Закрыть все таймеры От темы с ID: 4629 |
0 | ScOol | 4 204 | 3.2.2011, 8:10 Посл. сообщение: ScOol |
![]() |
![]() |
5 | 14m3r | 11 663 | 3.11.2009, 14:07 Посл. сообщение: 14m3r |
![]() |
![]() |
4 | *FoxMalder* | 9 220 | 27.1.2009, 16:29 Посл. сообщение: *FoxMalder* |
![]() |
Закрыть Поиск Пассивикам | 2 | *FoxMalder* | 6 826 | 27.1.2009, 12:59 Посл. сообщение: Setuper |
![]() |
Сейчас: 23.2.2025, 2:15 |