Никогда такого не было и вот опять, даже вставки кастом скрипта не помогли. Количество объектов растёт странно, то ускоряется то замедляется, но триггер правильно работает. Там где если/да/иначе я проверил, утечек нет.
Мб в другойм месте, многие бж функции ГУИ создают утечки, те же действия с мультмбордами, а как приобразуется твой гуив код, ты бы глянул и упал в обморок.
Увы от утечек и кривых функций на ГУИ не избавится, ну если точнее то проще и быстрее выучить jass.
quq_CCCP, хм вот подумал может units in spawn создаёт груупу юнитов, ща попробую исправить. quq_CCCP, Хотя нет там вроде эти юниты вместе с группой заносятся в обнуляемую глобальную limit
Alexey103, так все функции BJ группы с выбором юнитов утекают. Там бывает локалка g не обнуляется, ее сразу возвращает функция, а обнулить таким случаем нельзя (если код по-другому переписать, там глобалку вставить).
quq_CCCP, Генерацию мобов, чтобы рандомные группы крипов в рандомных местах но на расстоянии от других спавнились. Steal nerves, Подскажешь где что и чем заменить? Просто я вот использовал джасс скрипт выбрать в радиусе, но не знаю скрипта для выбрать в области.
скачиваете jngp, устанавливаете. Проблемы с установкой или не работы высылай скрины ошибок, запиши видео - не понятно что не работает у вас
Берете гуишную команду
чтобы посмотреть что из себе представляет гуишная команда, берете выделяете данный триггер. Потом жмем "Правка - конвентировать в код".
Конвентируете в код и получаем код (смю рисунок ниже). У меня код представлен с подсветкой, данной jngp. В обычном редакторе код мелкими буквами печатает.
берете и выделяете нужную функцию. как выше GetUnitsInRectAll. Копируете ее название. Потом как на рисунке ниже жмем на "Function List"
Откроется окно. Это короче библиотека функции, здесь можно найти любую функцию, нативку или переменную. Вставляем скопированный текст. Находим функцию
function GetUnitsInRectAll takes rect r returns group
return GetUnitsInRectMatching(r, null)
endfunction
function GetUnitsInRectMatching takes rect r, boolexpr filter returns group
local group g = CreateGroup()
call GroupEnumUnitsInRect(g, r, filter)
call DestroyBoolExpr(filter)
return g
endfunction
как видно, проблема в BJ функции GetUnitsInRectMatching. Она создает каждый раз группу, и еще не обнуляется локалка.
Точно также можно сделать любой другой Jass программе. Но мне что-то удобно в jngp
Steal nerves, Вот это я понимаю ответ ) Steal nerves, Только тут вроде нет ещё сортировки по игроку. Тогда как в оригинале на гуи, выбирались только нейтрально-враждебные. И зачем это нужно Steal nerves:
boolexpr - фильтр, работает чаще всего с группами объектов (есть не только группа юнитов, есть группа игроков, выборка декорации, итемов и др). Отсеивает при выборе не нужных юнитов. если ничего туда не вписать (null) то будет брать всех. Например, нужно чтобы выделял только героев, вставляете в условие, а не герои в группу не попадут (отсеятся). Короче фильтр это условие. Если что можно на сайте посмотреть примеры, на форуме.
Ее уничтожать не надо, она не утекает. А короче почему поиск не юзаешь? вбивай по словам: filter, DestroyBoolExpr, BoolExpr и др. На сайте поиск плохой, поэтому пробуйте еще на гугле: "boolexpr xgm". На форуме также пробуйте искать
Steal nerves, Ну я сейчас вообще другими триггерами занимаюсь и в обычном редакторе. Есть на то причины, тогда поищу, просто жнгп только вчера нормально заработал, и вся эта расширенная работа с джассом для меня не привычна.
Увы от утечек и кривых функций на ГУИ не избавится, ну если точнее то проще и быстрее выучить jass.
quq_CCCP, Хотя нет там вроде эти юниты вместе с группой заносятся в обнуляемую глобальную limit
Steal nerves, Подскажешь где что и чем заменить? Просто я вот использовал джасс скрипт выбрать в радиусе, но не знаю скрипта для выбрать в области.
Ред. MpW
Steal nerves, Только тут вроде нет ещё сортировки по игроку. Тогда как в оригинале на гуи, выбирались только нейтрально-враждебные. И зачем это нужно Steal nerves:
Ред. MpW
Alexey103, не занимайся преждевременной оптимизацией.
Premature optimization is the root of all evil.