Добавлен Naadir
Как отловить цель приказа?
Скажем, у меня есть массив юнитов, каждый отдаёт случайный приказ со случайной целью.
При этом я хочу проверять каждые N секунд тип приказа (это легко, нужно сравнить GetUnitCurrentOrder() с тем, что я хочу. Но как отследить цель этого CurrentOrder? В нативках, насколько я прошарил, есть только GetOrderTarget{Unit/Item/Point}(), но эти функции откликаются на IssuedOrder, то есть на событие отдания приказа.
Но не на текущий приказ.
Скажем, у меня есть массив юнитов, каждый отдаёт случайный приказ со случайной целью.
При этом я хочу проверять каждые N секунд тип приказа (это легко, нужно сравнить GetUnitCurrentOrder() с тем, что я хочу. Но как отследить цель этого CurrentOrder? В нативках, насколько я прошарил, есть только GetOrderTarget{Unit/Item/Point}(), но эти функции откликаются на IssuedOrder, то есть на событие отдания приказа.
Но не на текущий приказ.
Принятый ответ
Записываешь в хеш за хендлом юнита отдавшего приказ стрингайди или интеджерайди этого приказа. Нужно настроить систему чтобы 100% записывала любой приказ любого юнита. Когда нужно узнать приказ - выгружаешь стрингайди или интержерайди за хендлом этого юнита. Это ответ на вопрос в шапке.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Naadir
GetOrderTarget работает, чтобы проверить цель текущего приказа?
ledoed, можно узнать, какой приказ выполняет юнит.
А что если проверять углы? Углы и приказы. По идее, если на карте нет препятствий, юниты будут идти напрямую к точке приказа.