Об утечках для человека который в этом нечего не понимает
Меня интересуют ситуации на примере этой:
Я создаю триггер -
Событие
боевая единица умирает
Действие
Создать в спецэффект в "позиция юнита - умирающий юнит"
в позиции юнита автоматически создаётся "область" которая остаётся там навсегда, как удалять такие утечки в ручную?
Вопрос в вопросе:
Событие
Боевая единица атакован
Условие
Атакующий юнит равно пехотинец
Действие
Пехотинец отдать приказ "stop"
Создаст ли такое действие переменную типа "боевая единица" и занесёт туда пехотинца?
Извините за такие вопросы, нету времени рыться на форме и читать массу статей. Спасибо за ответ, можете попинать меня если вам от этого становиться легче : )




Просмотров: 513

ledoed #1 - 5 месяцев назад 0
1.ну утечка локации пустяк по сравнению что ты там оставил еффект
вручную через кустом скрипт call DestroyEffect(GetLastCreatedEffectBJ())
а насчёт удаления локации то это над подключать библиотеку по оптимизации Bj(посмотри на сайте как её активировать в навороченном редакторе карт)
2.нет не создаст а занесёт в переменную bj_getlastunit - последний созданный юнит
она перезапишеться в тот момент когда будет создан другой юнит
quq_CCCP #2 - 5 месяцев назад 0
Нужны познания ГУИ выше среднего и Jass на начальном уровне чтобы избавится от большей части утечек на ГУИ.
в первмо примере ты должен:
  1. записать в переменную позицию умершего юнита, переменную типа "точка" (location на jass) нужно создать в рекдакторе переменных.
  2. Создать и тут же удалить спецэффект в этой локации.
  3. После всех дейсвтий с этой точкой написать в custom script call RemoveLocation( udg_+имя переменной для точки )
Ну а так, нужно хорошо понимать как выполняются действия в варктавте, чтобы организовать код нормально, без лишних действий и утечек.
Ha_Do6poM #3 - 4 месяца назад 0
quq_CCCP, т.е. каждое действие создать в точке катса, перейти в позицию юнита и прочее, создаёт утечку если за ранее не создать эту точку при помощи переменных и потом не отчистить её?
quq_CCCP #4 - 4 месяца назад 0
Ну разумеется, а ты думал что ты берешь позицию юнита и на этом все? Если бы ты видел во что превращяется твой гуи при сохранении карты, ты бы ужаснулся.
Ha_Do6poM #5 - 4 месяца назад 0
quq_CCCP, А если взять в пример не область, а например звук, там та же история? Нужно переменна и её потом отчистить?
Как ещё(вообще) действия вызывают утечки кроме эффектов и локаций?
Clamp #6 - 4 месяца назад 0
DestroyEffect(AddSpecialEffect(modelName, GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit())))
Никаких утечек, работает идеально.
Ancient #7 - 4 месяца назад 0
Clamp, грузить jass'om человека, который также от него далек, как бегемот от балета ._.
Ha_Do6poM #9 - 4 месяца назад 0
Clamp, если это авто удаление утечек то она мне как шило в мягких ягодицах), делали проект с парнем, он его туда запилил и о боже как он заставил меня с ним помучаться, я лучше пока что в ручную буду всё удалять. Вы просто скажи те мне что кроме позиций и эффектов вызывает утечки.
DracoL1ch #10 - 4 месяца назад 0

Int3r_Karma #11 - 4 месяца назад 0
Здесь все, что тебе нужно.
Копируй эту пачку триггеров в каждую карту, которую создаешь и разберись. там даже комменты есть.
прикреплены файлы
Ha_Do6poM #12 - 4 месяца назад 0
Почему этого никто сразу не сделал? xD. Спасибо ребят, и тебе Int3r_Karma, тоже огромное спасибо!