Никогда такого не было и вот опять, даже вставки кастом скрипта не помогли. Количество объектов растёт странно, то ускоряется то замедляется, но триггер правильно работает. Там где если/да/иначе я проверил, утечек нет.

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

Да забей на утечки делай карту а не охинеей занимайся

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
17
6 лет назад
0
quq_CCCP, Генерацию мобов, чтобы рандомные группы крипов в рандомных местах но на расстоянии от других спавнились.
Steal nerves, Подскажешь где что и чем заменить? Просто я вот использовал джасс скрипт выбрать в радиусе, но не знаю скрипта для выбрать в области.
8
27
6 лет назад
Отредактирован MpW
8
Alexey103, можно сделать вот что:
как это сделать самостоятельно
  1. скачиваете jngp, устанавливаете. Проблемы с установкой или не работы высылай скрины ошибок, запиши видео - не понятно что не работает у вас
  2. Берете гуишную команду
  1. чтобы посмотреть что из себе представляет гуишная команда, берете выделяете данный триггер. Потом жмем "Правка - конвентировать в код".
Конвентируете в код и получаем код (смю рисунок ниже). У меня код представлен с подсветкой, данной jngp. В обычном редакторе код мелкими буквами печатает.
  1. берете и выделяете нужную функцию. как выше GetUnitsInRectAll. Копируете ее название. Потом как на рисунке ниже жмем на "Function List"
  1. Откроется окно. Это короче библиотека функции, здесь можно найти любую функцию, нативку или переменную. Вставляем скопированный текст. Находим функцию
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
Загруженные файлы
1
17
6 лет назад
1
Steal nerves, Вот это я понимаю ответ )
Steal nerves, Только тут вроде нет ещё сортировки по игроку. Тогда как в оригинале на гуи, выбирались только нейтрально-враждебные. И зачем это нужно Steal nerves:
filter)
call DestroyBoolExpr(filter)
return g
0
27
6 лет назад
Отредактирован MpW
0
boolexpr - фильтр, работает чаще всего с группами объектов (есть не только группа юнитов, есть группа игроков, выборка декорации, итемов и др). Отсеивает при выборе не нужных юнитов. если ничего туда не вписать (null) то будет брать всех. Например, нужно чтобы выделял только героев, вставляете в условие, а не герои в группу не попадут (отсеятся). Короче фильтр это условие. Если что можно на сайте посмотреть примеры, на форуме.
Ее уничтожать не надо, она не утекает. А короче почему поиск не юзаешь? вбивай по словам: filter, DestroyBoolExpr, BoolExpr и др. На сайте поиск плохой, поэтому пробуйте еще на гугле: "boolexpr xgm". На форуме также пробуйте искать
0
17
6 лет назад
0
Steal nerves, Ну я сейчас вообще другими триггерами занимаюсь и в обычном редакторе. Есть на то причины, тогда поищу, просто жнгп только вчера нормально заработал, и вся эта расширенная работа с джассом для меня не привычна.
5
17
6 лет назад
5
Да забей на утечки делай карту а не охинеей занимайся
Принятый ответ
2
30
6 лет назад
2
ledoed, неожиданно здравый комментарий.
Alexey103, не занимайся преждевременной оптимизацией.
Premature optimization is the root of all evil.
0
17
6 лет назад
0
ledoed, Я делаю наработки, не только для себя, поэтому нужно делать всё идеально, а потом по кирпичикам делать из наработок карты. Но я давно редактором занимаюсь и раньше не парился насчёт утчечек. + этот триггер запускается в 10 экземплярах раз в 30 секунд, выходит это по утечке каждые 3 секунды. Что нельзя оставлять.
Clamp, Когда этих триггеров будет штук 50 в карте будет поздно.
0
4
6 лет назад
0
" + этот триггер запускается в 10 экземплярах раз в 30 секунд, выходит это по утечке каждые 3 секунды. Что нельзя оставлять."
это вообще ерунда лол
0
17
6 лет назад
0
Daniil18, Если будет мультиплеерная карта и играть много часов то нет.
0
7
6 лет назад
Отредактирован Ige
0
а разве группу не нужно очищать перед удалением?
call GroupClear(udg_nospawn)
call GroupClear(udg_limit)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.