Суть заклинания: заклинатель приводит способность в действие на юнита-цель. Юнит-цель после этого будет иметь эффект Х (не важно какой, ну допустим повышение урона). Спустя 60 сек. эффект Х с юнита-цели исчезает. НО, вот тут начинается самое сложное - эффект Х исчезнет в любом случае, не дожидаясь таймера, если кто-то атаковал юнита-цель.
Ни в GUI, ни в JASS мне не хватило навыков воплотить замысел в реальность - в GUI с заклинанием происходили странные вещи, если сразу атаковать двух юнитов с эффектом Х, а в JASS я пока что плаваю и только смог добавить эффект Х на эти самые 60 сек.
Можно ли вообще воплотить такой спелл с MUI?

Принятый ответ

Самый простой способ: создать особый бафф на основе зелья исцеления. Оно спадает при атаке по чару, поэтому по нему можно отслеживать и давать атаку.

Простой пример.

То, что я скинул -- это тебе и GUI, и MUI, и все 33 удовольствия. Даже рассеиванием рассеивается, прикинь? Не то, что все эти ваши триггерные баффы, которые ещё и не отслеживаете часто.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
27
6 лет назад
Отредактирован Феникс
0
Массив решит эту проблему на изи.

Переменные делать типа array [массив]
Индекс массива для таймера и глобальных переменных "+ 1" после каждого применения и будет тебе счастье.

Этот способ довольно простой, без лишних углублений в структуры или как их там, но опытные jass`еры скажут, что это неправильно. И будут правы.
0
13
6 лет назад
0
Люблю такое решать через хэш-таблицы, где необходимые значения записываются в handle id боевой единицы.
0
23
6 лет назад
0
Я мб не понял до конца суть вопроса, но в чем сложность просто проверять наличие эффекта на юните при атаке? Юнит атакован/получает урон > юнит имеет баф X > удалить баф X
0
4
6 лет назад
0
Атаковал или нанес урон? Разница принципиальная (например, сработал уворот, но событие атаки было, значит баф спал).
Через хеш-таблицы такое решать сомнительно, ибо ты задаешь таймер, а какое условие снятия бафа ты в таймере пропишешь? Я вот лично не знаю такого условия... Вот если доп триггер+хеш-таблица, то да.
Доп триггер: событие юнит атакован. Условие: у юнита есть баф (кодировку в РО смотри). Действие: убираешь баф.
Таймер с хештаблицей: запускаешь таймер, перед ним даешь юниту способность. Например "Боевые когти +15", Запускаешь таймер каждые 1 сек 60 раз. Когда на нем нет бафа, убираешь "Боевые когти+15" и обнуляешь таймер.
0
8
6 лет назад
0
Поди есть какая-то наработка готовая? Пытаюсь сделать что-то по советам, которые вы дали, но получается какая-то хрень.
0
26
6 лет назад
0
Tovio, в заклинания на заказ обратился бы.
4
16
6 лет назад
Отредактирован Naadir
4
Самый простой способ: создать особый бафф на основе зелья исцеления. Оно спадает при атаке по чару, поэтому по нему можно отслеживать и давать атаку.

Простой пример.

То, что я скинул -- это тебе и GUI, и MUI, и все 33 удовольствия. Даже рассеиванием рассеивается, прикинь? Не то, что все эти ваши триггерные баффы, которые ещё и не отслеживаете часто.
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.