8

» WarCraft 3 / Как можно расширить макс число плавающего текста?

Тексттагов ограниченное количество, около 128, но их можно создавать и удалять асинхронно без проблем, соответственно, достаточно создавать только те тт, которые нужны твоему локальному игроку. Как вариант - удалять тт, вышедшие за границы обзора и создавать тт с новой информацией, которую игрок может увидеть.
Но при этом, желательно убедиться, конечно, что проблем с синхронизацией нет и асинхронно вызывается только то, что можно вызывать асинхронно, например локации асинхронно создавать нельзя и поэтому нужно будет работать с координатами.
8

» WarCraft 3 / Как открыть и изменить файл формата .w3a не в WE?

Редактировать в хекс едиторе.
Ну и помнить, что там используются нуль-терминированные строки.
8

» WarCraft 3 / Как удалить War3map.j из карты?

>>"MPQ редактор не предлагать, так как он не может сохранять изменения в карте, а только вытаскивать от туда данные...."
Вы просто не умеете его готовить
Для получения редактируемого архива нужно распаковать старый в какую-то папку, после чего создать новый архив из этой папки, и данных с старого файла.
После этого у вас будет архив, который вы можете редактировать и будет иметь все нужные файлы.
Объясняется невозможность редактировать произвольный архив тем, что довольно часто у карт поломанные заголовки и индексы, из-за чего, например, в фс архива будет считаться несколько терабайт мусорных файлов, с которыми непонятно что делать и непонятно которые из них файлами в действительности не являются, нужна ручная работа для того, чтобы отсечь все лишнее.
Для учета такого поведения MPQ редактор не позволяет редактировать нестандартные архивы, чтобы не сломать чего ненароком и не забить диск мусором.
8

» WarCraft 3 / Функция Анимации

Вейт не точен, эти неточности накапливаются за время игры, и в один прекрасный момент чувака десинхает.
Так вейты синхронизируются, но десинки это таки как-то вызывает, судя по словам мудрых людей.... Лучше юзать таймер.
8

» WarCraft 3 / Отрисовка юнита поверх всего

Не подскажите, зачем вам нужно такого рода механика? Может есть более простые решения, для того, что вы хотите сделать?
Но, в общем, есть ощутимые сомнения в возможности решения поставленной в вопросе задачи, так как очередность разного рода объектов на экране придумана не просто так и в определенной мере прибита гвоздями.
8

» WarCraft 3 / Таймер

Использовать событие времени прошло 30 секунд, по событию - выводить сообщение 😒
С таймером особого смысла это связывать и вовсе нет, но можно, в принципе стартануть таймер на 30 секунд, по истечению времени вывести сообщение и стартануть таймер уже на 45 минут минус 30 секунд.
8

» WarCraft 3 / Лимит операций (op-limit) и как создать поток вручную

PUVer,
Конкретно это вероятно не связано с оп лимитом, так как редактор не то чтобы умеет в джасс вообще. Я допускаю, что например в триггерные строки данные не влезали, так как этих строк может быть не столь уж много, сколь много хотелось бы, ну, это например.
8

» WarCraft 3 / Лимит операций (op-limit) и как создать поток вручную

А тут столкнулся с тем что при каком-то кол-ве действий в целом в карте, карта вообще перестаёт работать и выдаёт ошибку при сохранении.
Это значит что в редакторе не сохраняется?
8

» WarCraft 3 / Почему функция вызывает просадки FPS

Если вглядеться в код, что задача нетривиальная, видно, что вы 4 раза в секунду проверяете всех юнитов на карте работник ли это.
Добавляете их в группу.
Для каждого работника создаете квадрат, в нем проверяете все скажем разрушаемые объекты на предмет того, что же это есть.
Тоесть если у вас есть 100 работников, и в среднем 100 разрушаемых объектов на рект, то вы будете выполнять операции выбора деструкта 40000 раз в секунду, зная о том, какого вида код генерируется при вашем скрипте это просто жирновато. Соответственно, чем больше работников и разрушаемых - тем тяжелее игре дается код.
На практике, вам не нужно каждому юниту приказывать что-то делать 4 раза в секунду. Пока он занимается своим делом, что будет происходить большую часть времени, трогать его вообще не стоит.
8

» Warcraft III - Lua / Warcraft III - Lua

Bogdan Shmay
К несчастию или нет, у луа машины в рефорже и тут разные наборы доступных и реализованных функций, в том числе с разным именованием. Вероятно, проблемы возникают с использованием функций типа изменения описаний способностей и тому подобного.
С определенными изменениями код должен работать.
8

» Unity / Как запустить карту варкрафта в Unity

Если не секрет, сколько места на диске занимает игра в собранном и переносимом состоянии?
И будут ли редактор карт и кастомки? 🤡
И да, считаю происходящее тут важным и довольно интересным, продолжай в том же духе.
8

» WarCraft 3 / Экспоненциальный рост статы в улучшении

Можно попробовать делать не уровни улучшений, а отдельные улучшения, дающие необходимые бонусы, и требующие предыдущее улучшение. Конечно, в целом, рак, но особо тут ничего не сделать, разве что в целом давать все бонусы триггерно.
8

» WarCraft 3 / Странные функции в jass

Не всегда перечисленные операции выполняются успешно, и чтобы показать, что это так, они возвращают false.
На практике, это не очень нужно, но, тем не менее, может где-то быть использовано, например проверка добавилась ли способность очевидно может быть полезна.
8

» WarCraft 3 / Jass MythBusters

Замечу, что достаточно часто, одной из первых оптимизаций хэштаблицы, которые можно, а часто и полезно, использовать - замена стрингхэшэй на тип кей из вжаса и "Массивы" с камими-то большими смещениями, ну типа на 100к, для каждого набора тех данных, которые хочется хранить, этого примерно всегда будет достаточно, и даст какой-то плюс по производительности и количеству написанного кода.

Но предположу, что возможно, одной из вторичных затрат при использовании систем, в которых на каждый объект приходится отдельный таймер, и, которые так хорошо идут с хэштаблицами, являются затраты на старт отдельного потока при срабатывании таймеров, что по моему скромному мнению должно также требовать некоторых ресурсов.
8

» WarCraft 3 / Без контакта или нет началу игры

Это процент загрузки карты. Пока карта не скачана, на ней нельзя играть.
В мультиплеере карту можно проверять например клоадером.
Загруженные файлы
8

» WarCraft 3 / Рандомные названия городам из списка

Плавающих текстов можно разместить ограниченное количество (около сотни), так что будьте осторожны.
8

» WarCraft 3 / Создание пассивки

skin я так понимаю, это текстура модели. Так вот, есть такие функции. Однако, там указывают не сразу строки, а ид (чего конкретно не понять, надо найти пример)
Под скином, насколько я помню, подразумевается айди юниита, чью кожу будет надевать наш герой.
8

» WarCraft 3 / Jass MythBusters

Unryze
Я отыскал в закоулках своей памяти карту, в которой возникала проблема из-за таких утечек. Там таблица хэндлов раздувалась примерно до 400 мегабайт, и, замечу, одним куском, с реаллокацией чего сложности возникнут раньше чем с кусками маленькими.)
Есть даже сейв, с которым можно сразу посмотреть проблему.
Даже удивительно, что что-то такое сохранилось.
8

» WarCraft 3 / Jass MythBusters

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

» WarCraft 3 / MemoryHackAPI

Я тут обратил внимание, что функция EnableOPLimit не очень справляется, что вызывает некоторые сложности с тестированием (Ну и может вызвать десинки в мультиплеере). Например при исполнении этой функции поток, почему-то рвется.
function TestEnableOpLimit2()
{
    rect r= Rect(0,0,1,1);
    integer i = 0;
    EnableOPLimit(false);
    BJDebugMsg("TestEnableOpLimit2 started");
    for(0<i<100000)
    {
        DestroyGroup(GetUnitsInRectMatching(r,null));
    }
     BJDebugMsg("TestEnableOpLimit2 ended");//????????????????????
}  
Карту прилагаю.
Загруженные файлы
8

» WarCraft 3 / Последовательность подгрузки MPQ и всё что с этим связано.

Доступ к ресурсам в архивах осуществляется в зависимости от приоритета при загрузке этих архивов. Более того, такой архив можно грузить из карты или любого другого архива.
Есть достаточно много способов грузить свой архив, например мемхаком или миксом.
Можно грузить и несколько архивов с разными приоритетами, если на то есть желание.
8

» WarCraft 3 / Jass MythBusters

pGameWar3 = *(pGameDLL+0xab65f4)
pGameState = *(pGameWar3+0x1c)
pGameState+0x194 - сколько мест в таблице выделено
pGameState+0x198 - сколько мест в таблице занято
pGameState+0x19с - Массив структур, хранящих количество ссылок на хэндл, указатель на объект, и, возможно, еще что-то.
pGameState+0x1A0 - Шаг повышения размера таблицы.
Я предполагаю, что при наличии ссылок, хэндл не будет перевыдан другоу объекту, что, я надеюсь, логично, но, вероятно, сам, оригинальный объект, которому соответствует хэндл, может быть удален.
Строго говоря, утечка в 3?! байта - не критично, но за несколько часов, при достаточном усердии, можно набрать достаточно. Но в коротких играх, вероятно, источником проблем такая утечка не будет.
А безопасности, в рамках моего понимания, необнуление не даст, так как по сути, если на сущность нет ссылок на хэндл, а сама сущность удалена - нет никаких способов с ей провзаимодействовать или пострадать от её отсутствия.