Писал тему, но она что то не появилась.
Смысл такой, герой применяет на цель заклинание.
Вот кратко триггер для понятия смысла
[quote] Unit - Any Unit uses "MyAbility" at Effect3 - Cast stage (Ignore shared abilities)
Local Variables
TARGET = No Unit <Unit>
CASTER = No Unit <Unit>
Integer = 0 <Integer>
Conditions
Actions
Variable - Set CASTER = (Triggering unit)
Variable - Set TARGET = (Triggering ability target unit)
General - For each integer "Integer" from 1 to 12 with increment 1, do (Actions)
General - Wait 1.0 Real Time seconds
Environment - Deal damage using "MyDoTeffect" on TARGET from CASTER with *** extra damage.[/quote]
На словах, при применения способности пустышки на цель, должен тикать урон каждую секунду в течении 12 сек .
Но если пока тикает урон - умирает кастер этой абилки, урон перестаёт наносится.
Как быть? Учитывая особенности карты я не могу отказаться от
Environment - Deal damage...
Плюс ко всему, от этого идёт и другая проблема, если заклинатель наложивший периодический урон умрёт, а этот периодический урон добьёт цель (хе-хе если б он работал о чём я и писал выше) то как мне вычислить юнита-убицу.

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

Запили карту с минимальным набором необходимым для воссоздания ситуации и кинь сюда - посмотрю на досуге что там к чему. Ничего не обещаю - свободного времени мне может и не хватить чтобы разобраться с проблемой.
Первое что я бы попробовал сделать - вешать на цель бехевиор, который запускает эффект-пустышку по внутреннему таймеру вместо вейтов в цикле, а уже по отрабатыванию этого эффекта наносить урон. Ибо вейт в цикле это плохо по определению. Соответственно, бехевиор вешается через данные, если нет каких-то особых условий, которые только в триггере реализовать можно, а триггер отслеживает уже срабатывание эффекта, а не каст способности.
Это заодно даст и возможность снимать или блокировать дот-бехевиор с цели при необходимости, с чем у способа на вейтах большие проблемы.
В худшем случае, если кастер мертв или не доступен по любой другой причине, можно наносить урон без кастера, а для отслеживания принадлежности финального урона пилить свою систему. Или, если важно не какой юнит нанес урон, а какой игрок - можно держать по одному постоянному даммику для каждого игрока и наносить урон от их имени, если оригинальный кастер "не отвечает" (при условии, что удалось узнать кому этот кастер принадлежал) или вобще вешать бехевиор сразу от имени этого даммика, если кастер сам по себе не принципиален полностью.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
30
7 лет назад
2
Я давно не открывал редактор ск2, но, ЕМНИП, там в датаэдиторе можно запилить пассивку, которая будет спавнить для юнита невидимую невыделяемую сущность, которая будет жить как минимум столько же, сколько длится эффект способности, и будет возвращать юнита при обращении. Технически, это будет "труп" юнита, и тот не исчезнет, пока есть эта сущность.
0
10
7 лет назад
0
Спасибо, я тебя понял, но вот поточнее бы узнать что это за effect/behavior и тп, может кто в курсе?))
0
24
7 лет назад
Отредактирован prog
0
Запили карту с минимальным набором необходимым для воссоздания ситуации и кинь сюда - посмотрю на досуге что там к чему. Ничего не обещаю - свободного времени мне может и не хватить чтобы разобраться с проблемой.
Первое что я бы попробовал сделать - вешать на цель бехевиор, который запускает эффект-пустышку по внутреннему таймеру вместо вейтов в цикле, а уже по отрабатыванию этого эффекта наносить урон. Ибо вейт в цикле это плохо по определению. Соответственно, бехевиор вешается через данные, если нет каких-то особых условий, которые только в триггере реализовать можно, а триггер отслеживает уже срабатывание эффекта, а не каст способности.
Это заодно даст и возможность снимать или блокировать дот-бехевиор с цели при необходимости, с чем у способа на вейтах большие проблемы.
В худшем случае, если кастер мертв или не доступен по любой другой причине, можно наносить урон без кастера, а для отслеживания принадлежности финального урона пилить свою систему. Или, если важно не какой юнит нанес урон, а какой игрок - можно держать по одному постоянному даммику для каждого игрока и наносить урон от их имени, если оригинальный кастер "не отвечает" (при условии, что удалось узнать кому этот кастер принадлежал) или вобще вешать бехевиор сразу от имени этого даммика, если кастер сам по себе не принципиален полностью.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.