Суть в чем. Антимагический амулет поглощает направленное заклинание в юнита раз в n сек. Возникают проблемы с триггерными заклинаниями, т.к. они не отслеживают наличие этого самого амулета (а так же находится он в кд или нет). Пробовал отслеживать юнитов с амулетом в кд через добавление в отряд и выводе его оттуда спустя кд амулета (добавить в отряд - wait - исключить из отряда). В итоге амулет блокирует один триггерный каст, после чего не работает. Возможно, следует сделать то же через цикл, однако я не могу додумать как это правильно сделать с учётом того, что этот амулет может быть у большого количества юнитов.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
32
2 недели назад
0
По хорошему сделать в каждом триггерном спелле проверку, на наличие амулета защиты в кд, кд абилки на сколько помню только мемхаком можно проверить.
Есть еще вариант с руной защиты, это аналог амулета - но активка которая вешает бафф на владельца, в спеллах проверяем на бафф - но реализация отслеживания попадания спелла и запуск в кд - та еще проблема.
Ответы (1)
0
4
2 недели назад
0
Вот именно. С мемхаком я не то чтобы на "вы", я просто не понимаю его.
0
27
2 недели назад
0
Нельзя использовать вейт в переборе группы, поток обрывается и всё что после вейта не сработает. Создай массивные переменные юнита и реальной. При использовании амулета проверь, что индекс массива равен нулю, если так, то запусти таймер на триггер, где циклом минусуй массив реальных от 1 до макс индекса от периодичности таймера. Юнита при использовании амулета нужно записать под соответствующим индексом вместе с временем кд. На это время можно добавить юнита в группу чтобы проверять есть ли КД. По истечению времени удаляем юнита из группы, ставим последний индекс на место текущего и декрементируем, чтобы цикл правильно посчитал КД всех юнитов с амулетами
Но я думаю ничего из этого не понятно, поэтому если нужно будет, скину пример. Каст амулета отслеживается ведь?
Ответы (3)
0
4
2 недели назад
0
Каст не отслеживается. Амулет пассивный, срабатывает и уходит в кд после того, как поглотит направленное на юнита заклинание. Т.е. невозможно отследить то, как предмет уходит в кд
0
27
2 недели назад
Отредактирован rsfghd
0
MrSaW, а как тогда ты в группу добавлял? По какому событию? Просто юнит применяет заклинание и отслеживаешь есть ли цель и кидаешь в группу если она с амулетом?*
0
4
2 недели назад
0
Отслеживаю в условиях есть ли амулет и находится ли юнит в группе, если не находится- добавляю в группу кд и через время исключаю из группы
0
18
2 недели назад
0
Амулет, я так понимаю, пассивный, правильно? Тогда попробуй что нибудь вроде:
Амулету дать ауру с баффом (если он предмет и носится на герое и действует на соседних юнитов) или сделать пустышку (если он просто абилка)
Также нужно сделать эти абилки 2х уровневыми
Юнит любой кастует спелл
Если у цели каста есть бафф или пустышка
----Если уровень её равен 1
-------То не кастовать триггерный спелл или кастовать даммикаст очищение на цель
--------Найти героя с аурой или цель
--------Поставить левелы абилки на 2
--------Подождать n секунд
--------Вернуть левелы абилки обратно на 1
----endif
endif
Чтобы не возиться с переменными, лучше исполнить это на джассе.
Ответы (2)
0
4
2 недели назад
0
Не сработает. С таким же успехом можно добавлять и исключать из отряда. Если будет много юнитов с амулетами, то после второго же поглощения спела триггер перестанет нормально работать, т.к. переменная цели заклинания будет постоянно перезаписываться до выполнения всего, что будет после вэйта
0
18
2 недели назад
0
MrSaW, с локальными попробуй, там переменные не перезаписываются. Изначально и подразумевалось, что триггер под них сделан. И там без разницы, есть вэйт или нет, ведь юниты записаны. Но это на джассе.
1
32
2 недели назад
1
Срабатывание амулета не отследить триггерно в стандартном РО, он блочит 0.00 урона некоторых спеллов, поэтому не понять сработал он или нет на спелл + амулет срабатывает на спец атаки, вроде башей или ударов из виндвалка (в дальнем бою).
Поэтому берем руну защиты, вручаем юниту чтобы у него появился бафф, и отслеживаем его.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.