Не могу создать пассивку, которая срабатывала бы когда юнит ПОЛУЧАЛ урон.
  1. вариант:
Это использовать юнит атакован, но тогда срабатывает при замахе.
  1. вариант:
Использовать юниту нанесли урон, но тогда срабатывает и при нанесении урона не только от автоатаки...

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

quq_CCCP:
KaneThaumaturge, эмм а как насчет не делать такие пассивки? Детект физического урона вещь довольно сложная, а еще и если нужно для множества юнитов весьма ресурсоёмкая, желательно все сделать по шустрее, без лишний или тяжелых действий.
Готовые системы этого дела есть, но они на jass и требуют еще и понимания как они работают, так что если у вас нет этого понимания и желания понимать это - то мб не надо?
А если делать через
Событие: Юнит х атакован
Условие: На ваш извращенный вкус
Действие -
Атакуемый юнит=z
добавить к триггеру у событие "юнит получает урон"
В чём фишка? Через такую схему можно задать в событии, что именно z получает урон.
Так же следует не забывать вставлять в условие кто у нас Damage source
Понимаю, что коряво, криво, кособоко, не без багов, но для одного героя вполне работает
KaneThaumaturge:
Extremator, Есть идея: Когда юнит атакует ставить L(логическая) - да. Потом отслеживать его приказы, и если он что-то приказал, то ставить его L=нет. С этим парарелельно запускать таймер, который равен времени его замаха. Ну и по окончанию таймера проверять логическую да или нет и уже делать действия.
Ага, а как модификаторы ускорения атаки отслеживать будешь? Или юнита под блудластом?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
6 лет назад
0
Отлавливать авто-атаки юнитов. Есть много способов, все костыльные.
При этом не разницы GUI или Jass это будет, всё равно придётся громоздить что-то...
Оно тебе нужно?
0
19
6 лет назад
0
Extremator, использовать "атакован юнит", и не морочиться с этим говном?
0
26
6 лет назад
0
KaneThaumaturge:
Extremator, использовать "атакован юнит", и не морочиться с этим говном?
ну если это не принципиально... ты не получишь нанесённый урон
ты будешь получать событие даже при промахе, или при долгой ренжовой атаке... да
если нужен именно урон, или что-то точное - тогда только отлов
зависит от того что именно ты хочешь сделать
0
32
6 лет назад
0
KaneThaumaturge, эмм а как насчет не делать такие пассивки? Детект физического урона вещь довольно сложная, а еще и если нужно для множества юнитов весьма ресурсоёмкая, желательно все сделать по шустрее, без лишний или тяжелых действий.
Готовые системы этого дела есть, но они на jass и требуют еще и понимания как они работают, так что если у вас нет этого понимания и желания понимать это - то мб не надо?
0
19
6 лет назад
0
Extremator, Есть идея: Когда юнит атакует ставить L(логическая) - да. Потом отслеживать его приказы, и если он что-то приказал, то ставить его L=нет. С этим парарелельно запускать таймер, который равен времени его замаха. Ну и по окончанию таймера проверять логическую да или нет и уже делать действия.
0
11
6 лет назад
0
quq_CCCP:
KaneThaumaturge, эмм а как насчет не делать такие пассивки? Детект физического урона вещь довольно сложная, а еще и если нужно для множества юнитов весьма ресурсоёмкая, желательно все сделать по шустрее, без лишний или тяжелых действий.
Готовые системы этого дела есть, но они на jass и требуют еще и понимания как они работают, так что если у вас нет этого понимания и желания понимать это - то мб не надо?
А если делать через
Событие: Юнит х атакован
Условие: На ваш извращенный вкус
Действие -
Атакуемый юнит=z
добавить к триггеру у событие "юнит получает урон"
В чём фишка? Через такую схему можно задать в событии, что именно z получает урон.
Так же следует не забывать вставлять в условие кто у нас Damage source
Понимаю, что коряво, криво, кособоко, не без багов, но для одного героя вполне работает
KaneThaumaturge:
Extremator, Есть идея: Когда юнит атакует ставить L(логическая) - да. Потом отслеживать его приказы, и если он что-то приказал, то ставить его L=нет. С этим парарелельно запускать таймер, который равен времени его замаха. Ну и по окончанию таймера проверять логическую да или нет и уже делать действия.
Ага, а как модификаторы ускорения атаки отслеживать будешь? Или юнита под блудластом?
Принятый ответ
0
19
6 лет назад
0
orc01, ой, чет не подумал
orc01, Спасибо большое, твоя идея больше всего подходит, но думаю лучше уже будут замахи.
0
26
6 лет назад
0
KaneThaumaturge:
Есть идея:
Всё бы ничего, но... а если юнит промахнётся?
Фигня, казалось бы... особенно в случаях когда промах ~100%,
а пассивка всё равно срабатывает )))
orc01:
А если делать через
Так оно и должно работать, плюс кое-что для правильной работы, детекта, фиксации...
И этого кое-чего набирается пара-тройка триггеров, и требуется целое понимание происходящего))
0
29
6 лет назад
0
Самый простой метод отлова урона с атаки, это абилка с ядом у всех кто атакует, с удалением баффа при получении урона. Едиственное что крит в дальнем бою перебивает яд.
0
26
6 лет назад
0
16GB:
Едиственное что крит в дальнем бою перебивает яд.
В дальнем бою эти модификаторы впринципе бредят
мб поэтому в стандарте их нет у ренжевиков... да и вообще орбами (не всеми)
0
26
6 лет назад
Отредактирован 8gabriel8
0
KaneThaumaturge, а пассивка эта действует при нанесении урона юниту с пассивкой, либо при нанесении урона юнитом с пассивкой?
Если второе, то можно назначать атакуемому переменную, переменную эту держать в триггере с событием на получение переменной урона, а в условии проверки ставить Damage source=[юнит с пассивкой], чтобы отсеивать урон тех, кто тоже атакует этого юнита, Current order (юнит с пассивкой) не равно способностям юнита с пассивкой или способностям предметов, если их на карте не 100500, чтобы отсеивать лишь урон с руки (или стрелы), Damage>0, чтобы отсеять промахи и блоки, правда, тут не уверен, что сработает, может быть придётся по таймеру ждать 0,01 секунду, чтобы проверить изменение хп.

По идее можно было бы и для первого использовать аналогичный вариант, где только триггер на получение урона юнитом с пассивкой, но это возможно при условии, что приказ на использование способности у атакующих юнитов при автоатаке будет отлавливаться, а то у меня проверить не получилось. Либо можно просто порассуждать, например, у вражеских юнитов нет возможности прокачать атаку с руки выше урона способностями, что обычно так и есть в стандартном варике, при этом способности имеют чисто круглый урон - кратный 10, либо 5, что тоже можно использовать для отсева, если удары с руки могут быть сильнее способностей, без чита получить подобный круглый урон от атаки с руки очень маловероятно. Ну и оценить наконец количество всех возможных атакующих способностей на карте, если их не очень много, то можно будет подумать о составлении их БД и проверке - не входит ли урон в неё.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.