Добавлен 8gabriel8
Здравствуйте, друзья!
Несколько раз сталкивались с такой проблемой, что триггер реагирует на упомянутое в заголовке событие иногда лишь в том случае, если юнит заходит в область слева или снизу, а если зайдёт сверху или справа, то ничего не произойдёт.
С чем это может быть связано?
Несколько раз сталкивались с такой проблемой, что триггер реагирует на упомянутое в заголовке событие иногда лишь в том случае, если юнит заходит в область слева или снизу, а если зайдёт сверху или справа, то ничего не произойдёт.
С чем это может быть связано?
Принятый ответ
Скорее всего тут идёт проверка на то, находится ли юнит в области, сразу после того как он в неё попадает (запускает ивент).
Дело в том что из-за особенностей физического размера юнитов, они по XY находятся не совсем там, где мы их видим... Поэтому допустим аура с 900 ренжа может задевать юнитов на краях, т.к. она высчитывает расстояние до них с учётом физ.размера. А триггерный выбор юнитов в радиусе 900 от точки часть юнитов на краю упустит, а другую - зацепит, которые не были захвачены аурой (т.к. идёт смещение в сторону из-за координат).
Единственное рациональное решение указанной проблемы - перерасчёт координат юнита опираясь на его физ.размер.
Для решения проблемы с областями можно просто "подождать" лишние 0.1 - 0.4 секунды и только потом проверить находится ли юнит в области (топорно, но работать будет).
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован quq_CCCP
Дебаг решит вашу проблему. Так же проверьте верно ли условие триггера или boolexpr, мб вы неправильно сделали проверку.
Extremator, если я правильно понял вас, то тут не проверка юнита в области, а именно вхождение юнита в область. Есть довольно крупная область, площадь примерно 3х3 ратуши. При входе в неё с запада или юга запускается кинематика. Но когда я решил в неё войти с севера или востока, то ничего не произошло. Я там погулял, вышел и зашёл с того же направления, но ничего. Только зайдя потом с востока, триггер сработал.
Ещё может быть то, что этот триггер отключается другим триггером.
Или областей несколько рядом, а в триггере выбрана не та.
Отредактирован 8gabriel8
Сначала скриншоты, вот здесь триггер и Область 006:
Ну и в итоге я заменил условие с проверки юнита в области на Entering unit равно Юнит, проверил -нормально работает.
Для решения этой проблемы нужно создать ещё область, которая больше той, куда установлено событие входа. И проверять наличие юнита в большой области.
Мой вопрос - xgm.guru/p/wc3/167810
Здесь прицеплена карта-пример - xgm.guru/p/wc3/167965?postid=316923#comment23
события: юнит вошел в облость
условие: юнит в облости равен да
дейсвтя: выполняем задачу
Отредактирован Maniac_91
=)
JyHgle: Да это гениально!!!