Вообще, структур в JASS нет, как и библиотек. Это фишки сторонних компиляторов, которые затем компилируется в JASS. Структуры являются фишкой vJass. Мануал по нему есть в папке jasshelper, а перевод мануала тут.
Если используется патч 1.31+, рекомендую изучать Lua, на нём можно писать карты WC3. Там таких проблем нет.
Всё очень просто: структура уничтожается и на ей место (индекс) встаёт новая. Так как индекс тот же, то данные там те, которые были установлены. Для корректной установки данных при создании объекта можно сделать метод create, а для очистки - onDestroy. Некоторую информацию можно прямо в определении поля писать.
under11, картинки в комменте не грузятся.
Видно, что включён cJass, либо используются импорт его библиотек. Рекомендую отказаться от использования cJass вовсе.
А разве нельзя просто скачать какой-нибудь 1.31, обновить до ласт версии и ввести фейковый ключ? Ведь если у вас есть ключ от игры 2003 года, то вы можете обновится до ласта, но без доступа к HD. То есть из минусов будет только первый.
rsfghd, если нужно просто нанести урон, можно и в группу ничего не добавлять. А если добавлять, то можно и не фильтровать, все проверки в ForGroup сделать.
"Лучший" показатель, а потом переписывать всю архитектуру
Да, это лучший показатель. Если лагов нет, то утечки несущественны, вот и всё. И переписывать архитектуру не придётся, а лишь исправить пару мест, где забыто удаление. goodlyhero:
Правильный и в достаточной степени точный счетчик может серьезно помочь не допускать лишних утечек.
Таких нет. Кроме того, сам каунтер нагружает карту, ибо создаёт и удаляет кучу точек несколько раз в секунду.
Просто любому человеку, которому говорят про код, сразу тыкают про утечки, вместо того чтобы рассказать, как карту сделать интересной. Ну и человек по этому поводу рефлексует, смотрит, что утечек много, и расстраивается, что всё переделывать нужно. А на самом деле карта может быть интересной, хоть и с проблемами. Поэтому на первое место нужно ставить сам геймдизайн, а потом оптимизацию. Если карта интересна, то нет проблемы потратить время на оптимизацию и исправление ошибок.
Ерунда это. Помогает только если в карте прямо совсем всё плохо. Пара не удалённых объектов в карте ничего не сделают.
Лучший показатель утечек - лаги карты. Если карта спустя 20-30 минут начинает лагать, есть утечки. А всякие каунтеры лишь вводят в заблуждение. Люди думают, что раз каунтер увеличился, то есть утечки. Хотя на самом деле увеличение произошло из-за создания нужных объектов.
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
Ред. PT153
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
» WarCraft 3 / Структуры в джассе: смещение без очистки и вытекающие проблемы.
Ред. PT153
» WarCraft 3 / Непонятные ошибки на jass
Видно, что включён cJass, либо используются импорт его библиотек. Рекомендую отказаться от использования cJass вовсе.
» WarCraft 3 / Warcraft 3 Reforged Взломан!
» WarCraft 3 / Обучение jass
» WarCraft 3 / JNPG Не проверяется код
Ред. PT153
» WarCraft 3 / Мемхак анрайза v1.5+
Ред. PT153
» WarCraft 3 / Отлов владельца юнита для написания сообщения в чат.
under11:
» WarCraft 3 / Отлов владельца юнита для написания сообщения в чат.
Ред. PT153
» WarCraft 3 / LoadAgentHandle или LoadUnitHandle?
» WarCraft 3 / LoadAgentHandle или LoadUnitHandle?
» WarCraft 3 / Действие UnitDamagePointLoc
» WarCraft 3 / Вопрос по Handle Counter
Vlod:
goodlyhero:
Ред. PT153
» WarCraft 3 / Англофикатор World Editor для 1.26
Ред. PT153
» WarCraft 3 / Вопрос по Handle Counter
Лучший показатель утечек - лаги карты. Если карта спустя 20-30 минут начинает лагать, есть утечки. А всякие каунтеры лишь вводят в заблуждение. Люди думают, что раз каунтер увеличился, то есть утечки. Хотя на самом деле увеличение произошло из-за создания нужных объектов.
Ред. PT153
» WarCraft 3 / Reforged – Каков максимальный размер карты для сетевой игры?
Ред. PT153
» WarCraft 3 / Memory hack API v1.4