Всем привет! Хочу реализовать способность, которая снижает броню за атаку, наподобие орбы нежити, только дебаф стакается, то есть с каждой атакой броня противника уменьшается на 1. Пробовал брать за основу способность Posion Arrows и при применении давать цели способность item armor bonus с отрицательными значениями, но не понимаю, как отслеживать применение этой способности, если Posion Arrows стоит на автокасте.

Вот тебе старый пример.
Там и отлов атаки, для орбов.
И триггерный дебафф.
И сложение единичек на -1 армора (до какого-то лимита)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
А тебе ненужно отслеживать применение, тебе нужно отслеживать урон выше 0 и появление баффа стрел в статусе.
Ответы (12)
5
quq_CCCP, можно подробнее про отслеживание урона? Я так понимаю надо использовать событие EVENT_UNIT_ATTACKED? Но в него еще нужно передавать цель атаки, но как получить цель я что-то не могу понять
10
Macghoul, Я тоже пытаюсь сделать такую способность. Её нужно на локалках делать если целей несколько может быть. При ударе по цели если у него нету ещё такого баффа, он добавляется, если есть то, просто повышаю уровень, после чего у меня запускается таймер 5 сек., через хэндл его у меня по хэш-таблице передаются данные о юните, и его уровне дебаффа при атаке, я сделал дебафф брони как не странно через дебафф брони и добавил туда несколько уровней. По истечению таймера, сверяю уровень дебаффа который был и который есть сейчас, если он одинаковый ( то есть цель не атаковали ), у цели удаляется способность. Но проблема в том что это не прокатит если уровень дебаффа максимальный, т.е. в любом случае абилка заберётся, вот я на этом и застрял. Я конечно не знаю как ты точно хочешь сделать, но написал как делаю я, может как то и поможет :).
10
LastUchiha, Я конечно делал так что оно и при max. лвле дебаффа работало, но там каждый раз кастил даммик бафф на 4.9 секунд, короче лично у меня на моем немощном пк фпс садился до 20...
22
Macghoul, урон ловится через event unit damaged, правда, без ujapi оно только на конкретном юните, ну не считая костыль - наработок
Что касается цели атаки, то для события event unit attacked атакующий это GetAttacker() а цель GetTriggerUnit()
3
Macghoul, сам использую такую конструкцию. Не знаю, могу ошибаться. Если в коде есть ошибки или есть способ лучше реализовать, кто знает подскажите
Загруженные файлы
28
Если в коде есть ошибки или есть способ лучше реализовать, кто знает подскажите
бро...
Загруженные файлы
28
Joma, у тебя при первом получении абилки с 30-ю уровнями пролаг жесткий происходит, и это будет лишь усугубляться если ты захочешь ещё 5к уровней
3
Joma, у тебя при первом получении абилки с 30-ю уровнями пролаг жесткий происходит, и это будет лишь усугубляться если ты захочешь ещё 5к уровней
Думаю, теперь лучше стало)
Загруженные файлы
28
Joma, открывать карту не собираюсь, но предполагаю, ты просто сделал прелоад
3
rsfghd, Да, так и сделал.
И на скрине что-то не понял)
call IncUnitAbilityLevel()
Это что?
28
Joma, вбей в переводчик Increment и воспользуйся дедуктивными способностями
3
rsfghd, Инкремент. А все понял, приращение счетчика типа)
28

время дебаффа обновляется, сам дебафф плюсуется, по окончанию времени все дебаффы (стаки) спадают
чтобы каждый бафф спадал отдельно - добавь просто дополнительные параметры времени дебаффа и его количества, обновление дебаффа можно тогда удалить
26
Вот тебе старый пример.
Там и отлов атаки, для орбов.
И триггерный дебафф.
И сложение единичек на -1 армора (до какого-то лимита)
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.