Запускаю юнита в воздух. Есть область, в которой он должен оказаться на нужной высоте. Но юнит может оказаться в области будучи ниже нужного и подняться на нужную высоту, что тоже должно вызвать действия триггера
UPD:Разобрался. Оказалось, что высота сразу считается за конечное значение. Но спасибо за помощь. Решил созданием собственной физики объектов
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
Периодически проверять наличие юнита в области и его текущую высоту
26
Пишешь события вход/выхода для области.
Когда входят - добавляешь в группу. Когда выходят - удаляешь.
При входе проверяешь еще и текущую высоту полёта юнита.
Группа юнитов нужна для того что бы таймером раз в секунду проверять всех вошедших ранее юнитов в область (а не выбирать их заново) и проверять их текущую высоту (если она может меняться). При получении нужного значения для высоты - делаешь свои действия, так же как и при входе юнита в область с уже необходимой высотой.
8
Вариант 1 - Функция собственно, стандартная - детект высоты полёта
GetUnitFlyHeight(u)
Вариант 2 - Отследживание высоты юнита, зависящее от местности, вот наработка
globals
location ALICE_TR_Location = Location(0, 0)
endglobals
function GetLocZ takes real x, real y returns real
MoveLocation(ALICE_TR_Location, x, y)
return GetLocationZ(ALICE_TR_Location)
endfunction
function GetUnitZ takes unit u returns real
return GetUnitFlyHeight(u) + GetLocZ(GetUnitX(u), GetUnitY(u)) + 256
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.