народ! подскажите, реально ли с помощью кода отловить юнита цель при использовании стандартной телепортации если при касте юнита цели нету? как известно, если цель-точка, то способность ищет ближаайшего юнита подходящего под цели и телепортируется на него...мне нужно именно стандартной способностью телепортироваться, а не через канал...так вот как этого юнита отловить? я уже все что знаю испробовал. Проблема в том, что если делать через канал, то например бафф морфа не останавливается например и прочие вещи. Когда телепортируешься на юнита, он останавливается, и иконки его кнопок замораживаются как при касте молчания...есть какойто параметр как это отливить?
Принятый ответ
Я так понимаю телепорт на цель, тогда всё просто GetSpellAbilityTarget().
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
По идее нужна способность, которая кастуется какое-то время, необязательно Канал, например, Огненный столб. Если направил свой Огненный столб в то место, где нет юнитов, то отменить дальнейшее выполнение, если рядом юнит, то наложить на ближайшего эффект телепорта, одновременно запускается другой триггер. Другой триггер будет проверять, не умер ли юнит-цель или кастер и не бросил ли он кастовать, если да, то убрать эффект и прекратить дальнейшее выполнение. Ну и при срабатывании Огненного столба делать триггерное мгновенное перемешение.
Отредактирован pusha1999
мне нужно использовать стандартный телепорт в предмете посох телепортации. Если цель это юнит, то проблем нету отследить, а вот если ты кастуешь телепорт на точку, то он ищет ближайшего юнита подходящего под цели. Вот этого юнита то и надо отследить. Это стандартная способность. в этом то и проблема. Мне это нужно, потомучто канал не останавливает временную шкалу например у демон хантера в морфе или аватар пока телепортируешься, а телепорт останавливает на время...+ юниты бегут к точке и тоже останавливаются после телепорта на них, а нужно сделать чтобы они продолжали приказ к точке...сделать это не проблема, если юнит цель, а вот если юнит ищется при касте на точку, то это проблема))
Отредактирован PT153
Отредактирован pusha1999
Ты точно ближнего юнита к точке каста искал, а не случайного?
пробовал даже через отдачу приказов и проверки их выполнения...но это както бредово по моему)
Выводить надо текущий приказ юнита, чтобы проверить приказ. Например, делаешь событие Игрок cinematic skipped (нажатие Esc), действие Игра вывести на экран текст (самый первый пункт категории Игра), convert Order to String (current order of unit). Телепортируйся на этого юнита и жми Esc, чтобы увидеть приказ.
А чтобы ближнего найти, нужно 2 переменные - реальная и юнит. Выбираешь в радиусе всех юнитов от точки применения телепортации, если их больше одного, и сравниваешь расстояние от точки до юнита со значением реальной переменной, если оно меньше, то записываешь юнита в переменную юнит, в конце останется ближайший юнит.
И ещё можешь попроверять на тип юнита в boolean comparsion, вдруг он наземным перестаёт быть, например.
Отредактирован MpW
set Dmin = d <= эта переменная запоминалка, с чем сравнивать будешь. при старте не забывай записывать новое значение. Если тебе надо было макс число найти (короч наоборот), то переменную Dmax = 0 надо нулить
еще здесь само начало, когда еще нубом был. на гуи
Отредактирован Raised