Добавлен KaneThaumaturge
Есть два примера, один не вызывает утечки, второй вызывает.
1 пример:
1 пример:
Он не вызыввает утечек, хоть там и не стоит call DestroyGroup. Почему?
2 пример:
2 пример:
Вызывает утечки, почему? Как исправить?
Принятый ответ
Достаточно посмотреть как устроены эти бж функции и все будет понятно.
function OnlyAliveSourcess takes nothing returns boolean // эту функция в кастом код карты, в самом вверху.
return GetUnitTypeId( GetFilterUnit( ) ) == 'hsor' and not ( GetWidgetLife( GetFilterUnit( ) ) < 0.405 or IsUnitType( GetFilterUnit( ), UNIT_TYPE_DEAD ) )
endfunction
//...
call GroupClear( udg_Group ) // это в кастом скрипт твоего триггера
call GroupEnumUnitsInRect( udg_Group, bj_mapInitialPlayableArea, Condition( function OnlyAliveSourcess )) // это в кастом скрипт твоего триггера
Вот без утечек и локейшинов и прочих ненужных действий.
Далее уже делай что хочешь с юнитами в группе
Далее уже делай что хочешь с юнитами в группе
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Вам я так понял координаты не даются...
KaneThaumaturge, не надо, это помедленнее в разы + пикать всех, включая дохлых плохая затея - могут быть баги.
Для этого делаются фильтры на все случаи жизни, штук 10, и используются во всех триггерах.
Хорошо, тогда с ними разберусь уже как-то. Спасибо
Отредактирован quq_CCCP
Придеться немного поизучать jass
Пишет отсутствует оператор кода, хотя все как в примере
Отредактирован Borodach
Я и в тот то раз уже все возможные комбинации перепробовал, и в этот раз опять как их только не менял и все точки и все запятые и вместе и тд..всегда ошибка в этой строке при сохранении.
Может кто то её набрать текстом здесь в чате, что бы её можно было скопировать?
И еще, у автора этого поста именно так и стоит в примере...в конце точка, а сразу за ней запятая.
Теперь вопрос зачем автор сбивал с толку и выложил скрин где не верно стоят знаки..точка и запятая у него рядом после 99999.
Вот выложу тут рабочий текст строки, думаю кому то может пригодится..
GroupEnumUnitsInRangeOfLoc( udg_Group, udg_Point, 99999, null)
Desgul спасибо Вам что направили мои сомнения что это скрипт вообще рабочий в нужное русло)
Отредактирован ScorpioT1000
Отредактирован PT153