Наверное, мой Охотник на демонов уже взвыл от горя.
На этот раз он не может понять, когда же ему нужно очнуться от демонической власти.
Я создаю массив таймеров от 0 до 12 (Ноль не учитываю).
Присваиваю каждому Охотнику значение Custom Value по индексу игрока.
В момент перевплощения создаю таймер с индексом игрока (или продлеваю его).
И... Не могу отследить этот таймер. Вернее сказать - не могу понять, как это реализовать.
Вопроса, в связи с этим, два:
  1. Как бы мне создать событие, которое сработает при любом окончании таймера в указанном массиве?
  2. Как бы мне отследить значение индекса таймера, который закончился?
Заранее спасибо)
P.S. - общая картина такова: существует Многострадальный Охотник на демонов. Время его контроля ограниченно - в течении фиксированного времени его разум затмевает кровь демонов - тогда-то, будучи демоном, его можно контролировать (и подкармливать трупами демонов, дабы увеличить длительность затуманивания разума). Однако может произойти момент, когда таймер дойдёт до нуля и Охотнику вернётся разум.

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

Hate, Vlod, ох и советчики... Зачем плодить 100500 триггеров, насилую редактор, если можно сделать это действиями?
У тебя триггер сработает если хоть один из таймеров завершится.
Действия такие:
Установить переменную ИНДЕКС = 0
Для переменной А от 1 по 12 делать
    Если Завершённый таймер == timer[переменная A]
    То
        Установить переменную ИНДЕКС = переменная А
        Custom Script: "exitwhen true"
    Иначе
        <пусто>
Если ИНДЕКС == 0
То
    Пропустить все дальнейшие действия
Иначе
    <пусто>
<Дальнейшие действия>
exitwhen true писать без кавычек. Проверка на 0 после цикла необходима для того, чтобы дальнейшие действия не были выполнены, если триггер был запущен не событием.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
4 года назад
0
в гуи - никак, делайте по триггеру на таймер
0
17
4 года назад
0
NulliFLie, сделайте для каждого таймера свой триггер, тогда будете знать, какой из них завершился
0
28
4 года назад
Отредактирован PT153
0
Hate, Vlod, ох и советчики... Зачем плодить 100500 триггеров, насилую редактор, если можно сделать это действиями?
У тебя триггер сработает если хоть один из таймеров завершится.
Действия такие:
Установить переменную ИНДЕКС = 0
Для переменной А от 1 по 12 делать
    Если Завершённый таймер == timer[переменная A]
    То
        Установить переменную ИНДЕКС = переменная А
        Custom Script: "exitwhen true"
    Иначе
        <пусто>
Если ИНДЕКС == 0
То
    Пропустить все дальнейшие действия
Иначе
    <пусто>
<Дальнейшие действия>
exitwhen true писать без кавычек. Проверка на 0 после цикла необходима для того, чтобы дальнейшие действия не были выполнены, если триггер был запущен не событием.
Принятый ответ
0
26
4 года назад
0
а теперь найди в гуи действие "завершенный таймер"
0
28
4 года назад
Отредактирован PT153
0
Hate, нашёл.
Другой вопрос, как сравнить таймеры. В UMSWE можно через код прямо в условии, но этого делать не стоит. Тут лучше воспользоваться хешем. И быстрее, чем перебор, и в ГУИ можно. Ну как можно...

Тут без Custom Script никак. А всё из-за неполноценности ГУИ.
Загруженные файлы
2
26
4 года назад
Отредактирован Hate
2
тогда да
только не break, а exitwhen true
0
28
4 года назад
0
только не break, а exitwhen true
Истину глаголишь.
0
26
4 года назад
Отредактирован Hate
0
Другой вопрос, как сравнить таймеры
вот об этом и речь. ты никак не можешь сравнить таймеры, поэтому приходится городить такие огороды. почему кстати в гуи это отсутствует это очень хороший вопрос
0
28
4 года назад
0
Hate, даже в UMSWE этого нет.
0
17
4 года назад
0
Да, такие советчики. Если можно custom script, то проще на jass делать \*/
1
19
4 года назад
Отредактирован Ev3nt
1
Зачем столько сложностей, как на счёт локальных переменных и jass?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.