Прошу, кто может помочь сделать обратный отсчет начиная от 25 секунды и до 1. После применения способности, что бы шел таймер и цифра с отсчетом появлялась на екране
function Trig_Timer_for_ability_Actions takes nothing returns nothing
local timer LocTimer1 = CreateTimer( )
local integer HandleID = GetHandleId( LocTimer1 )
call SaveUnitHandle( GameHashTable, HandleID, StringHash( "Hero" ), GetTriggerUnit( ) )
call SaveBoolean( GameHashTable, GetHandleId( GetTriggerUnit( ) ), StringHash( "Timer_for_ability" ), true )
call TimerStart( LocTimer1, .01, true, function Timer_for_ability )
call DestroyTimer( LocTimer1 )
set LocTimer1 = null
До конца не могу понять, как запустить обратный отсчет, только первые хаши на джассе , любой пример с отсчетом до каста или конца абилки, кто может? Помогите!

Принятый ответ

Ваша ошибка
call TimerStart( LocTimer1, .01, true, function Timer_for_ability ) //Вы запускаете таймер
call DestroyTimer( LocTimer1 ) //И тутже его уничтожаете, т.е. останавливаете
Используйте DestroyTimer когда он вам больше не будет нужен, т.е. когда он истёк, и действия совершились (Тогда же и чистите ХТ)
Также не оч понимаю для чего эта строка:
call SaveBoolean( GameHashTable, GetHandleId( GetTriggerUnit( ) ), StringHash( "Timer_for_ability" ), true )
Но в целом этот кусок кода должен работать
Сек, сделаю пример на коленке
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
10
5 лет назад
0
У ханабиши хорошая статья, читай.
Там и перезапись инта есть.
Сохраняешь инт со значением 25. Таймер запускаешь с периодом в одну секунду, каждую итерацию перезаписываешь инт как: инт - 1. Проверяем условием, что инт > 1, если нет, то останавливаем таймер, удаляем, чистим хэш, если да, то твои действия. Например вывод этого инта на экран.
2
17
5 лет назад
2
Ваша ошибка
call TimerStart( LocTimer1, .01, true, function Timer_for_ability ) //Вы запускаете таймер
call DestroyTimer( LocTimer1 ) //И тутже его уничтожаете, т.е. останавливаете
Используйте DestroyTimer когда он вам больше не будет нужен, т.е. когда он истёк, и действия совершились (Тогда же и чистите ХТ)
Также не оч понимаю для чего эта строка:
call SaveBoolean( GameHashTable, GetHandleId( GetTriggerUnit( ) ), StringHash( "Timer_for_ability" ), true )
Но в целом этот кусок кода должен работать
Сек, сделаю пример на коленке
Загруженные файлы
Принятый ответ
0
6
5 лет назад
Отредактирован Parom_Harona
0
PyCCKuu_4eJl:
Ваша ошибка
call TimerStart( LocTimer1, .01, true, function Timer_for_ability ) //Вы запускаете таймер
call DestroyTimer( LocTimer1 ) //И тутже его уничтожаете, т.е. останавливаете
Используйте DestroyTimer когда он вам больше не будет нужен, т.е. когда он истёк, и действия совершились (Тогда же и чистите ХТ)
Также не оч понимаю для чего эта строка:
call SaveBoolean( GameHashTable, GetHandleId( GetTriggerUnit( ) ), StringHash( "Timer_for_ability" ), true )
Но в целом этот кусок кода должен работать
Сек, сделаю пример на коленке
if i > 0" then "Ага нашел, тут забыл поставить
Загруженные файлы
0
17
5 лет назад
0
Parom_Harona, Да, забываю иногда про такие мелочи, благо эта штука их сама правит :d
Чтобы оставить комментарий, пожалуйста, войдите на сайт.