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

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

Действие для группы применяется для каждого юнита в отдельности. Т.е. гуишная запись вида
Отряд - сделать че-то там:
-действие 1
-действие 2
...
Будет проделывать эти действия для каждого юнита в отдельности.
Очевидно, что добавив элемент случайности в список этих действий - будут получены различные значения(с некоторой вероятностью) для каждого юнита.
0
19
7 лет назад
0
Похожие вопросы:

ответ
у отряда мало возможности, если бы былобы такое то двигал бы через отряд..
Чего? Нет никакой разницы, что ты каждого юнита занесешь в массив, и будешь перебирать его циклом, что ткнешь Pick every unit in (unit group) and do multiple actions и выполнишь точно такой же цикл.
Я предпочитаю отряд.
Да и таймер нахер, если честно. Коли тебе в любом случае придется работать с событиями с малым периодом, гораздо удобнее закрепить за каждым юнитом вещественную переменную, отвечающую за время движения, и каждые 0.02 отнимать от нее 0.02.
Если не понял, пиши, я скину пример.
ответ
Частично не понял, тоесть нужно что бы в кинематике был несуществующий юнит?
Допустим в окне кинематики паладин с каким либо именем что то говорит, но на карте его нет. Если да то это Спецэффекты - Transmission From Unit-Type
ответ
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
  1. Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
  1. Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.
ответ
Ну только триггерные системы отрядов, была такая...
Вот пример ссылочка
Были и другие, поиск в помощь.
Вот еще ссылка
ответ
запомнить всех выбранных, затем очистить эту группу, добавить сначала твоего героя, а затем всех остальных

1
20
7 лет назад
Отредактирован Diaboliko
1
Действие для группы применяется для каждого юнита в отдельности. Т.е. гуишная запись вида
Отряд - сделать че-то там:
-действие 1
-действие 2
...
Будет проделывать эти действия для каждого юнита в отдельности.
Очевидно, что добавив элемент случайности в список этих действий - будут получены различные значения(с некоторой вероятностью) для каждого юнита.
Принятый ответ
0
10
7 лет назад
Отредактирован Morkoffka
0
Diaboliko:
Действие для группы применяется для каждого юнита в отдельности. Т.е. гуишная запись вида
Отряд - сделать че-то там:
-действие 1
-действие 2
...
Будет проделывать эти действия для каждого юнита в отдельности.
Очевидно, что добавив элемент случайности в список этих действий - будут получены различные значения(с некоторой вероятностью) для каждого юнита.
При использовании такой записи, они все прутся в одну точку
Загруженные файлы
1
20
7 лет назад
1
Morkoffka:
Diaboliko:
Действие для группы применяется для каждого юнита в отдельности. Т.е. гуишная запись вида
Отряд - сделать че-то там:
-действие 1
-действие 2
...
Будет проделывать эти действия для каждого юнита в отдельности.
Очевидно, что добавив элемент случайности в список этих действий - будут получены различные значения(с некоторой вероятностью) для каждого юнита.
При использовании такой записи, они все прутся в одну точку
Вы выбираете N юнитов игрока 1, а затем для каждого юнита (т.е. N раз) отдаете N юнитам приказ двигаться в случайную точку, которая, к тому же, еще и утекает. Замените последний блок триггерного действия на Боевая единица - отдать приказ цель-точка.
0
10
7 лет назад
0
Diaboliko:
Morkoffka:
Diaboliko:
Действие для группы применяется для каждого юнита в отдельности. Т.е. гуишная запись вида
Отряд - сделать че-то там:
-действие 1
-действие 2
...
Будет проделывать эти действия для каждого юнита в отдельности.
Очевидно, что добавив элемент случайности в список этих действий - будут получены различные значения(с некоторой вероятностью) для каждого юнита.
При использовании такой записи, они все прутся в одну точку
Вы выбираете N юнитов игрока 1, а затем для каждого юнита (т.е. N раз) отдаете N юнитам приказ двигаться в случайную точку, которая, к тому же, еще и утекает. Замените последний блок триггерного действия на Боевая единица - отдать приказ цель-точка.
Спасибо,всё работает! Я не знал о существовании действия для отдачи приказа одной боевой единицы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.