Возьмём за пример ситуацию: Крестьянин использует на крестьянку особую способность, у неё появляется бафф.
Как реализовать триггер, который при накоплении определённого кол-ва маны у баффнутого юнита спавнит возле него юнита (например ребёнка) и снимает бафф с юнита?

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
24
8gabriel8, а не известно заносятся ли они в группу, но есть строгий критерий - нам не интересны крестьянки без бафа и баф выдается только при срабатывании способности - почему бы не заносить их в группу и не избавиться тем самым от кучи лишних действий?
30
Можно вообще не заморачиваться с бафом, а дать крестьянке способность завести ребетёнка и при касте на крестьянина таймером отсчитать кд и заспавнить ребёнка.
26
prog, не вижу практической разницы в обоих этих вариантах. Или есть серьёзная причина, по которой нужно выбрать твой способ?

Кстати, если мана крестьянке нужна только как показатель созревания плода, то можно сделать скрытый спеллбук с аурой восстановления маны, дейсвующей в допустимых целях только на самого воина, уязвимых и неуязвимых, так мана будет расти только при беременности. Или надо глянуть способность, которая используется для предмета с этой аурой. Если у неё не будет иконки на панели команд, то можно использовать вместо скрытого спеллбука.
30
то можно сделать скрытый спеллбук с аурой восстановления маны
На последнем патче можно вообще не заморачиваться со способностями, а просто менять поле UNIT_RF_MANA_REGENERATION.
26
Пора бы обязать указывать при создании вопроса патч игры.
24
серьёзная причина
Профилактика костылезависимости.
33
Пора бы обязать указывать при создании вопроса патч игры.
пора, это весьма важный критерий, даже более важный чем постановка вопроса, я думаю надо куда-то кому-то написать об этом, хз куда, а вообще Suseka, зачем делать то, что уже делали, даже я, человек который играет в 2-3 карты в варкрафте в основном, умудрялся ни один раз видеть эту систему беременности на мане, мб чё другое придумать? например на эффект альтернативной полоски хп и индивидуальном таймере, это блин ещё проще
1
А зачем вообще использовать для отсчета времени ману, когда можно использовать таймер эффекта (buff) или просто триггерный таймер?
Про версию, я бы предложил просто принять за данное, что речь идет о последней актуальной версии, если автором темы не указано иного.
30
Про версию, я бы предложил просто принять за данное, что речь идет о последней актуальной версии, если автором темы не указано иного.
Я даю ответы исходя из этого, но есть же ещё вариант jass/lua
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.