Здравствуйте, друзья!
Несколько раз сталкивались с такой проблемой, что триггер реагирует на упомянутое в заголовке событие иногда лишь в том случае, если юнит заходит в область слева или снизу, а если зайдёт сверху или справа, то ничего не произойдёт.
С чем это может быть связано?

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

Скорее всего тут идёт проверка на то, находится ли юнит в области, сразу после того как он в неё попадает (запускает ивент).
Дело в том что из-за особенностей физического размера юнитов, они по XY находятся не совсем там, где мы их видим... Поэтому допустим аура с 900 ренжа может задевать юнитов на краях, т.к. она высчитывает расстояние до них с учётом физ.размера. А триггерный выбор юнитов в радиусе 900 от точки часть юнитов на краю упустит, а другую - зацепит, которые не были захвачены аурой (т.к. идёт смещение в сторону из-за координат).
Единственное рациональное решение указанной проблемы - перерасчёт координат юнита опираясь на его физ.размер.
Для решения проблемы с областями можно просто "подождать" лишние 0.1 - 0.4 секунды и только потом проверить находится ли юнит в области (топорно, но работать будет).
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
7 лет назад
0
Похожие вопросы:

ответ
область- x1 x2 y1 y2
Если координата юнита x1<=X=<x2 и y1<=Y<=y2, то юнит в области с этими координатами. Иначе его там нет. Да и в гуи, вроде было, область содержит точку
ответ
Ну у мастера клинка способность то посложнее...
Вот пример:
Для начала нам нужно создать иллюзии героя, а потом скрыть всех их, так же сделав визуальный эффект (если что то зеленые тени, это снаряды).
ответ
Аура не сразу вешается на юнита, нужна задержка.

0
32
7 лет назад
Отредактирован quq_CCCP
0
8gabriel8, с вашей областью все впорядке, вероятно юнит либо не входит в область либо в ней уже появился этот юнит.
Дебаг решит вашу проблему. Так же проверьте верно ли условие триггера или boolexpr, мб вы неправильно сделали проверку.
2
26
7 лет назад
2
Скорее всего тут идёт проверка на то, находится ли юнит в области, сразу после того как он в неё попадает (запускает ивент).
Дело в том что из-за особенностей физического размера юнитов, они по XY находятся не совсем там, где мы их видим... Поэтому допустим аура с 900 ренжа может задевать юнитов на краях, т.к. она высчитывает расстояние до них с учётом физ.размера. А триггерный выбор юнитов в радиусе 900 от точки часть юнитов на краю упустит, а другую - зацепит, которые не были захвачены аурой (т.к. идёт смещение в сторону из-за координат).
Единственное рациональное решение указанной проблемы - перерасчёт координат юнита опираясь на его физ.размер.
Для решения проблемы с областями можно просто "подождать" лишние 0.1 - 0.4 секунды и только потом проверить находится ли юнит в области (топорно, но работать будет).
Принятый ответ
0
26
7 лет назад
0
quq_CCCP, я пока не дома, чтобы проверить)
Extremator, если я правильно понял вас, то тут не проверка юнита в области, а именно вхождение юнита в область. Есть довольно крупная область, площадь примерно 3х3 ратуши. При входе в неё с запада или юга запускается кинематика. Но когда я решил в неё войти с севера или востока, то ничего не произошло. Я там погулял, вышел и зашёл с того же направления, но ничего. Только зайдя потом с востока, триггер сработал.
0
18
7 лет назад
0
8gabriel8, если скинуть скриншот триггера (а ещё, на всякий случай, области), то будет больше шансов на быстрый и правильный ответ.
Скорее всего, как сказано выше, условия триггера неправильные.
Ещё может быть то, что этот триггер отключается другим триггером.
Или областей несколько рядом, а в триггере выбрана не та.
0
23
7 лет назад
0
или стоит блокактор который не могут войди
1
26
7 лет назад
Отредактирован 8gabriel8
1
Господа, я пришёл домой, проверил дебагом, одновременно увидел возможную причину в том, о чём сказал Extremator, то есть в проверке юнита в области, а не проверке того, какой юнит вошёл в область, наделал скриншотов и поправил триггер.
Сначала скриншоты, вот здесь триггер и Область 006:
А тут дебаг в игре, где я сначала повходил в Область 006 с севера и востока, а потом зашёл в неё с юга (до этого с запада уже входил):
В первом случае триггер не срабатывает, а во втором срабатывает.
Ну и в итоге я заменил условие с проверки юнита в области на Entering unit равно Юнит, проверил -нормально работает.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.