Герой атакует врага, на врага вешается метка, она удаляется через 4 секунды. Если герой ещё раз атакует этого же врага, то враг получит 2 метку , по достижению 3 метки враг получит доп урон, то есть если герой атаковал одного и того же врага 3 раза подряд, то на 3 выстрел враг получит доп урон. Я тут делал с помощью аур, но они все одновременно срабатывали и там ничего не получилось.

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

если спелл для одного юнита то заводим 2 глобалки, цель и счётчик, при получении урона проверка, если юнит, получивший урон, не равен старому (переменная - цель), то снимаем со старого все стаки (баффы, ауры, что там у тебя), ставим переменную счётчика на 1 и накладываем стак на нового юнита, а так же перезаписываем переменную цели на этого юнита, если же получивший урон юнит один и тот же, то добавляем стак, увеличиваем переменную и проверяем, если она равна 3, то наносим доп урон, обнуляем и убираем стаки
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
32
3 года назад
1
Если уж на аурах, то проверяй сам уровень ауры, а не бафа ауры, у бафа ты всегда будешь получать первый уровень. Это баг варика, на мемхаке вроде как вылечели... Лучше вообще тупо на переменной сделать и отрисовать стаки текстагом над головой у врага
0
8
3 года назад
0
Bergi_Bear:
Если уж на аурах, то проверяй сам уровень ауры, а не бафа ауры, у бафа ты всегда будешь получать первый уровень. Это баг варика, на мемхаке вроде как вылечели... Лучше вообще тупо на переменной сделать и отрисовать стаки текстагом над головой у врага
Вообще, я не понял как сделать эту способность, я могу сделать чтоб каждая 3 атака наносила доп урон, но надо чтоб по врагу которого ты бил подряд 3 раза. Я это не понял.
3
32
3 года назад
3
Тогда надо обнулять счетчик, когда бьёшь другого врага
0
8
3 года назад
0
Bergi_Bear:
Тогда надо обнулять счетчик, когда бьёшь другого врага
А как это сделать? Типа условие что ты бьёшь другого?
0
32
3 года назад
0
Нужно иметь переменную типа юнит и в неё записать того кого бьют и каждый раз при новой атаке проверять, не сменился ли юнит в это переменной, если сменился, то стаки в 0 и считаем заново
0
29
3 года назад
0
Можно запилить три разных бафа и тупо их перекастовывать.
0
8
3 года назад
0
NazarPunk:
Можно запилить три разных бафа и тупо их перекастовывать.
я пытался так сделать, не вышло

Bergi_Bear:
Нужно иметь переменную типа юнит и в неё записать того кого бьют и каждый раз при новой атаке проверять, не сменился ли юнит в это переменной, если сменился, то стаки в 0 и считаем заново
Ясно, завтра попробую сделать. Спасибо
0
29
3 года назад
0
я пытался так сделать, не вышло
Странно. Почему не вышло то?
0
8
3 года назад
0
NazarPunk:
я пытался так сделать, не вышло
Странно. Почему не вышло то?
Наверное я что-то не так сделал, вот что щас есть, он не работает, урон наносится, но если я атакую другого стаки не спадают. Там событие через триггер с добавленим события. () - источник повреждений.
Загруженные файлы
0
4
3 года назад
Отредактирован Kensond
0

Вот сделал карту с твоей абилкой. Пришлось делать дамми, который вешает дебафф, потому что если использовать пассивку с ядом, то всегда будет засчитывать, что перед атакой на цели уже была метка (хоть баф и удалялся вручную).
Стакается только от автоатак.
Сначала нужно изучить способность герою.
Загруженные файлы
Этот комментарий удален
0
8
3 года назад
0
Kensond:

Вот сделал карту с твоей абилкой. Пришлось делать дамми, который вешает дебафф, потому что если использовать пассивку с ядом, то всегда будет засчитывать, что перед атакой на цели уже была метка (хоть баф и удалялся вручную).
Стакается только от автоатак.
Сначала нужно изучить способность герою.
Спасибо за проделанную работу, я завтра посмотрю, попытаюсь разобраться, еще раз спасибо.
0
1
3 года назад
0
Не уверен, но думаю можно так. Делаешь переменные Unit, Integer и Ab. Тип - Юнит, число, способность. Сет твоего героя как Unit, а Ab как твоей способности стаков. Если Unit атакует врага, то сет врага как Unit(2), а Integer + 1. Если Unit(1) атакует Unit(2), а Integer = 2, то Unit(1) наносит Unit(2) 100+(25х уровень ab у unit(1)) урона типа заклинание. Второй триггер: Сет Integer(2) = Integer(1), ждать 4 секунды, если Integer(2)=Integer(1) то сет Integer(1) = 0. Запускается когда Unit(1) атакует Unit(2).
2
11
3 года назад
2
Через Хеш таблицу сделать можно, записываешь атакованого юнита, как ключ и сохраняешь число стака, потом пускаешь таймер одноразовый, который отнимает после 4 секунд стак и так каждый раз, накопил три, нанёс урон, обнулил.
1
27
2 года назад
1
если спелл для одного юнита то заводим 2 глобалки, цель и счётчик, при получении урона проверка, если юнит, получивший урон, не равен старому (переменная - цель), то снимаем со старого все стаки (баффы, ауры, что там у тебя), ставим переменную счётчика на 1 и накладываем стак на нового юнита, а так же перезаписываем переменную цели на этого юнита, если же получивший урон юнит один и тот же, то добавляем стак, увеличиваем переменную и проверяем, если она равна 3, то наносим доп урон, обнуляем и убираем стаки
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.