19

» WarCraft 3 / Манипуляции с кругом выделения и не только

Steal nerves, сомневаюсь, что такое может происходить из-за скрипта.
Другие карты не глючат?
Локальные файлы включены?
Попробуй запустить напрямую через игру. Может быть, твой редактор при сохранении ломает что-то.
19

» WarCraft 3 / Передача аргументов в функции callback'ов

данный код каждый раз выдает разные цифры
Boolexpr'ы кэшируются, а вот результат функции SetCodeOneArg — нет.
Каждый её вызов создает абсолютно новую функцию.
19

» WarCraft 3 / Утечка или не утечка.

получишь нового юнита со старым хендлом
При создании юнита и первом получении его хендла, количество ссылок равно единице.
Каждая ссылающаяся на handle переменная, добавляет к счетчику единицу.
Уничтожение юнита уменьшает счетчик на единицу.
По достижению нуля ссылок, handle освобождается и может быть переиспользован.
А значит, пока есть переменная, которая держит ссылку на юнита, его handle не будет использован для других объектов, даже после его уничтожения.
19

» WarCraft 3 / Синхронизация строк

Принятый ответ
Разработчики игры не доделали синхронизацию строк. Тебе придется искать обходные пути.
19

» WarCraft 3 / JASS: Курс молодого бойца

Хорошо бы внести эти пояснения в статью.
Там об этом написано.
При объявлении скаляра ему не присваивается начальное значение его типа. Инициализировать его нужно отдельно, при этом, если его не инициализировать, выполнение программы остановится при чтении неинициализированного скаляра.
Массивная переменная - несколько скаляров, расположенных в памяти друг за другом. Эти скаляры называются элементами массива, а их количество называется размером массива.
Каждому элементу массива присваивается начальное значение его типа, то есть элементы массива в отличие от скаляров инициализируются при объявлении массива.
19

» WarCraft 3 / JASS: Курс молодого бойца

то есть он приобретет false по умолчанию только в случае, если это элемент массива, а не самостоятельная переменная?
Да.
Что касается обычной переменной, думаю, в памяти игры у неё значение 0 (false), но это не важно, так как игра не даст его прочитать.
Поэтому, необходимо явно задавать их значение перед использованием.
19

» WarCraft 3 / JASS: Курс молодого бойца

avuremybe, при обращении к неинициализированной переменной, поток выполнения обрывается.
Исключение — массивы, элементы которых имеют значения по-умолчанию.
19

» WarCraft 3 / Манипуляции с кругом выделения и не только

Скачай карту и скопируй все триггеры, кроме тех, что находятся в папке demo.
Из ресурса тоже можно взять код, но он здесь для тех, кому лень качать или у кого нет редактора.
19

» WarCraft 3 / Манипуляции с кругом выделения и не только

для чего нужна скрытая тень?
Был вопрос, в котором хотели спрятать тень предмета. Не знаю зачем, но раз спросили, значит нужно. Ответ на тот вопрос, собственно, и сподвиг меня проверить: как это работает и на что оно еще способно.
19

» WarCraft 3 / убрать круг выбора

Существует костыль, позволяющий редактировать круг выбора.
screenshot
Загруженные файлы
19

» WarCraft 3 / Memory Hack: Загрузчик native функций

JaBeN_Симфер, очевидно, что нет. Она лишь позволяет добавлять нативки перед компиляцией скрипта.
С такими потребностями, тебе следует зайти в тему мемхака. Возможно, там есть сетевые функции.
19

» WarCraft 3 / Memory Hack: Загрузчик native функций

quq_CCCP, они лишь для демонстрации работоспособности загрузчика.
Если появится полноценная библиотека с множеством нативок, то её можно будет использовать вместе с этой системой.
Хотя, конечно же, можно обойтись и без них вовсе.
19

» RenderEdge / [RenderEdge] Memory Hack

Разве синхронизация долгая? Для синхронизации кеша используется тот же механизм, что и для отдачи приказов и прочего. Сколько времени проходит между отдачей приказа и его выполнением, столько же должно уходить и на синхронизацию. Единственный неприятный момент — ограничение на количество данных.
19

» WarCraft 3 / Import Exploit - чудеса импорта (MIX)

Дело не в размере, а в количестве файлов.
Архив в этом ресурсе может вмещать не более чем 4096 файлов.
Чтобы добавить больше, нужно изменить лимит на количество файлов (Ladik умеет).
19

» WarCraft 3 / Вылетает карта

Принятый ответ
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.
19

» WarCraft 3 / "Вырубается WE при нажатии на . . ."

Принятый ответ
"Вырубается" и "зависает" — разные вещи.
Вместо того, чтобы плодить 100-500 уровней для улучшений, лучше поищи менее китайский способ.
Удали все толстые улучшения и ситуация исправится.
19

» WarCraft 3 / Ошибка компиляции Jass(Function redeclared)

Это взломанная версия карты. Никакой не "open source".
Обфусцированные имена переменных, весь код в одной куче.
Еще и читы вставлены.
Ты не сможешь нормально редактировать эту карту.
19

» WarCraft 3 / MapHack для реплея

Новая версия была давно как готова, но вышла только сейчас, так как я не знал, что делать с непонятными вылетами. Как оказалось, проблема была в менеджере памяти, неспособном освободить память, выделенную в уже завершившемся потоке. Поменял его на другой.
19

» WarCraft 3 / Почему фатал?

Принятый ответ
Вылет произошел во время обращения к элементу jass массива с индексом 21.
Так как это был мемхакнутый массив, произошла попытка чтения памяти по адресу 0x54.
Крашнулся твой код, так что переписывай.
19

» WarCraft 3 / JNGP не запоминает war3map.j, отредактированный через Блокнот?

Данные о jass коде хранятся в war3map.wct (Warcraft Custom Triggers?).
war3map.wtg (Warcraft Triggers Gui?) содержит категории, gui триггеры и глобальные переменные.
Во время сохранения карты, все это компилируется в war3map.j файл.
Внутреннее устройство карты
19

» WarCraft 3 / Что за ошибка и как с ней бороться?

Принятый ответ
В случае вылета игры, следует всегда прикреплять к вопросу отчет об ошибке.
Он находится в: "%папка_с_игрой%\Errors\%дата_вылета% Crash.txt".
Вылетает при загрузке данных о предметах.
Удали все предметы и проверь, не перестанет ли вылетать.
Если перестанет, то удаляй предметы по одному, пока не найдешь виновника.
Еще не помешала бы сама карта/кампания, которую нужно было прикрепить вместе с отчетом с самого начала.
19

» WarCraft 3 / MapHack для реплея

Версия 1.2
  • Исправлен краш при выходе из игры.
  • Добавлена возможность менять высоту и плавность камеры.
  • Добавлен небольшой файл с настройками.
19

» WarCraft 3 / MapHack для реплея

quq_CCCP, я бы не рисковал. Хак меняет код игры и никак не скрывает свое присутствие.