Добавлен KalaKoltes
Уже второй день не могу устранить это. Изначально вместо локальной переменной группы стояла глобальная, утечек не возникало(по крайней мере минут 5 карта работала стабильно), затем сменил её, теперь больше 2.5 минут хватает, чтоб начались дикие лаги. Думал, что дело в "location" и "boolexpr", пробовал создавать локалки, потом их обнулять, но ничего не изменилось. Не знаю, может быть я просто не правильно обнуляю
группу, подскажите, что делать.
группу, подскажите, что делать.
function R takes nothing returns boolean
local group g = CreateGroup()
call GroupEnumUnitsInRangeOfLoc(g, GetUnitLoc(gg_unit_n000_0021), 900, Condition(function M))
return ( CountUnitsInGroup(g) >= 1 )
call DestroyBoolExpr(Condition(function M))
call DestroyGroup(g)
call GroupClear(g)
set g = null
endfunction
local group g = CreateGroup()
call GroupEnumUnitsInRangeOfLoc(g, GetUnitLoc(gg_unit_n000_0021), 900, Condition(function M))
return ( CountUnitsInGroup(g) >= 1 )
call DestroyBoolExpr(Condition(function M))
call DestroyGroup(g)
call GroupClear(g)
set g = null
endfunction
Принятый ответ
Добавь локальную логическую, которая будет равна ( CountUnitsInGroup(g) >= 1 ) и возвращай эту локалку, после того, как всё обнулил.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
И после return ничего не выполняется
Отредактирован Hodor
Совет: группу лучше сделать глобальной.
Получится примерно так:
В данном случае g это уже глобальная группа
Отредактирован nvc123
точка тут вообще нафиг не нужна