Доброго времени суток. у меня такой вопрос можно ли как-то отловить зону по принципу:
юнит вошел в зону А
юнит вошел в зону Б
юнит вошел в зону В
Если Зона = зона А
Действие...
или же как-то занести данную зону в переменную?

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

naxim, можно сделать wait 0.40 Этого хватит, чтобы всё прореагировало...
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
1
9 лет назад
Отредактирован Konstantin7
0
Кет, а без Jass не вомзножо?
2
33
9 лет назад
Отредактирован Кет
2
Как на GUI решить эту проблему именно так, как ты хочешь, я даже и не знаю. Если попробовать по-другому, самое простое — сделать три триггера.
TriggeringRegion есть на GUI в UMSWE, но от этого не легче — области в игре создаются в виде переменных другого типа, чем возвращает это событие. Хз, почему так.
А, можно после срабатывания триггера проверять, в какой области находится юнит. Это тип условия Boolean Comparison, функция «Боевая единица — Unit In Region».
0
24
9 лет назад
Отредактирован Melissa
0
Логическое - юнит в регионе. Придётся проверять каждый отдельно. Или изначально занести все зоны в переменные[] и потом проверять циклом
0
17
9 лет назад
0
А, можно после срабатывания триггера проверять, в какой области находится юнит. Это тип условия Boolean Comparison, функция «Боевая единица — Unit In Region».
Циклом. Но беда в том, что в момент, когда срабатывает событие вхождения юнита в регион, функция «Боевая единица — Unit In Region» не вернёт юнита в регионе, в который он вошёл, т.к. юнит должен успеть пройти дальше в регион, чтобы быть в нём.
Поэтому надо делать два региона. Один чуть больше и внутри него другой. И когда событие на вхождение во внутренний срабатывает, проверять находится ли юнит во внешнем.
0
24
9 лет назад
0
naxim, можно сделать wait 0.40 Этого хватит, чтобы всё прореагировало...
Принятый ответ
0
17
9 лет назад
0
wait 0.40
Почему именно 0.40?
0
24
9 лет назад
0
Потому что за меньше он не успевает среагировать и сказать, что да, юнит в регионе. Triggering unit не теряется, так что вейт не покорябает ничего...
0
17
9 лет назад
Отредактирован naxim
0
Konstantin7, так?
С действием "Set OuterRect[2] = InnerRect02 <gen>" ошибся, переделай в "Set OuterRect[2] = OuterRect02 <gen>".
Melissa:
Потому что за меньше он не успевает среагировать и сказать, что да, юнит в регионе. Triggering unit не теряется, так что вейт не покорябает ничего...
Можно и так.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.