Не работает локальный таймер
|
|
)blazer( | Дата: Воскресенье, 20 Марта 2011, 19:19:50 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| function Trig_ydalenie_mln_jass_Actions takes nothing returns nothing local timer t=CreateTimer() loop set udg_numdead[1] = ( udg_numdead[1] + 1 ) call TimerStart(t, 0,00001, false,function destroy_mln()) ЗДЕСЬ ОШИБКА, НО КАКАЯ? endloop endfunction function destroy_mln takes nothing returns nothing call DestroyLightningBJ( udg_mln[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln2[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln3[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln4[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln5[udg_numdead[1]] ) endfunction //=========================================================================== function InitTrig_ydalenie_mln_jass takes nothing returns nothing set gg_trg_ydalenie_mln_jass = CreateTrigger( ) call TriggerRegisterTimerEventSingle( gg_trg_ydalenie_mln_jass, 5.00 ) call TriggerAddAction( gg_trg_ydalenie_mln_jass, function Trig_ydalenie_mln_jass_Actions ) endfunction
|
|
|
|
Dreii | Дата: Воскресенье, 20 Марта 2011, 19:21:29 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| во перавых 0,0001 очень мало юзай 0,04 во втоорых call TimerStart(t, 0,00001, false,function destroy_mln) - вот так
|
|
|
|
)blazer( | Дата: Воскресенье, 20 Марта 2011, 19:23:23 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| Quote (Dreii) во перавых 0,0001 очень мало юзай 0,04 во втоорых call TimerStart(t, 0,00001, false,function destroy_mln) - вот так Ни то и ни другое, Кстати, ошибка - отсутствует название фенкции
|
|
|
|
Dreii | Дата: Воскресенье, 20 Марта 2011, 19:25:25 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Ах тчоно. Вызываемая ф-ия должна стоять выше таймера
|
|
|
|
)blazer( | Дата: Воскресенье, 20 Марта 2011, 19:28:33 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| Quote (Dreii) Ах тчоно. Вызываемая ф-ия должна стоять выше таймера Dct hfdyj yt gfitnДобавлено (20-03-2011, 19:28) --------------------------------------------- Все равно не пашет
|
|
|
|
Dreii | Дата: Воскресенье, 20 Марта 2011, 19:29:47 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| )blazer(, Покажи как делаешь Добавлено (20-03-2011, 19:29) --------------------------------------------- Code function destroy_mln takes nothing returns nothing call DestroyLightningBJ( udg_mln[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln2[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln3[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln4[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln5[udg_numdead[1]] ) endfunction function Trig_ydalenie_mln_jass_Actions takes nothing returns nothing local timer t=CreateTimer() loop set udg_numdead[1] = ( udg_numdead[1] + 1 ) endloop call TimerStart(t, 0.04, false,function destroy_mln) set t=null endfunction
//=========================================================================== function InitTrig_ydalenie_mln_jass takes nothing returns nothing set gg_trg_ydalenie_mln_jass = CreateTrigger( ) call TriggerRegisterTimerEventSingle( gg_trg_ydalenie_mln_jass, 5.00 ) call TriggerAddAction( gg_trg_ydalenie_mln_jass, function Trig_ydalenie_mln_jass_Actions ) endfunction Должно работать
Сообщение отредактировал Dreii - Понедельник, 21 Марта 2011, 12:14:31 |
|
|
|
)blazer( | Дата: Воскресенье, 20 Марта 2011, 19:33:17 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| работает
|
|
|
|
Dreii | Дата: Воскресенье, 20 Марта 2011, 19:34:43 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| )blazer(, ну и славно
|
|
|
|
)blazer( | Дата: Понедельник, 21 Марта 2011, 11:27:26 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| А нет Добавлено (20-03-2011, 19:35) --------------------------------------------- Не пашет(((( Добавлено (20-03-2011, 19:35) --------------------------------------------- Аж фатал еррор Добавлено (21-03-2011, 11:25) --------------------------------------------- Хелп ми плиз! Добавлено (21-03-2011, 11:27) --------------------------------------------- Как правильно использовать локальный таймер? Какого его миним значение в сек?
|
|
|
|
Dreii | Дата: Понедельник, 21 Марта 2011, 11:51:07 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| )blazer(, Quote ()blazer() Какого его миним значение в сек? 0.04-0.03
|
|
|
|
SirNikolas | Дата: Понедельник, 21 Марта 2011, 11:56:01 | Сообщение # 11 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote ()blazer() loop set udg_numdead[1] = ( udg_numdead[1] + 1 ) call TimerStart(t, 0,00001, false,function destroy_mln()) ЗДЕСЬ ОШИБКА, НО КАКАЯ? endloop Бесконечный цикл. К тому же, ты в нем пытаешься запустить один и тот же таймер, что вряд ли тебе нужно.Запятая вместо точки.War распознает дроби до одной тысячной (.001). Все остальное округляется в меньшую сторону. Ну, и как сказал Dreii, можно ссылаться только на те функции, которые расположены выше по коду.
|
|
|
|
)blazer( | Дата: Понедельник, 21 Марта 2011, 12:00:10 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| Quote (SirNikolas) Запятая вместо точки. точно Насчет бесконечного цикла: так нельзя? а как тогда еще использовать локал таймер в данном случае?
Сообщение отредактировал )blazer( - Понедельник, 21 Марта 2011, 12:01:10 |
|
|
|
Dreii | Дата: Понедельник, 21 Марта 2011, 12:14:17 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Я вроде выше написал рабочий код
|
|
|
|
)blazer( | Дата: Понедельник, 21 Марта 2011, 12:18:10 | Сообщение # 14 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| Quote (Dreii) Я вроде выше написал рабочий код Да молнии не удаляютсяДобавлено (21-03-2011, 12:18) ---------------------------------------------
Quote (Dreii) loop set udg_numdead[1] = ( udg_numdead[1] + 1 ) endloop call TimerStart(t, 0.04, false,function destroy_mln) set t=null ты куда енд луп поставил, но даже так function destroy_mln takes nothing returns nothing call DestroyLightningBJ( udg_mln[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln2[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln3[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln4[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln5[udg_numdead[1]] ) endfunction function Trig_ydalenie_mln_jass_Actions takes nothing returns nothing local timer t=CreateTimer() loop set udg_numdead[1] = ( udg_numdead[1] + 1 ) call TimerStart(t, 0.04, false,function destroy_mln) set t=null endloop endfunction //=========================================================================== function InitTrig_ydalenie_mln_jass takes nothing returns nothing set gg_trg_ydalenie_mln_jass = CreateTrigger( ) call TriggerRegisterTimerEventSingle( gg_trg_ydalenie_mln_jass, 5.00 ) call TriggerAddAction( gg_trg_ydalenie_mln_jass, function Trig_ydalenie_mln_jass_Actions ) endfunction Не пашет
|
|
|
|
Dreii | Дата: Понедельник, 21 Марта 2011, 12:20:48 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| )blazer(, Quote (SirNikolas) Бесконечный цикл. К тому же, ты в нем пытаешься запустить один и тот же таймер, что вряд ли тебе нужно.
|
|
|
|
)blazer( | Дата: Понедельник, 21 Марта 2011, 12:29:58 | Сообщение # 16 |
7 уровень
Группа: Проверенные
Сообщений: 308
Награды: 0
Репутация: 49
Блокировки:
| Code function destroy_mln takes nothing returns nothing call DestroyLightningBJ( udg_mln[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln2[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln3[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln4[udg_numdead[1]] ) call DestroyLightningBJ( udg_mln5[udg_numdead[1]] ) endfunction function Trig_ydalenie_mln_jass_Actions takes nothing returns nothing local timer t loop exitwhen udg_numdead==1000 set udg_numdead[1] = ( udg_numdead[1] + 1 ) set t=CreateTimer() call TimerStart(t, 0.04, false,function destroy_mln) call DestroyTimer(t) set t=null endloop endfunction
//=========================================================================== function InitTrig_ydalenie_mln_jass takes nothing returns nothing set gg_trg_ydalenie_mln_jass = CreateTrigger( ) call TriggerRegisterTimerEventSingle( gg_trg_ydalenie_mln_jass, 5.00 ) call TriggerAddAction( gg_trg_ydalenie_mln_jass, function Trig_ydalenie_mln_jass_Actions ) endfunction Иправил, результат тотже
|
|
|
|