Итак, господа, вопрос таков.
Делаю в своём моде вышки, полезность которой зависит от юнита, которого вы в неё посадите.
Суть вопроса такова - создаём локальные переменные на юнитов, заносим их в хештаблицу, но как в следующем триггере отследить, что именно вон тот юнит, на которого был направлен закл, подошёл к кастующей вышке, а не просто мимо пробегал, или вообще к другой вышке шел?
Юнит при достижении вышки исчезает, а сама она меняется на другую вышку. Вытащить юнита обратно низзя.
Делаю в своём моде вышки, полезность которой зависит от юнита, которого вы в неё посадите.
Суть вопроса такова - создаём локальные переменные на юнитов, заносим их в хештаблицу, но как в следующем триггере отследить, что именно вон тот юнит, на которого был направлен закл, подошёл к кастующей вышке, а не просто мимо пробегал, или вообще к другой вышке шел?
Юнит при достижении вышки исчезает, а сама она меняется на другую вышку. Вытащить юнита обратно низзя.
В чем же проблема, спросите вы, доставай из хеш-таблицы и не парь нам мозг! Но тут-то и кроется главная загвоздка - что я не могу юзать локальные переменные в событии
Принятый ответ
orc01, есть событие EventUnitsInRange, делаешь триггер, а при постройки башни добавляешь в него это событие для каждой башни, в условиях проверяешь что тот кто подошел нужного тебе типа юнит, ну действия думаю проблем не вызовут...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Sergey105
чтобы узнать дистанцию
x = GetUnitX(вышка) - GetUnitX(юнит)
y = GetUnitY(вышка) - GetUnitY(юнит)
dist = SquareRoot(x*x + y*y);
dist товя дистанция между вышкой и юнитом
и да тебе работать с таймером
Sergey105: Да про таймер-то я знаю, для отслеживания IDшника нужон. Но твой вариант попробую
DemonoiD: А толку-то от этого? Чем я проверю, что юнит подошел к вышке? Более того, вышка при этом не одна, их вообще строить можно покуда ресурсы есть - так как узнать что он подошел именно к той вышке, которая его звала?
В событии нельзя юзать локальные переменные, я банально не могу задать "юнит в радиусе от юнита"