Добавлен KaneThaumaturge
Следующая строка вызывает утечки, как избавиться от них? По-моему GetUnitsSelectedAll().
set udg_InfoPick[GetConvertedPlayerId(GetTriggerPlayer())] = GroupPickRandomUnit(GetUnitsSelectedAll(GetTriggerPlayer()))
Принятый ответ
GetUnitsSelectedAll не освобождает хендл, но это не утечка.
С помощью set bj_wantDestroyGroup = true созданная в GetUnitsSelectedAll группа удаляются, но хендл не освобождается. Это не так страшно, но лучше сделать вот так.
С помощью set bj_wantDestroyGroup = true созданная в GetUnitsSelectedAll группа удаляются, но хендл не освобождается. Это не так страшно, но лучше сделать вот так.
globals
group TempGroup
endglobals
function GetUnitsSelectedAllFixed takes player whichPlayer returns group
set TempGroup = CreateGroup()
call SyncSelections()
call GroupEnumUnitsSelected(TempGroup, whichPlayer, null)
return TempGroup
endfunction
...
set bj_wantDestroyGroup = true
set udg_InfoPick[GetConvertedPlayerId(GetTriggerPlayer())] = GroupPickRandomUnit(GetUnitsSelectedAllFixed(GetTriggerPlayer()))
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
NazarPunk, мне нужно указать set bj_wantDestroyGroup = true?
Перед вызовом, да?
Если игровой процесс в твоей карте не занимает больше 20-30 минут и утекает не очень сильно - то тебе не нужно волноваться по поводу каждой утечки