Добавлен Suseka
Возьмём за пример ситуацию: Крестьянин использует на крестьянку особую способность, у неё появляется бафф.
Как реализовать триггер, который при накоплении определённого кол-ва маны у баффнутого юнита спавнит возле него юнита (например ребёнка) и снимает бафф с юнита?
Как реализовать триггер, который при накоплении определённого кол-ва маны у баффнутого юнита спавнит возле него юнита (например ребёнка) и снимает бафф с юнита?
Принятый ответ
Прежде всего, такой баф лучше выдавать через ауру замедления от торнадо, настроенную работать только на себя и с нулевым замедлением. Это позволит избежать ситуаций когда баф может закончиться раньше времени, а также защищает от диспела и похищения бафов.
Что касается детекта полной маны, есть несколько способов, в этой ситуации я бы предложил следующий:
- При наложении бафа добавляем юнита в группу.
- Периодическим таймером с периодом в одну секунду перебираем всех юнитов в группе и проверяем не полная ли мана.
- Если мана полная, то удаляем из группы, забираем баф, обнуляем ману, спавним юнита.
А если бы я это делал сам, то реализация была бы другой - мана использовалась бы исключительно для отображения прогресса и выставлялась бы таймером на основе скрытого счетчика, не зависящего от скорости регенерации маны и любых других способов её ускоренного восстановления. Или, например, воспользовался бы возможностью выдать ограничение времени жизни и в момент "смерти" юнита спавнил бы нового и воскрешал или пересоздавал старого. Но оба эти способа более сложные и требуют дополнительных знаний для правильной реализации.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Taihou