Каким образом отследить, что юнит зашёл в конкретную область, если в событиях несколько областей, больше 10?
То есть события выглядят примерно так:
Если отслеживать по условию "Область содержит юнита" или "Область содержит точку (положение юнита)", то иногда триггер не срабатывает. Увеличить область нельзя.
Делать десятки триггеров с одинаковыми действиями или запускать 1 триггер с действиями из 100 триггеров с событиями тоже не вариант.

Darknessay, не сработало. Проверка показала, что в группу юниты не добавляются (я выбирал всех юнитов в области и для проверки выбрал Kill picked unit - все выжили).
EnergyFrost, сделал так:
Когда заходит в первую область [200] - работает как надо.
Когда заходит в [201] и [202] - не срабатывает вообще.
А при входе в [203] только показывает сообщение и тоже не срабатывает.
Я думал, дело в Entering unit, но при изменении на переменную результат такой же.
Может быть, Entering unit не равен юниту в области?.. Но он из области-то не выходит.
Предположил, что N не успевает обновиться и добавил ожидание условия. Тоже не то.
Делаю на GUI, в JASS никак не могу научиться писать.
Пытаюсь, но когда выдаёт ошибки по непонятной причине, которые не решаются за несколько минут - бросаю. Нет времени.
В общем, сделал по примеру из другого вопроса: xgm.guru/p/100/167965
Вопрос закрыт.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
15
Использовать массивы и добавлять событие "unit enters" триггерно:
Загруженные файлы
18
Это-то понятно, но как отследить, в какую конкретно область зашёл юнит?
В зависимости от этого нужны похожие, но разные действия.
Например, если триггер нужен для движения автомобилей по дорогам города.
Если зашёл в область, отправлять его в другую.
Иначе говоря, что должно быть в условиях?
Загруженные файлы
15
Очевидно, что для набора областей с разными эффектами, использовать разные массивы и, соответственно, триггеры.
19
Решать проблему, мать вашу, группами, а не выбором юнитов в областях -____-
18
Darknessay, то есть создать группу, в которой выбраны все юниты в области?
15
Делаешь массив из областей и бежишь по этому массиву. Выходом из цикла будет либо координата принадлежит области, либо рабочая переменная вышла за предел массива. В 1 случае переменная при выходе из цикла будет иметь значение k-того элемента массива-области, в которой находится юнит. Во втором случае юнита нет ни в одной из областей. А событие верное - входит в область...
18
Darknessay, не сработало. Проверка показала, что в группу юниты не добавляются (я выбирал всех юнитов в области и для проверки выбрал Kill picked unit - все выжили).
EnergyFrost, сделал так:
Когда заходит в первую область [200] - работает как надо.
Когда заходит в [201] и [202] - не срабатывает вообще.
А при входе в [203] только показывает сообщение и тоже не срабатывает.
Я думал, дело в Entering unit, но при изменении на переменную результат такой же.
Может быть, Entering unit не равен юниту в области?.. Но он из области-то не выходит.
Предположил, что N не успевает обновиться и добавил ожидание условия. Тоже не то.
Делаю на GUI, в JASS никак не могу научиться писать.
Пытаюсь, но когда выдаёт ошибки по непонятной причине, которые не решаются за несколько минут - бросаю. Нет времени.
В общем, сделал по примеру из другого вопроса: xgm.guru/p/100/167965
Вопрос закрыт.
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.