Суть способности:
Герой с пассивкой наносит урон ( Макс.Здоровье * 0.5 ) врагу которого он ударил. В карте есть система отлова урона, но как сделать так чтобы урон наносило когда герой бьёт врага?

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

8gabriel8, есть только одно но
твоя система отлавливает любой урон а не только урон с руки
и хз нафига вообще тут 3 триггера
вот статья про отлов урона на гуи
есть 2 способа определить что это урон с руки (ну и мемхак ещё)
  1. давать юниту орб вешающий баф (сферу яда например) и при получении урона проверять наличие этого баффа, если есть баф то значит урон с руки и удаляем баф
  2. использовать скилл рунных браслетов с защитой от магии равной 2
в результате весь получаемый магический урон будет отрицательным
если полученный урон (далее dmg) отрицательный то урон нанесён магией и снимаем юниту dmg*-2 хп (для того чтобы полученный урон не был отрицательным)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
6 лет назад
0
Загруженные файлы
0
6
6 лет назад
0
8gabriel8:
Пример
без групп никак не обойтись?..
0
26
6 лет назад
0
qzGoon, группа для того, чтобы не добавлять повторно событие с атакованным юнитом в отлов урона. Иначе триггер будет повторно срабатывать по количеству событий. То есть ударил ты юнита первый раз-урон (Макс. здоровье)х0.5, ударил второй раз-урон 2х(Макс. здоровье)х0.5, ударил третий раз-урон 3х(Макс. здоровье)х0.5 и так далее. Кстати, в триггере отлова урона сделай в действиях отключение триггера, потом нанесение урона, потом включение триггера. Иначе он зациклится, и будет краш.

Использование группы можно обойти, если использовать, например, Custom Value. Ставить юниту, например, Custom Value 31 и в проверку это условие, тогда третий триггер удаления юнита из группы, чтобы уменьшить её размер, можно не делать.

Можно с хеш-таблицей делать, но это медленнее будет работать.

Можно вешать способность с невидимым баффом. Короче, есть разные варианты, просто мне удобнее было сделать с группой.
3
28
6 лет назад
3
8gabriel8, есть только одно но
твоя система отлавливает любой урон а не только урон с руки
и хз нафига вообще тут 3 триггера
вот статья про отлов урона на гуи
есть 2 способа определить что это урон с руки (ну и мемхак ещё)
  1. давать юниту орб вешающий баф (сферу яда например) и при получении урона проверять наличие этого баффа, если есть баф то значит урон с руки и удаляем баф
  2. использовать скилл рунных браслетов с защитой от магии равной 2
в результате весь получаемый магический урон будет отрицательным
если полученный урон (далее dmg) отрицательный то урон нанесён магией и снимаем юниту dmg*-2 хп (для того чтобы полученный урон не был отрицательным)
Принятый ответ
0
26
6 лет назад
0
nvc123, и есть ещё третий вариант, если способности героя наносят и будут наносить урона явно больше, чем с руки, то можно ставить в условие проверку величины урона.
Три триггера для того, чтобы первый заносил атакуемого героем юнита в событие второго и в группу, если юнит в группе, то ничего не делает, второй триггер с событиями на получение урона проверяет, что источник урона - наш герой и делает действия, а третий триггер убирает убитых негеройских юнитов группы из группы, чтобы она слишком сильно не росла и проверка наличия юнита в группе много ресурсов не требовала. Правда, есть один непроверенный момент, если юнитов воскресить, то будут ли они новыми юнитами или старыми, не окажутся ли внесены событием на отлов урона два раза?
0
30
6 лет назад
0
0
11
6 лет назад
0
Мало что понял про твой спелл. Но предложу такой вариант:
Событие - юнит атакован
Условие - integer compasion - боевая единица - level of ability [твоя способность] for attacking unit больше 0
Действие - боевая единица - damage target
0
10
6 лет назад
0
Stalker Freedom:
Мало что понял про твой спелл. Но предложу такой вариант:
Событие - юнит атакован
Условие - integer compasion - боевая единица - level of ability [твоя способность] for attacking unit больше 0
Действие - боевая единица - damage target
это плохой вариант, т.к. урон будет наносится сразу при замахе, вне зависимости от того, нанес ли юнит урон.
также можно спамить приказами "атаковать"
0
26
6 лет назад
Отредактирован 8gabriel8
0
qzGoon, ещё кое-что. Не проверял всё, но по словам других и проверке некоторых способностей, заклинания наносят урон 0, то есть, наверное, следует в триггер на отлов урона поставить условие, что урон не равен 0.00. Это не точно нужно для твоего случая, просто дополнительная информация.
0
6
6 лет назад
0
8gabriel8:
qzGoon, ещё кое-что. Не проверял всё, но по словам других и проверке некоторых способностей, заклинания наносят урон 0, то есть, наверное, следует в триггер на отлов урона поставить условие, что урон не равен 0.00. Это не точно нужно для твоего случая, просто дополнительная информация.
когда юнит атакует выплывает вверху текст нанесенного урона..
1
26
6 лет назад
1
qzGoon, и..? Не знаешь, как заменить действие в триггере?
В чём проблема-то?
0
21
6 лет назад
0
8gabriel8, "если наносят явно больше, чем с руки..." - не, это мягко говоря не очень... а вдруг ему атаку дебаффнули?! а вдруг там брони овердохрена в минус у атакованного?... и еще овердофига вдруг... тогда уж лучше, если список способностей у героя постоянный, при их касте метку вешать, что ли...
0
26
6 лет назад
0
ClotPh:
а вдруг ему атаку дебаффнули?!
Смысл в том, чтобы он получил общую информацию об отлове урона. А всякие теоретические случаи будет обдумывать, исходя из того, что есть на его карте.

Так вешание эффекта орба будет сбиваться другими орбами. А двойной магрезист обломится, если способность у героя имеет физический урон, но всё-таки она способность, а не удар с руки. Математическое сравнение не прокатит в указанной тобой ситуации. Пусть сам думает, как ему быть.
0
21
6 лет назад
0
вообще проще всего так или иначе все-таки с отлова события атаки начинать
а там хотя бы грубо временно выключать триггер ждать по расстоянию между атакованным и атаковавшим делать что надо и включать
очень грубо но просто и не слишком багует
но тригтов на unit атакован не должно быть слишком много
0
26
6 лет назад
0
ClotPh, как это должно работать? Например, пусть будет Горный король. Герой начинает атаку, включается триггер, не успел он замахнуться, как игрок использует Удар по земле, атакованный получает урон от способности. Может при применении способности отключать триггер, типа при начале атаке включился, но от способности отключился до следующей атаки с руки? Заносить атакованного в переменную, а при получении урона сравнивать, что (Triggering unit) равен переменной. Но может такое быть теоретически, что запустит Молот бурь герой и в тот же момент атакует юнита, тем самым включив триггер до попадания молотка. Конечно, надо бы проверять, но возможно. Только мы этого ещё не касались, но не слишком ли утечно получится, заносить юнита в переменную при каждой атаке?
Кстати, Удар по земле ведь сбивает текущий приказ? А то вроде бы что-то не сбивает, может Громовая поступь.
0
16
6 лет назад
0
8gabriel8, обе сбивают.
Или ты имеешь в виду прерывание на момент каста, а за ним продолжение?
0
26
6 лет назад
0
Naadir, имею ввиду, что герой начал делать замах для атаки, но нажал Удар по земле, сработает ли потом атака от первого приказа, либо это будет новый? Ведь в таком случае триггер отлова урона отключается способностью до следующей атаки, но надо проверять. А обе способности как раз не сбивают текущий приказ, но герой как бы остановится для их применения, чтобы проиграть анимацию, если есть.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.