Использование custom script облегчает работу и дает больше возможностей создавая локальные переменные.
Со временем научился использовать for loop и if
Вопрос : как правильно писать pick every unit in GROUP?
Выбрать каждого юнита из GROUP

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

Делаешь на гуи.
Потом заходишь в меню Edit -> convert to custom script. И смотришь.
А так, делаешь локальную группу через local group g = Create Group(), потом добавляешь в неё тех, кого нужно, а после ForGroup(g, function F). F - функция, в которой описано, что делать с юнитами в группе. Уничтожаешь группу и обнуляешь g после ForGroup().
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Нинадо бж, это не переменная а функция
local unit u = GetEnumUnit( ) 

0
28
6 лет назад
Отредактирован PT153
0
Делаешь на гуи.
Потом заходишь в меню Edit -> convert to custom script. И смотришь.
А так, делаешь локальную группу через local group g = Create Group(), потом добавляешь в неё тех, кого нужно, а после ForGroup(g, function F). F - функция, в которой описано, что делать с юнитами в группе. Уничтожаешь группу и обнуляешь g после ForGroup().
Принятый ответ
0
9
6 лет назад
0
) но вот дело в том функций много, ии как то на одну F как-то не получается
Создание и уничтожение групп мне известно
Значит
ForGroup((g), здесь что-то надо добавить что-ли )
Function F
Первое действие
Второе действие
...
Endfunction F
Ну типа такого нужно
Операции If /then/else, for loop я так делаю, типа выше
0
5
6 лет назад
0
Можешь циклом перебирать всех юнитов в группе.
Взял первого юнита группы, сделал с ним что-то нехорошее, удалил из группы (Переместил во вторую группу, если они тебе в дальнейшем нужны именно в этом составе). Повторил, пока юниты в группе не закончатся. Если юзал вторую группу - добавил ее юнитов в исходную.
0
28
6 лет назад
Отредактирован PT153
0
Talgar2:
Ты смотрел так?
Делаешь на гуи.
Потом заходишь в меню Edit -> convert to custom script. И смотришь.
Сначала надо определить функцию F. Потом функция, где происходит всё остальное.
function F takes nothing returns nothing
	local unit u = GetEnumUnit()
	...
	set u = null
endfunction

function action takes nothing returns nothing
	local group g = CreateGroup()
	set g = GroupEnum...(g, ...) // добавляет юнитов в группу. Сама функция зависит от того, как ты выбираешь юнитов.
	call ForGroup(g, function F)
	call DestroyGroup(g)
	set g = null
endfunction
Wadimiru:
Можешь циклом перебирать всех юнитов в группе.
Взял первого юнита группы, сделал с ним что-то нехорошее, удалил из группы (Переместил во вторую группу, если они тебе в дальнейшем нужны именно в этом составе). Повторил, пока юниты в группе не закончатся. Если юзал вторую группу - добавил ее юнитов в исходную.
В итоге ты кучу раз вызываешь функцию ForGroup, вместо того, чтобы вызвать её только один раз.
0
5
6 лет назад
0
В итоге ты кучу раз вызываешь функцию ForGroup, вместо того, чтобы вызвать её только один раз.
шта?
В варианте с циклом ты ее вообще не вызываешь.
0
28
6 лет назад
0
Wadimiru:
В итоге ты кучу раз вызываешь функцию ForGroup, вместо того, чтобы вызвать её только один раз.
шта?
В варианте с циклом ты ее вообще не вызываешь.
А, пардон, я спутал с GroupPickRandomUnitEnum.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.