Утечна ли по своей сути область?
То есть конкретно юнит входит в облать - это равнозначно для варкрафта отметить каждого юнита который входит в область или я что то путаю?
Полезнее ли заменять этот процес группами с последующим обнулением группы?

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

Да и вообще не существует такого события "юнит входит в облать"
это всего лишь конвертация области в регион и запись события на вход в регион
Полагаю, его интересует не содержит ли область сведений о юнитах внутри. Это стоит спросить у тех кто видел исходники. На Хайве несколько ребят работают на близзов. Я бы спросил там.

Но если я не ошибся, то вопрос бессмысленный т.к. даже если ответ положительный, у нас нет доступа.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
5 лет назад
2
Похожие вопросы:

ответ
Это создаёт точку, которая утекает.
ответ
Переменная "точка" это не просто два числа.
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
ответ
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано
ответ
~8gabriel8:
Надо, конечно, взглянуть на триггеры в карте, но при спавне удалять нужно не только точки, но и группы, так как при спавне создаются не только юниты, но и группа для них (даже из одного юнита группы). Без утечек создание юнитов выглядит так:
вот код для custom script:
call DestroyGroup( GetLastCreatedGroup() )
call RemoveLocation( udg_P )
Если отдаёшь приказ группе юнитов отправиться в область, там тоже создаётся группа и точка, тоже нужны эти custom script. Но вообще сомнительно, что это вызывает дикие лаги через два часа. Наверное, есть какие-то события с малым периодом, что тоже плодят утечки, поэтому и надо триггеры в карте смотреть.

0
26
5 лет назад
0
Вот ссылка на библиотеку от утечек, но она не идеальна:
От вхождения юнита в область утечки не образуется, но там с другими действиями могут быть проблемы, вроде выбора юнитов в области.
0
21
5 лет назад
0
Не вполне понимаю о чем ты. Сборщик мусора чистит область без референсов, так же как и все хендлы.
Ты о производительности, или тебе нужно как-то сохранять список всех существующих юнитов?
0
26
5 лет назад
0
Ещё одна библиотека:

А тут мы немножко пообсуждали xgm.guru/p/blog-hanabishi/jngp-dev?postid=414723#comment22
0
18
5 лет назад
Отредактирован Hodor
0
Область такой же объект как юнит или таймер (побочных-утекающих эффектов от существования объектов не должно быть)
если я правильно понял вопрос
Да и вообще не существует такого события "юнит входит в облать"
это всего лишь конвертация области в регион и запись события на вход в регион
0
21
5 лет назад
0
Да и вообще не существует такого события "юнит входит в облать"
это всего лишь конвертация области в регион и запись события на вход в регион
Полагаю, его интересует не содержит ли область сведений о юнитах внутри. Это стоит спросить у тех кто видел исходники. На Хайве несколько ребят работают на близзов. Я бы спросил там.

Но если я не ошибся, то вопрос бессмысленный т.к. даже если ответ положительный, у нас нет доступа.
Принятый ответ
0
19
5 лет назад
Отредактирован SсRealm
0
Raised:
Да и вообще не существует такого события "юнит входит в облать"
это всего лишь конвертация области в регион и запись события на вход в регион
Полагаю, его интересует не содержит ли область сведений о юнитах внутри. Это стоит спросить у тех кто видел исходники. На Хайве несколько ребят работают на близзов. Я бы спросил там.

Но если я не ошибся, то вопрос бессмысленный т.к. даже если ответ положительный, у нас нет доступа.
Я как ты года три назад пытался замутить аналог собственной доты. Группы я делать не умел и просто делал условия для крипов,если юнит входит в область,то он должен перейти в другую.Через какое то время начинались зависания и тормоза,хотя ничего особенного кроме крипов,которые волной идут по 4 дорожкам так и не происходило.
Сейчас я делаю очередную часть своей карты на выживание .вот и задумался,как вообще реальзован вход юнита в область , и как было сказано выше если множество юнитов вошло в облать - они записываются в какую то группу о которой мы не знаем.Но раз уж не известно просто буду пикать крипов и отправлять групу громить замок. Обнулить потом группу не забуду.Всем спасибо
А что с ьим делать? Он там пишет просто добавить в карту и все утечки будут отловлены,но при добавдении пишет ошибку синтаксиса? www.hiveworkshop.com/threads/snippet-cjass-anti-leak-library.211...
0
18
5 лет назад
0
SсRealm, начинало лагать из за не удаленных точек
в гуи когда приказываешь какому то юниту двигаться куда то - то утекает точка
несколько точек фигня, когда их много - то это опасно
А что с ьим делать? Он там пишет просто добавить в карту и все утечки будут отловлены,но при добавдении пишет ошибку синтаксиса?
нужен JNGP и cJass который в нём
0
19
5 лет назад
Отредактирован SсRealm
0
UrsaBoss:
SсRealm, начинало лагать из за не удаленных точек
в гуи когда приказываешь какому то юниту двигаться куда то - то утекает точка
несколько точек фигня, когда их много - то это опасно
А что с ним делать? Он там пишет просто добавить в карту и все утечки будут отловлены,но при добавдении пишет ошибку синтаксиса?
нужен JNGP и cJass который в нём
Так он все-равно выдает ошибку,хоть с ним хоть без него, а если ошибки нет,карта просто вылетает и не запускается
Загруженные файлы
0
26
5 лет назад
0
В нестандартный код карты помести.
0
19
5 лет назад
0
8gabriel8:
В нестандартный код карты помести.
не помогает(
0
29
5 лет назад
0
в гуи когда приказываешь какому то юниту двигаться куда то - то утекает точка
Если у вас JNGP, то и на гуи можно приказы без утечек отдавать.
Загруженные файлы
0
19
5 лет назад
0
NazarPunk:
в гуи когда приказываешь какому то юниту двигаться куда то - то утекает точка
Если у вас JNGP, то и на гуи можно приказы без утечек отдавать.
А не лучше точку в локалку и обнулить это это не то?
0
29
5 лет назад
0
А не лучше точку в локалку и обнулить это это не то?
Двигать точку быстрее и удобнее чем создавать/обнулять.
0
19
5 лет назад
0
NazarPunk:
А не лучше точку в локалку и обнулить это это не то?
Двигать точку быстрее и удобнее чем создавать/обнулять.
Ладно попробую))
0
18
5 лет назад
0
Лучше координаты использовать вместо точек. Ничего не нужно будет двигать и удалять.
call IssuePointOrder(GetEnteringUnit(), "move", x, y)
x, y - координаты следующей области. Можно найти в редакторе ландшафта, поместив курсор на нужную точку и посмотрев в нижний левый угол.
0
29
5 лет назад
0
Лучше координаты использовать вместо точек.
Это и так ясно, но речь то о GUI шла.
0
18
5 лет назад
0
NazarPunk, ну в том же GUI есть действие "Custom Script", куда можно прописать указанную мной команду.
4
29
5 лет назад
4
ну в том же GUI есть действие "Custom Script"
Таким макаром можно дойти до того, что вставок "Custom Script" становится больше чем остальных блоков.
0
26
5 лет назад
0
В JNGP есть почти в самом низу списка реальных значений Х и Y юнита.
0
29
5 лет назад
0
В JNGP есть почти в самом низу списка реальных значений Х и Y юнита.
Но нельзя отдавать приказы в XY.
0
19
5 лет назад
0
NazarPunk, как это нельзя?
IssuePointOrderById(unit, order, x, y)
0
28
5 лет назад
0
как это нельзя?
Он про ГУИ, как я понял.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.