Нужно поместить юнита после каста способности на основе эликсира ярости в глобалку. Так как по механике варика происходит замена юнита, любые Triggering unit или Casting unit к нему уже не относятся.
Сейчас сделано через пик в отряд и проверки на другую способность, что через заднее место. Есть ли какая-нибудь функция, чтобы захватить замененного юнита в переменную?

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

Impertus, не знаю точно как сработает с "Эликсиром ярости", но handleID при морфе Ворона не изменяется. Возможно, и с остальными морфами тоже. Обращайся к юниту через его ID. Как находить этот ID и что это такое можешь почитать ТУТ
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
21
8 лет назад
Отредактирован Raised
1
Impertus, не знаю точно как сработает с "Эликсиром ярости", но handleID при морфе Ворона не изменяется. Возможно, и с остальными морфами тоже. Обращайся к юниту через его ID. Как находить этот ID и что это такое можешь почитать ТУТ
Принятый ответ
0
18
8 лет назад
0
Баф не додумался проверить на герое?
самый легкий способ говорят...
0
11
8 лет назад
0
Можно баф, можно способность (все равно у героя изначально 2 уник способности), но и для того и для того нужен вейт в 0.1 сек, чего желательно избежать.
З.Ы. Сейчас работает нормально, но хочу оптимизировать и убрать вейт.
0
18
8 лет назад
Отредактирован Cosonic5
0
Бери таймер
Иль в кеш сохраняешь героя по ид
Затем при касте он у тебя уже сохранен
Тупо загружаешь и все...
Ну вот кастуешь и потом делаешь че те надо
cast = getspellabilityunit
call saveunithande(hash,h,1,cast)
local unit u = loadunithande(hash,h,1)
вот теперь юнит никогда не потеряется
0
11
8 лет назад
0
Это будет не оптимизация, а варианты, я же хочу обойтись без задержек вообще.
0
21
8 лет назад
0
Impertus, ты хочешь отловить кастера этой абилки?
0
11
8 лет назад
Отредактирован Impertus
0
Кастера отловить не проблема, проблема в том, что по механике варика (как написано в стартпосте) при Эликсире кастер заменяется другим юнитом, и все триг юнит, каст юнит и т.д. не относятся к нему. А мне нужно отловить итогового юнита и к нему применять действия (в моем случае периодик дамаг раз в 0.5 сек по 2% от текущего хп)
0
18
8 лет назад
0
Я тебе написал в кеш грузи превращеного, после каста наносишь дамаг нечего сложного..
0
21
8 лет назад
Отредактирован Raised
0
Impertus, в таком случае - создавай не периодический таймер с задержкой 0 сек., сохраняй юнита в хеш с ключем в ID таймера. В функции, которою запустит таймер - загружай юнита под ключем в ID истекающего таймера, и делай действия. Когда ты выгрузишь юнита из хеша в какую-либо переменную - сможешь изменять его параметры (хп/мп и всё что ты хотел). Если не знаешь как, то: либо читаешь статью, ссылку на которую я дал выше, либо пишешь СЮДА
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.