Хочу сделать возможность вкл\выкл святой щит, но так что бы щит тратил ману в секунду. То есть паладин включает щит, щит даёт ему неуязвимость и тратит например 10маны\сек. Как это сделать?
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
На триггерах можно без проблем. Юнит кастует абилку, удалить эту абилку и добавить вторую, дать неуязвимость и добавить юнита в группу, таймером с периодиком отнимать у этой группы ману, если она на нуле, то удалить вторую способность, добавить первую, удалить неузвимость и удалить юнита из группы.
Если юнит кастует вторую способность, то сделать то же самое
28
Не надо никакие способности удалять...
В константах разрешаем отключать щит. Ловим приказ начала щита, добавляем героя в группу Х. Если отдаётся приказ конца щита, удаляем героя из группы Х. Каждую секунду для каждого юнита в группе Х отнимаем Y маны. Если маны не хватает, отдаём приказ отмены щита.
28
PT153, если юнита застанят, он не сможет отменить щит и будет в неуязвимости даже при нехватке маны
33
rsfghd, по дефолту в неуязвимости не застанить как бы
11
Самый простой способ:
  1. Надо сделать спелл на основе Жара Преисподней.
  2. В триггерах отследить работу спелла (Условия - Юнит имеет специальное волшебство "Жар Преисподней" равно Да
  3. Когда спелл начнется сделать юнита неуязвимым через "Юнит - сделать неуязвимым"
Всё это состоит из одного спелла, к которому нужно событие "каждые 1 сек игрового времени"
28
Bergi_Bear, ну хз, через приказы это такое кривое дело... ну ладно
28
которому нужно событие "каждые 1 сек игрового времени"
Тут можно сделать иначе.
28
reaper1691, надо отловить момент окончания жара преисподней, чтобы убрать неуязвимость с юнита
11
В действиях триггера нужен только оператор цикла If then else
Если
Юнит имеет специальное волшебство Жар Преисподней равно Да
То
Сделать триггерный юнит неузвимым
Иначе
Сделать триггерный юнит уязвимым

rsfghd:
reaper1691, надо отловить момент окончания жара преисподней, чтобы убрать неуязвимость с юнита
Поэтому триггер работает и проверяет каждую секунду, а условие управляет триггером
28
reaper1691, в плане оптимизации такое себе, т.к. под проверку попадают все юниты на карте каждую секунду, но вряд ли оно на что-то особо влияет
32
На основе дефенда, щита маны, или жара приесподней, по касту определяем что оно включено, по приказу и баффу что спало, изи.
Неуязвимость накатываем триггерно, в то время как расход маны дефолтно в способности.
33
Дмитрий Ларионов, рефордж же?
SetUnitInvulnerable(unit,true/false)
или добавить/удалить Avul способность (неуязвимый нейтральный)
А для факта включение выклюения вот то что quq_CCCP, посоветовал.
В принципе любой способ будет рабочий
28
Когда мана кончается у иммолатиона, никакого приказа не отдаётся.

он не сможет отменить щит и будет в неуязвимости даже при нехватке маны
Он выйдет из стана, как правило.
28
quq_CCCP, дык сделано так, как ты и описал. Если бы отдавался приказ отмены способности, когда маны нет, то и группы с таймером не надо было.
11
rsfghd:
reaper1691, в плане оптимизации такое себе, т.к. под проверку попадают все юниты на карте каждую секунду, но вряд ли оно на что-то особо влияет
В таком случае надо добавить ещё условие логического типа, мол определенный юнит жив равно да, или же ещё добавить условие на игрока (мало ли). Ну и условие должно проверять владельца юнита, который также является владельцем для спелл-пустышки
28
reaper1691, если уж сужать круг, то лучше выбирать живых и тех, у кого есть абилка с имморталом
1
PT153:
SweetFox, комментарии прочитайте.
у меня по данному примеру герой навсегда становиться неуязвим, хотя есть условие
Юнит имеет специальное волшебство Жар Преисподней равно Да
То
Сделать триггерный юнит неузвимым
Иначе
Сделать триггерный юнит уязвимым
28
SweetFox, значит, вы неправильно сделали. Посмотрите внимательно, как сделано в карте.
1
PT153:
SweetFox, значит, вы неправильно сделали. Посмотрите внимательно, как сделано в карте.
а тут где то есть ссылка на мапу?) извините, может я в глаза долблюсь)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.