Описание
Иногда нужно отложить запуск метода по времени.
DStart(int fobj, real time), где time - время, через которое нужно запустить функцию, fobj - объект сохранённой функции с параметрами.
Пример
Если юнит-цель выжил за 5 секунд, пополняем здоровье кастеру заклинания.
function spell_end takes unit u, unit tu, effect e returns nothing
real life
DestroyEffect(e) //удаляем коронку
if GetUnitState(tu, UNIT_STATE_LIFE) > 0 //если жив
life = GetUnitState(u, UNIT_STATE_LIFE) // прибавляем к хп кастера 0.15 от макс_хп цели
life = life + 0.15 * GetUnitState(tu, UNIT_STATE_MAX_LIFE)
SetUnitState(u, UNIT_STATE_LIFE, life)
DestroyEffect( AddSpecialEffect("Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl", GetUnitX(u), GetUnitY(u)) )
endif
endfunction
//! runtextmacro FUNC3("spell_end","unit","unit","effect")
function spell takes unit u, unit tu returns nothing
effect e = AddSpecialEffectTarget("Abilities\\Spells\\Human\\InnerFire\\InnerFireTarget.mdl", tu, "overhead")
DStart(spell_end.save(u,tu,e), 5.) //откладываем старт spell_end на 5с
e = null
endfunction
Установка
Внимание, используется наработка Сохранение функции со списком аргументов
Последнее обновление 03.01.2020
Скопировать папки ProtoClass, GlobalConstants, SaveFunction, DelayedStart