В общем, если во время игры выбрать нескольких воинов и дать им приказ перейти куда-нибудь, то они будут двигаться в колонне, где лучники - сзади, ближники - спереди, не мешая друг другу, и ожидая отставающих. А если с помощью триггеров выбрать юнитов в области и дать приказ идти - то они идут не в строю, не ждут своих, мешают друг другу, лучники с ближниками смешиваются и если эта орава встретит врага, то из-за их перемешанного строя у них шансов на победу будет меньше.
Так вот, можно ли с помощью триггеров заставить группу солдат передвигаться в колонне, чтобы они ждали отстающих, сохраняли построение и не мешали друг другу идти?

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

Попробовал на карте дать приказ пехотинцам и стрелкам Отряд - ... Щелчок правой кнопкой мыши ... Они пошли с соблюдением боевого порядка, сначала пехотинцы, потом стрелки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Если юнит под баффом "чума" - добавить в отряд Чума
Иначе - удалить из отряда Чума
Триггер
С. Таймер Чума
Отряд выбрать юнитов Чума
Если юнит умер
Д. создать юнита в позиции выбранного юнита.
ответ
Разделить. Добавить кнопку которая будет перключать на другую половину.
ответ
Steal nerves:
в чем разница между ExecuteFunc и просто call
PT153, ну call просто вызываешь потоком (он не создает поток), например у тебя в ряд выставлены сверху вниз названия функции со скобочками (и внутри скобок аргументы, а если не берет никаких аргументов, то внутри скобок пусто) и через call вызывает одну за другой последовательно сверху вниз.
call название функции (аргументы)
Допустим первую верхнюю функцию вызвали, и ее обработали, потом поток берет вторую внизу функцию и обрабатывает и т.д. Но у потока есть ограничения в операциях, как только выполнится определенное количество операций, варкрафт экстренно завершает поток и даже не сообщает об этом.
call функция 1()
call функция 2()
......
call функция 999()
Тут хочу обратить внимание и на то, насколько длинный код в этой вызываемой функции. И сколько вызываемой работы потребует: всякие вычисления, бесконечные циклы и другое. Если длинный код у тебя, и кучу циклов, и сами циклы большую работу совершают, то следует разбить на участки или как-то переделать что ли, уменьшить работу цикла и др.
Можно разбить на функции и ...
  1. вызывать через call, но так делать не стоит. Поток вызывает эти функции последовательно.
  2. Нужно делать задержку (через вэйт), например в ИИ-скриптах варкрафта делают задержку, чтобы не было нагрузки. Вместо вэйта можно таймер.
  3. через ExecuteFunc, ExecuteFunc создает отдельный новый поток. информацию про ExecuteFunc скидывал выше.
ответ
1 и 2. Выделить декорацию и нажать Ctrl+PageUp / Ctrl+PageDown.
ответ
Может, давать приказ каждому по отдельности, чтобы они не считались одной группой с общим приказом?
При этом можно создавать их в одну линию и давать приказ на точки, находящиеся на одинаковом расстоянии от каждого юнита.
То есть создаётся юнит в точке X1, Y1. Его нужно отправить в точку X1+3000, Y1.
А юнит в точке X2, Y2 нужно отправить в точку X2+3000, Y2.

0
13
6 лет назад
0
Можно дать этим юнитам одинаковую скорость движения и двигать их по точкам, которые лежат на параллельных прямых. Также можно двигать только юнитов ближнего боя, а точку для лучников (за их спиной) рассчитывать через полярные координаты в виде startX+dist*Cos(angle); startY+dist*Sin(angle), где angle - угол между точками положений юнита ближнего и дальнего боя.
2
26
6 лет назад
2
Попробовал на карте дать приказ пехотинцам и стрелкам Отряд - ... Щелчок правой кнопкой мыши ... Они пошли с соблюдением боевого порядка, сначала пехотинцы, потом стрелки.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.