Обнуление массива отрядов
Вопрос простой.
Что тут может утекать?



Views: 228

rsfghd #1 - 3 months ago (изм. ) 1
Голосов: +1 / -0
Там по моему точка создаётся, когда выбираешь юнитов в отряд. А, и раз уж ты сразу же уничтожаешь группы, то можешь воспользоваться командой bj_wantDestroyGroup. А так, вроде всё ок

я ещё обычно очищаю группы перед уничтожением, если циклом не перебирал, но я не помню есть ли какой-то эффект от этого, хоть эта тема и обсуждалась уже


ах да, и точки никакой не создаётся)

Вот про очистку группы перед удалением, если интересно
Прикрепленные файлы
PT153 #2 - 3 months ago 1
Голосов: +1 / -0
null можно убрать, ничего не утекает.
Venommm #3 - 3 months ago 0
Голосов: +0 / -0
bj_wantDestroyGroup
очищаю группы
Пробовал. Эффект тот-же.
null можно убрать, ничего не утекает.
Проблема в том, что счетчик хендлов (только с этим триггером на карте) показывает стабильный рост и не падает.
Это нормально?
Vlod #4 - 3 months ago 0
Голосов: +0 / -0
Venommm, скинь пустую карту с счётчиком хендлов и этим триггером
Venommm #5 - 3 months ago 0
Голосов: +0 / -0
Vlod:
Venommm, скинь пустую карту с счётчиком хендлов и этим триггером
Прикрепленные файлы
Vlod #6 - 3 months ago 0
Голосов: +0 / -0
Venommm, посмотри, хендл сначала будет увеличиваться, а потом встанет
Прикрепленные файлы
Venommm #7 - 3 months ago 0
Голосов: +0 / -0
Vlod:
Venommm, посмотри, хендл сначала будет увеличиваться, а потом встанет
На какой цифре встает? У меня, если и останавливается то на секунд 5-10, а затем всё равно нагоняет темп и продолжает увеличиваться.
К слову еще один вопрос: Что более ресурсозатратно 30 конкретных групп или одна группа с 30 проверками ifthenelse при условии что юнитов на карте около 350.
Vlod #8 - 3 months ago 2
Голосов: +2 / -0
Venommm, делай как тебе удобно, просто пикать 350 юнитов 30 раз каждые 0.25 секунд моветон. Если бы это был каст способности или другое не столь частое событие, то было бы без разницы. Карту поправил

Любой пик юнитов в группу вызывает утечку
Прикрепленные файлы
Venommm #9 - 3 months ago (изм. ) 1
Голосов: +1 / -0
Vlod:
Venommm, делай как тебе удобно, просто пикать 350 юнитов 30 раз каждые 0.25 секунд моветон. Если бы это был каст способности или другое не столь частое событие, то было бы без разницы. Карту поправил

Любой пик юнитов в группу вызывает утечку
Работает, спасибо большое.
Есть еще один вопрос: Если у меня появится нужда создать группу внутри пика юнитов, как фиксить её утечность?
Т.е. простой пример - Если у юнита есть предмет - Наносится урон врагам поблихости. Для этого я беру точку/координаты юнита из группы, прошедшего проверку на предмет и на основе этой точки создаю новую группу, в которую входят враги неподалеку. Эту новую группу уже так не пофиксить как основную, потому что локалку уже не объявить, а в начале триггера её тоже не объявить потому что нет точки. Что делать?
Vlod #10 - 3 months ago 0
Голосов: +0 / -0
Если у юнита есть предмет - Наносится урон врагам поблихости
В этом случае создают хранилище, куда записывают юнитов, когда они получают предмет. А в другом периодическом событии опрашивают хранилище юнитов и выполняют действия.
Эту новую группу уже так не пофиксить как основную
Используем еще одну глобальную группу для локализованного пика
SomeFire #11 - 3 months ago 1
Голосов: +1 / -0
А что мешает сразу объявить 2 локальных группы? По 1 проходим, вторую юзаем в циклах.
PT153 #12 - 3 months ago 1
Голосов: +1 / -0
Это нормально?
Сейчас бы доверять всякому трешу. Этот счётчик вообще отрицательным быть может.

Любой пик юнитов в группу вызывает утечку
Он не вызывают утечку, а создаёт группу. А удалять её или нет - дело каждого. Если не удалять много ненужных групп, это и будет утечкой.
Vlod #13 - 3 months ago (изм. ) 0
Голосов: +0 / -0
PT153, BJ функция создает группу-локалку и не обнуляет. Насколько я знаю, hendle следует возвращать через глобальную переменную
Venommm #14 - 3 months ago 0
Голосов: +0 / -0
А что мешает сразу объявить 2 локальных группы? По 1 проходим, вторую юзаем в циклах.
А как её объявить без точки, которая появляется только после появления цикла?
SomeFire #15 - 3 months ago 0
Голосов: +0 / -0
Venommm:
А как её объявить без точки, которая появляется только после появления цикла?
Так же как и первую, только заполнять не сразу, а когда понадобится.
PT153 #16 - 3 months ago 0
Голосов: +0 / -0
Vlod, ну это такая утечка, на самом деле. Я сомневаюсь, что утечки такого типа сильно влияют.
Venommm #17 - 3 months ago 0
Голосов: +0 / -0
SomeFire:
Venommm:
А как её объявить без точки, которая появляется только после появления цикла?
Так же как и первую, только заполнять не сразу, а когда понадобится.
Когда я пытаюсь её заполнять когда надо, оно уже не может сослаться на локалку.
PS Очевидно, что я делаю что-то (всё) не так. Но мне бы хотелось понять и разобраться с этим вопросом.
Прикрепленные файлы
SomeFire #18 - 3 months ago 0
Голосов: +0 / -0
Хз как ты это сохранил, но мой JNGP десятилетней давности ругается при сохранении карты (без изменений) из-за того, что сохранение перемалывает гуи на функции и, соответственно, объявление локалки остаётся в 1 функции, а её использование - в другой. Собстно, это ответ на мой вопрос, почему нельзя объявить все локалки сразу.
Однако объявление локалки в середине гуи у меня работает - DeathPact над головой появляется.
Прикрепленные файлы
Venommm #19 - 3 months ago 0
Голосов: +0 / -0
SomeFire:
Хз как ты это сохранил, но мой JNGP десятилетней давности ругается при сохранении карты (без изменений) из-за того, что сохранение перемалывает гуи на функции и, соответственно, объявление локалки остаётся в 1 функции, а её использование - в другой. Собстно, это ответ на мой вопрос, почему нельзя объявить все локалки сразу.
Однако объявление локалки в середине гуи у меня работает - DeathPact над головой появляется.
Сохранить то можно, запустить не получается.
Выставил также как на скрине, результат что я писал выше и тоже нельзя сохранить и нельзя запустить.
Прикрепленные файлы
SomeFire #20 - 3 months ago 1
Голосов: +1 / -0
Магия... У меня дальше ошибка вылезала. Сравним настройки?
Прикрепленные файлы
Venommm #21 - 3 months ago 0
Голосов: +0 / -0
SomeFire:
Магия... У меня дальше ошибка вылезала. Сравним настройки?
В каком смысле вылезла ошибка? Когда?
Настройки были идентичные кроме вкладки cjass. А именно нужен был Adic parser. Теперь все сохраняется и работает.
Благодарю за помощь.
SomeFire #22 - 3 months ago 0
Голосов: +0 / -0
В 18 комментарии. А нет, тоже хелпер выдаёт. Мне показалось, что после него падает.
Borodach #23 - 1 week ago 0
Голосов: +0 / -0
Есть у меня наработка, правда сделал удобной для ГУИ.
Она создавалась для триггерных аур, но и с групами работает
Прикрепленные файлы
Venommm #24 - 1 week ago 0
Голосов: +0 / -0
Borodach:
Есть у меня наработка, правда сделал удобной для ГУИ.
Она создавалась для триггерных аур, но и с групами работает
Это точно лучше? Вроде на 0.25 таймере даже с 3 группами фризы. (Возможно у меня паранойя)
Borodach #25 - 1 week ago 0
Голосов: +0 / -0
Venommm, Не, не параноя. Если нужно чекать всю карту и работать с большим количеством объектов, то такой вариант как у меня плохой. Она для обработки нужной групи, а не всех на карте.
Это сообщение удалено