Сейчас 19:00:24 Четверг, 28 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Не работает локальный таймер (Решил 1 раз его использовать)))
Не работает локальный таймер
)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
Бесконечный цикл. К тому же, ты в нем пытаешься запустить один и тот же таймер, что вряд ли тебе нужно.
Quote ()blazer()
0,00001
Запятая вместо точки.
Quote ()blazer()
0,00001
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

Иправил, результат тотже
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Не работает локальный таймер (Решил 1 раз его использовать)))
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz