Добрый вечер, у меня такая проблема: сделал триггер, в котором, при входе определенного юнита в определенную область должен работать триггер, но он работает только в том случае, если юнит зайдет один раз в область, выйдет и опять зайдет, как сделать так что бы первого раза всё сработало?

nazarpunk, ну ты бы хоть поинтересовался и удосужился проверить прежде чем дизинфу так нагло говорить, я только что проверил, не учитывает если войти с северо/востока

не первый раз ведь эта тема поднимается уже
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
Условие не верно. Необходима боевая единица, что заходит в область, а не УЖЕ находится в области.
28
когда юнит входит в область, учитывается видимо коллизия или что, короче комментатором выше верно подмечено, условие, что юнит находится в области, обрабатывает именно координаты юнита, без коллизии, оффсетов и прочего
30
Сделай проверку TriggerUnit == Бриньёльф Торвик и отключай триггер после срабатывания.

когда юнит входит в область, учитывается видимо коллизия или что, короче комментатором выше верно подмечено, условие, что юнит находится в области, обрабатывает именно координаты юнита, без коллизии, оффсетов и прочего
Посмотри внимательно. Когда любой юнит входит в область, идёт проверка на наличие в области героя.
28
nazarpunk, ну то ладно, я имею ввиду что само событие некорректно срабатывает, если войти например с запада, то всё будет окей, а если с юга, то оно не будет учитывать, такая вот ерунда происходит
30
я имею ввиду что само событие некорректно срабатывает
Чего? Прямоугольнику пофиг, как в него попадёт юнит.
28
nazarpunk, ну ты бы хоть поинтересовался и удосужился проверить прежде чем дизинфу так нагло говорить, я только что проверил, не учитывает если войти с северо/востока

не первый раз ведь эта тема поднимается уже
Загруженные файлы
Принятый ответ
30
ну ты бы хоть поинтересовался и удосужился проверить прежде чем дизинфу так нагло говорить
Почему событие выхода из региона не вывел? Непонятно же, в какой момент выход происходит.
23
rsfghd, Блин, а что это, баг игры? Это же сильно мешает делать триггеры/скрипты на областях...
27
rsfghd,
Это с регионами было точно также. Там на клеточки 32×32 разбивает. Верхние и правые крайние квадратики не учитывает. Но суть та же.
Если у вас рект лежит между коордами 30-56
size = 56-30=26 - размер ректа. Там ширина или длина у пряугольника
minx=30 => программа будет брать 0. Если бы там был 35, то взял бы ближайший шаг 32.
maxx=minx+size=26 => преобразует 32. Сдвигает
Там сдвиг. То есть рект сдвигается на 32 влево и вниз. Поэтому проверка так багуется. Тут ивенты работают, если в эту клеточку попадаешь. Хер знает что так неудобно сдела близзард
Короче, тут как с иконками, от нижнего левого расширяется в правый верхний.

Тут просто ясное дело, что юнит попадает раньше слева или снизу (он уже фактически уже там, ивент опоздывает). И ивент с условием тоже срабатывает.
А сверху или справа, там ивент видимо срабатывает. Но само условие нет, так как самого юнита еще нет в ректе.

Если раскрыть функц ректа, смотреть в условие, там вроде сравнивают координаты. Не в них дело, значит.
А в проверках региона или ивента, как вот они работают. В регионах раьотают по клеткам, ивент входа в рект наверн также на клетки оперирует

minx=30 => программа будет брать 0. Если бы там был 35, то взял бы ближайший шаг 32.
Даже, когда у меня было minx или miny=32, то равен шагу 32. Он все равно берет 0. Будет 64, возмет 32. Будет 256, будет 224.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.