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

Принятый ответ

Если перемещать юнита периодично по координатам, а не точкам, ему нельзя будет отдать приказ перемещаться. При этом можно проигрывать нужную анимацию по индексу. Так устроенны системы перемещения на стрелках, но это можно применить и в данном случае.
Конечно, понадобятся дополнительные проверки, вроде не оглушён ли юнит и т.д.
Этот комментарий удален
0
20
7 лет назад
Отредактирован biridius
0
Чтобы юнитом нельзя было управлять, можно использовать PauseUnit, но тогда сам он никуда не будет бежать, и двигать его надо будет триггером.
Скорость выше 522 без триггерного движения тоже не сделать. Также чтобы юнит выглядел бегущим, а не стоящим в полете, его скорость должна быть равна 0 (иначе не проигрывается анимация walk).
Поэтому:
  1. При касте скрываем кастера, создаем даммика с такой же моделью но скоростью 0.
  2. Таймером периодически (25 раз в сек) двигаем даммика к цели. Даммику ставим анимацию "walk" и нужную скорость анимации (чтобы он не слишком медленно дрыгал ногами).
  3. По достижении цели перемещаем кастера к цели, убираем даммика и убираем паузу/ скрытие.
0
21
7 лет назад
Отредактирован Raised
0
biridius, если скрыть кастера, не будет возможности нанести ему урон/вылечить, повесить бафф или вообще что-либо с ним сделать.

Что относится к вопросу:
  • Бонус скорости
    • Увеличить скорость триггерно
    • Увеличить с помощью предметной способности (в процентном или абсолютном эквиваленте)
  • Как сделать юнита неуправляемым детально описано в этой статье
2
32
7 лет назад
2
Зачем этот изврат, когда есть пауза и стан? Юнита тупо перемещаем триггерно к цели с задано скоростью.
0
20
7 лет назад
Отредактирован biridius
0
Можно и не буквально скрывать его, а например ставить 100% прозрачность и паузить.
Глянул в статью, ЯТП там предлагается морфать юнита и затем делать цель недостижимой и опять морфать когда надо убрать неуправляемость?
два триггера, один срабатывает при касте, другой двигает юнитов. гуи, муи, есть комменты.
Загруженные файлы
1
26
7 лет назад
Отредактирован Uber
1
Если перемещать юнита периодично по координатам, а не точкам, ему нельзя будет отдать приказ перемещаться. При этом можно проигрывать нужную анимацию по индексу. Так устроенны системы перемещения на стрелках, но это можно применить и в данном случае.
Конечно, понадобятся дополнительные проверки, вроде не оглушён ли юнит и т.д.
Принятый ответ
0
21
7 лет назад
0
quq_CCCP, стандартный поиск пути?
1
28
7 лет назад
1
Если перемещать юнита периодично по координатам, а не точкам, ему нельзя будет отдать приказ перемещаться.
только наоборот
SetUnitX/Y сохраняет приказ в то время как SetUnitPosition сбрасывает приказ и производит проверку проходимости
ну а так всё верно
в качестве примера можно юзать системы передвижения на стрелках
0
26
7 лет назад
0
только наоборот
SetUnitX/Y сохраняет приказ в то время как SetUnitPosition сбрасывает приказ и производит проверку проходимости
Не-не, я имел ввиду не приказ, а перемещение. Если периодично перемещать юнита по координатам (при этом можно заодно менять угол его поворота в направлении рывка), команды игрока "переместиться в точку" будут проигнорированы, т.к. юнит будет постоянно менять свою позицию, хотя он и будет полностью доступен, да. Например, сможет атаковать во время рывка (если не менять его угол поворота).
0
28
7 лет назад
0
Uber, перемещение по координатам никак не влияет на юнита за исключением изменения координат
например если приказать юниту двигаться в 1 направлении а через SetUnitX/Y с той же скоростью двигать в другом то юнит будет по сути стоять на месте
и в системах на стрелках юзается SetUnitPosition
0
26
7 лет назад
0
Uber, перемещение по координатам никак не влияет на юнита за исключением изменения координат
Я об этом и говорил комментом выше.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.