Подскажите плз, как сделать на JASS такой таймер, чтоб он не периодически что-то выполнял, а чтоб просто обратный отчёт начинался. Чтоб перед его началом я смог написать local boolean check = true. Дальше типо стартует таймер, и когда таймер истечёт( GetExpiredTimer(), как я понял ), чтоб я смог написать local boolean = false. И чтоб это правильно работало.
у меня функции такие:
у меня функции такие:
function CheckTimer takes nothing returns nothing
local unit caster = GetSpellAbilityUnit()
local integer h = GetHandleId(caster)
local timer t = GetExpiredTimer()
local location point = LoadLocationHandle(udg_hash,h,StringHash("point"))
local boolean check = LoadBoolean(udg_hash,h,StringHash("check"))
call LoadUnitHandle(udg_hash,h,StringHash("caster"))
call SaveInteger(udg_hash,h,StringHash("h"), h )
call SaveBoolean(udg_hash,h,StringHash("check"), false)
set caster = null
set point = null
set t = null
endfunction
function Attack takes nothing returns nothing
local unit caster = GetSpellAbilityUnit()
local location point = GetSpellTargetLoc()
local timer t = CreateTimer() //Создаём таймер
local integer h = GetHandleId(caster)
local boolean check = true
call SaveUnitHandle(udg_hash,h,StringHash("caster"),caster)
call SaveLocationHandle(udg_hash,h,StringHash("point"),point)
call SaveBoolean(udg_hash,h,StringHash("check"),check)
call TimerStart(t, 1, false, function CheckTimer) //Стартуем таймер (fasle - так как не цикличен, если я правильно понял)
set caster = null
set point = null
set t = null
endfunction
Когда я убираю этот таймер вообще, у меня работает, как надо всё. А мне надо, чтоб у меня включался таймер на секунду и за это время работала верхняя функция.
Ещё думать буду. Всё решаемо, я думаю)
Если на триггерах можно сделать, то разве это не значит, что на джассе тоже можно? Или типо так как муи, то сложнее в разы?
Я думаю, может просто много оперативки жрать карта, где на каждую абилку куча проверок кучи юнитов. Но я не имею представления, как сильно это влияет, сколько обычно операций в секунду на карте и каких именно, сколько это памяти.
Я, по-моему, уже щас могу реализовать уклон он абилки на конструкторе триггеров без джасса, на глобальных переменных. Без глобальных сложнее, конечно))) Но по-моему, только тем, что можно запутаться, ибо слишком много проверок, но логика-то та же, а это главное)
Clamp:
Clamp: Я просто в детстве наруто смотрел. Верил, что в жизни тоже есть такие ниндзя и умеют такие техники, поэтому я просто спёр оттуда.)
И странно, почему в картах наруто я такой механики не видел. Обычно просто невидимые становятся применяющие.
Спасибо! У меня ещё куча нестандартных(для карт варкрафт) механик на основе наруто в голове:D
Clamp: Главный вопрос, кстати тогда: это всё можно засунуть в один триггер? Удобнее, когда на одну абилку 1 триггер. В конструкторе триггеров не получилось. А на джассе? Если к тому же можно несколько событий в один триггер пихать.
Ред. Clamp
Можно написать вот так