Подскажите, каким образом перебераются добавленые в группу юниты?

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

call GroupEnumUnitsInRange( TempGroup, x, y, range, null )

loop
    set u = FirstOfGroup( TempGroup )
    exitwhen u == null
    call GroupRemoveUnit( TempGroup, u )

    if UnitAlive( u ) then
        // something
    endif
endloop

Если нужно сохранить юнитов в группе то
function Enum takes nothing returns nothing
    call KillUnit( GetEnumUnit( ) )
endfunction

function Action takes nothing returns nothing
    call GroupEnum.. 
    call ForGroup( TempGroup, function Enum )
endfunction.

Помимо этого все действия можно провести и в булекспре:
function Filt takes nothing returns boolean
    if UnitAlive( GetFilterUnit( ) ) then
        call KillUnit( GetFilterUnit( ) )
    endif

    return false
endfunction

function act takes nothing returns nothing
    call GroupEnumUnitsInRange( TempGroup, x, y, range, Condition( function Filt ) )
endfunction

Первый способ самый быстрый, но он не сохраняет юнитов, последний лучше второго
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
27
1 месяц назад
Отредактирован rsfghd
1
call GroupEnumUnitsInRange( TempGroup, x, y, range, null )

loop
    set u = FirstOfGroup( TempGroup )
    exitwhen u == null
    call GroupRemoveUnit( TempGroup, u )

    if UnitAlive( u ) then
        // something
    endif
endloop

Если нужно сохранить юнитов в группе то
function Enum takes nothing returns nothing
    call KillUnit( GetEnumUnit( ) )
endfunction

function Action takes nothing returns nothing
    call GroupEnum.. 
    call ForGroup( TempGroup, function Enum )
endfunction.

Помимо этого все действия можно провести и в булекспре:
function Filt takes nothing returns boolean
    if UnitAlive( GetFilterUnit( ) ) then
        call KillUnit( GetFilterUnit( ) )
    endif

    return false
endfunction

function act takes nothing returns nothing
    call GroupEnumUnitsInRange( TempGroup, x, y, range, Condition( function Filt ) )
endfunction

Первый способ самый быстрый, но он не сохраняет юнитов, последний лучше второго
Принятый ответ
Ответы (1)
0
20
1 месяц назад
0
rsfghd, Спасибо
Чтобы оставить комментарий, пожалуйста, войдите на сайт.