Как повесить на юнита обратный отсчет, как для призванного существа, но в последствии не убить самого юнита? При этом таймер все так же можно было бы остановить.

По идее таймер может встать на паузу, если юнита поставить на паузу. Правда, там и бафф стана может сохраниться, но это не точно.
Ещё есть вариант с отображением не полоски, а цифр оставшегося времени, как-нибудь красиво это замутив. Например, с помощью DGUI создавая панель над панелью характеристик и портрета, где будет указано оставшееся время, либо просто убывающая шкала, ведь в неё не придётся вглядываться.
Всё-таки опиши на конкретном примере, как это должно выглядеть, а не общими словами.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
6
Если не ошибаюсь, мгновенно убивает юнита.
LordDracula:
а если попробовать удалить баф функции? тип BTLF
8gabriel8:
Можно заменять юнита по истечении таймера, а в новых патчах вроде как можно убирать таймер.
Что за событие отлавливает истечение такого таймера?
28
Там есть функция по остановке такого таймера.
6
Ну она останавливает UnitTimedLife таймеры, но остановить таймер при превращении, что было моим запасным вариантом создания обратного отсчета на юните, она не может.
30
Можете повесить на юнита обычный таймер и делать с ним что хотите)
26
Опиши подробнее задачу. Тебе нужен юнит с превращением, таймер превращения которого можно остановить, либо нужно просто отобразить таймер на юните? Зачем останавливать и при каких условиях это следует делать?
6
А как это сделать?
NazarPunk:
Можете повесить на юнита обычный таймер и делать с ним что хотите)
8gabriel8:
Опиши подробнее задачу. Тебе нужен юнит с превращением, таймер превращения которого можно остановить, либо нужно просто отобразить таймер на юните? Зачем останавливать и при каких условиях это следует делать?
Из перечисленного вами скорее всего третье. Просто отобразить таймер на юните, получить визуальный эффект обратного отсчета. Я пытался достичь этого при помощи UnitAppltTimedLife и превращения. Первое убивало юнита, второе нельзя было остановить.
Останавливать в случае стана, в случае использования на юнита способностей, останавливающих режимы, оставшееся время которых таймер и должен был отображать. В самых разных целях.
Под "остановить" я имел ввиду поставить на паузу, если что.
30
А как это сделать?
// native SaveTimerHandle takes hashtable table, integer parentKey, integer childKey, timer whichTimer returns boolean

set t = CreateTimer()
set u = /*unit*/

call SaveTimerHandle(HT, GetUnitHandle(u), 0, t);

call StartTimer(t, 100500, function myfunc)
6
NazarPunk:
А как это сделать?
// native SaveTimerHandle takes hashtable table, integer parentKey, integer childKey, timer whichTimer returns boolean

set t = CreateTimer()
set u = /*unit*/

call SaveTimerHandle(HT, GetUnitHandle(u), 0, t);

call StartTimer(t, 100500, function myfunc)
Я думал, вы имели ввиду с отображением на юните отсчета)
26
NazarPunk, предлагает просто триггерный таймер, который не отображается визуально.
Можно сделать над юнитом шкалу времени действия, как полоска здоровья.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.