Всем привет!
Нашел на просторах этого сайта заклинание, исцеляющее кастера при использовании заклинания молот бурь. В момент, когда молот долетает до противника, исцеляется кастующий заклинание. Я решил создать на основе этого триггера такой, что бы было не исцеление а дополнительный урон, в размере от характеристики героя. И частично это получилось, герой кастует спел и цели наносится доп урон, НО, если в момент когда заклинание летит до таргета двигать героя, или нажать stop, триггер не срабатывает. Хотя с заклинанием на исцеление лечение проходит в любом случае, но с уроном так не получается. В чем причина этого?
Или, возможно, есть другие способы нанести урон от характеристик героя не моментально, а когда атакующее заклинание долетает до противника?
Речь идет о стандартных триггерах

PyCCKuu_4eJl, такой вариант плох, если цель двигается с большой скоростью, имеет блинк, либо рядом портал.

Вот пример сделал xgm.guru/files/100/221848/comments/412081/0.w3x, который почему-то не упомянули.
Скопируй все триггеры, нестандартного юнита, две способности и заклинание.
Суть вот в чём:
  • Триггер на отлов урона будет срабатывать при наличии нестандартного баффа способности, будет его снимать и через дамми накладывать обычный бафф, а также наносить дополнительный урон за счёт Силы героя;
  • События триггера на отлов урона будут добавляться только на цели геройской способности Молот бурь (нестандартный), чтобы события для одного юнита не создавались дважды и соответственно триггер не срабатывал дважды, будем заносить цели способности в группу и не повторять создание события для тех, кто есть в группе;
  • Если же юнит из группы умрёт, но он не герой, который может воскреснуть, то удалим его из группы.
Если переменную TH_location переименовать, то надо переименовать её и в custom script.
В данном случае сделал дополнительный урон по формуле Уровень способности *х* Сила героя, ну там разберёшься, по какой формуле тебе надо.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
29
Приказ перебивает триггер урона, имхо.
Понял, любой приказ превращает приказуемого юнита в SpellTarget
Решение:
Занеси цель способности в переменную и совершай действия с переменной
Да и вообще, если юзаешь вейты делай переменные, иначе будут багги.
18
Создаешь дамми, сохраняешь в SetUnitUserData нужный урон и заставляешь его кидать молоток в цель.
Цель получила урон, проверяешь является ли атакующий тем самым дамми, берешь урон из GetUnitUserData и наносишь его цели
Перед тем как кидать молоток, зарегистрируй событие на получение урона для цели.
И в самом получении урона делай проверку чтобы урон был больше 0.00 (т.к могут прилетать ложные срабатывания триггера)
17
Чёт у меня день раздачи костылей
Ну как самый костыльный способ, делаете таймер, когда таймер истекает, наносите урон и хилите героя.
Время таймера = (Дистанция между Кастером и целью)/Скорость полёта снаряда.
Минус такого способа - не учитывает передвижение обоих юнитов.
Но более рабочий, точный, и одновременно сложный способ UrsaBoss описал выше
26
PyCCKuu_4eJl, такой вариант плох, если цель двигается с большой скоростью, имеет блинк, либо рядом портал.

Вот пример сделал xgm.guru/files/100/221848/comments/412081/0.w3x, который почему-то не упомянули.
Скопируй все триггеры, нестандартного юнита, две способности и заклинание.
Суть вот в чём:
  • Триггер на отлов урона будет срабатывать при наличии нестандартного баффа способности, будет его снимать и через дамми накладывать обычный бафф, а также наносить дополнительный урон за счёт Силы героя;
  • События триггера на отлов урона будут добавляться только на цели геройской способности Молот бурь (нестандартный), чтобы события для одного юнита не создавались дважды и соответственно триггер не срабатывал дважды, будем заносить цели способности в группу и не повторять создание события для тех, кто есть в группе;
  • Если же юнит из группы умрёт, но он не герой, который может воскреснуть, то удалим его из группы.
Если переменную TH_location переименовать, то надо переименовать её и в custom script.
В данном случае сделал дополнительный урон по формуле Уровень способности *х* Сила героя, ну там разберёшься, по какой формуле тебе надо.
Загруженные файлы
Принятый ответ
30
Суть вот в чём:
Триггер на отлов урона будет срабатывать при наличии нестандартного баффа способности, будет его снимать и через дамми накладывать обычный бафф, а также наносить дополнительный урон за счёт Силы героя;
События триггера на отлов урона будут добавляться только на цели геройской способности Молот бурь (нестандартный), чтобы события для одного юнита не создавались дважды и соответственно триггер не срабатывал дважды, будем заносить цели способности в группу и не повторять создание события для тех, кто есть в группе;
Если же юнит из группы умрёт, но он не герой, который может воскреснуть, то удалим его из группы.
Правильный ответ был здесь
UrsaBoss:
Создаешь дамми, сохраняешь в SetUnitUserData нужный урон и заставляешь его кидать молоток в цель.
Цель получила урон, проверяешь является ли атакующий тем самым дамми, берешь урон из GetUnitUserData и наносишь его цели
Перед тем как кидать молоток, зарегистрируй событие на получение урона для цели.
И в самом получении урона делай проверку чтобы урон был больше 0.00 (т.к могут прилетать ложные срабатывания триггера)
26
NazarPunk, сама суть другая. Не сохраняется ничего в SetUnitUserData, не проверяется, что нанёс урон тот самый юнит, никаких проверок, что урон больше 0.00. Отслеживается нестандартный бафф.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.