JASS Help

GroupEnumUnitsOfPlayer

native GroupEnumUnitsOfPlayer takes [[[group|group.html]]] whichGroup, player whichPlayer, [[[boolexpr|boolexpr.html]]] filter returns [[[nothing|nothing.html]]]

Добавляет в группу юнитов, принадлежащих определённому игроку.

globals group g = [[[CreateGroup|creategroup.html]]]() endglobals function gameStart takes [[[nothing|nothing.html]]] returns [[[nothing|nothing.html]]] call GroupEnumUnitsOfPlayer([[[null|null.html]]], [[[null|null.html]]], [[[null|null.html]]]) // Безопасна при работе с [[[null|null.html]]] call CreateUnit(Player(0), '[[[uloc|aloc.html]]]', 0, 0, 0) // Не игнорирует [[[aloc|aloc.html]]] call GroupEnumUnitsOfPlayer(g, Player(0), [[[null|null.html]]]) call ConsolePrint([[[I2S|i2s.html]]]([[[GroupGetCount|groupgetcount.html]]](g))) // 1 call CreateUnit(Player(0), 'hfoo', 0, 0, 0) call KillUnit(CreateUnit(Player(0), 'hfoo', 0, 0, 0)) // Добавляет мёртвых юнитов call RemoveUnit(CreateUnit(Player(0), 'hfoo', 0, 0, 0)) // Добавляет удалённых юнитов call GroupEnumUnitsOfPlayer(g, Player(0), [[[null|null.html]]]) call ConsolePrint([[[I2S|i2s.html]]]([[[GroupGetCount|groupgetcount.html]]](g))) // 4 call GroupEnumUnitsOfPlayer(g, Player(1), [[[null|null.html]]]) // Очищает группу перед вызовом call ConsolePrint([[[I2S|i2s.html]]]([[[GroupGetCount|groupgetcount.html]]](g))) // 0 endfunction function [[[main|main.html]]] takes [[[nothing|nothing.html]]] returns [[[nothing|nothing.html]]] call TimerStart(CreateTimer(), 0, false, function gameStart) endfunction

Добавление удалённых юнитов связано с процессом удаления юнитов игрой, которая ждёт завершения внутриигрового цикла перед полным удалением юнита во избежание всякого.

Если отложить действие, то игра успешно удалит юнита и он добавлен не будет.

globals group g = CreateGroup() endglobals function timerCallback takes nothing returns nothing call GroupEnumUnitsOfPlayer(g, Player(0), null) call ConsolePrint([[[I2S|i2s.html]]]([[[GroupGetCount|groupgetcount.html]]](g))) // 0 endfunction function gameStart takes nothing returns nothing call RemoveUnit(CreateUnit(Player(0), 'hfoo', 0, 0, 0)) call TimerStart(CreateTimer(), 0, false, function timerCallback) endfunction function [[[main|main.html]]] takes [[[nothing|nothing.html]]] returns [[[nothing|nothing.html]]] call TimerStart(CreateTimer(), 0, false, function gameStart) endfunction
Last modified: 22 October 2024