Помогите как убрать утечку в этом триггере изображённом на скрине. Как я понял утечку создаёт условие, как бы я не пытался я так и не понял как его устранить.
Как триггер выглядит на JASS:
function Trig_init_Conditions takes nothing returns boolean
if ( not ( CountUnitsInGroup(GetUnitsInRectAll(gg_rct_Oblast)) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_init_Actions takes nothing returns nothing
call DisableTrigger( GetTriggeringTrigger() )
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), GetRectCenter(gg_rct_Oblast), bj_UNIT_FACING )
call TriggerSleepAction( 20.00 )
call EnableTrigger( GetTriggeringTrigger() )
endfunction
===========================================================================
function InitTrig_init takes nothing returns nothing
set gg_trg_init = CreateTrigger( )
call TriggerRegisterTimerEvent( gg_trg_init, 0.01, true)
call TriggerAddCondition( gg_trg_init, Condition( function Trig_init_Conditions ) )
call TriggerAddAction( gg_trg_init, function Trig_init_Actions )
endfunction

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

Ты создаешь в "Trig_init_Conditions" группу которую потом не удаляешь.
Если вкратце: сохрани группу в переменную и после подсчитывания количества юнитов в ней -- удаляй ее.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
15
7 лет назад
0
Ты создаешь в "Trig_init_Conditions" группу которую потом не удаляешь.
Если вкратце: сохрани группу в переменную и после подсчитывания количества юнитов в ней -- удаляй ее.
Принятый ответ
0
32
7 лет назад
0
Эмм не писать на гуи вовсе, у вас есть таймер, на кой черт вам нужен вейт?
Что мешает каждые 20 секунд создавать пехотинца в области, причем ненадо использовать локейшины - это тоже утечки.
0
15
7 лет назад
0
AlexSan, Я делал что-то типо этого. Добавляли функцию - установить Group = Юниты в области OBLAST, потом через личный сценарий уделял её, но утечка всё-равно не уходила. Я пытался раскрыть функцию - CountUnitsInGroup, нажав по ней ctrl, но у меня карта не открывалась видимо я что-то не то делал.
quq_CCCP, Да это пример, я хочу просто устранить утечку в условии: if ( not ( CountUnitsInGroup(GetUnitsInRectAll(gg_rct_Oblast)) == 0 ) ) then
return false
endif
return true
0
23
7 лет назад
0
bifurcated, научиш, не бывает который человек с 1 раза создать идеальный jass.. Мне вот хватило понять суть jass 2 недели...
Этот комментарий удален
0
32
7 лет назад
0
Что собрать всех юнитов на опред области в группу, по условию - живой, не здание, ну и так далее, потом проверить а больше ли 0 юнитов в группе?
Так сложно? Группа в виде глобальной переменной, перед каждым использованием очищается.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.