24

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

Varion Drakon, тебе прям так принципиально влезть в эти архивы раньше чем каск вьювер обновится?
24

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

Varion Drakon, это те что любые "не текстовые" файлы, включая исполняемые типа exe и dll и любые бинарные файлы данных. Я не знаю где именно близы хранят свои ключи т.к. не задавался задачей их найти, но это точно не где-то на виду и с большой вероятностью где-то ближе к коду работающему с архивами.
24

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

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

» WarCraft 3 / Вопрос касательно прав на карту и модели.

Я не буду выкладывать переписку с ними. Но поих мнению, если я сделал карту,то я должен оббежать каждого автора и спросить у нео разрешение на каждую модельку
И они правы - если ты пользуешься чужими моделями - будь добр выяснить под какими условиями выложена модель и нужно ли спрашивать у автора разрешения на её использование, особенно если модель используется не как есть, а по кускам.
24

» WarCraft 3 / Проверить загруженность древесиной

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

» WarCraft 3 / ДатаМайнинг Warcraft 3 Reforget.

CASC очень плохо поддается модификации, как и защищенный от перехвата памяти клиент.
24

» WarCraft 3 / ДатаМайнинг Warcraft 3 Reforget.

Новый формат архивов близов называется CASC. Дальше гугл в помощь.
24

» WarCraft 3 / Как отловить смерть героев с крестом воскрешения?

Если честно - я не знаю т.к. всегда делал собственное перерождение триггерное и не пользовался крестом в своих картах.
24

» WarCraft 3 / Как отловить смерть героев с крестом воскрешения?

Если я правильно помню - один из способов это костыль через способность укрыться за щитом. Герою выдается скрытая способность щита с нулевыми статами, щит включается и потом ловится приказ отмены щита, который автоматически происходит при смерти героя.
24

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

NanO, мне не приходило уведомление, просто в лаунчере появился переключатель на бету.
24

» WarCraft 3 / Как сделать респ мобов?

Только вот у меня почему-то не падает.
Даже если принудительно вызвать сборку мусора после старта игры? Автоматическую сборку мусора можно долго ждать, особенно на стандартных настройках 1.31.
24

» WarCraft 3 / Вопрос физической сложности проверки карты

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

» WarCraft 3 / Как сделать респ мобов?

Имхо, здесь не обязательны хендлы. С головой хватит custom value для хранения номера локи к которой привязан гвард или, если custom value уже занято, то банально двух массивов. В одном массиве по порядку гварды, в другом локи. Умер гвард (проверка по типу, чтобы система не кидалась на других юнитов) - ищем его в массиве, чистим ячейку массива и запускаем процесс респавна в локе с соответствующим номером. Перебор массива менее эффективен, чем прямая привязка по номеру, но тут всего 20 юнитов и не такое уж частое событие смерти.
NazarPunk,
Луа это хорошо, сам на нем пишу, но гуишникам от него пользы мало. Особенно если они на 1.26 сидят. Ну и сколько можно показывать людям код, в котором триггеры создаются до инициализации, падать же будет при сборке мусора. Тем более, у тебя даже инжект в InitGlobals есть, но в нем почему-то только юниты создаются, хотя можно было бы и триггер там создавать...
24

» WarCraft 3 / Не вылезает

SсRealm, mdlvis к ключам архивов отношения не имеет. Менялся ли формат mdx в рефорже не знаю, если менялся, то не увидит, если не менялся - увидит.
24

» WarCraft 3 / Не вылезает

Обновить каск вьювер до последней версии - с каждой обновой рефоржа нужны новые ключи от архивов.
24

» WarCraft 3 / Как сделать анимацию перезарядки для кастомных кнопок (фреймов)?

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

» WarCraft 3 / Формат карт Warcraft 3

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

» WarCraft 3 / Формат карт Warcraft 3

Я очень надеюсь на то, что можно будет кастомную триггер дату скармливать редактору в рефорже, без включения локальных файлов. Шансы на это не велики, но есть. Тогда можно будет достать актуальную триггер дату, пропатчить её вещами из JNGP и скормить редактору. Так, например, в 1.31 можно делать с данными о способностях - я редактировал эти данные чтобы в редакторе отображались все скрытые способности и потом просто импортировал файл в карту, в результате чего редактор подхватывал его и показывал скрытые способности (при сборке релизной версии карты этот файл просто удаляется, в игре он не нужен, только чтобы обманывать редактор). К сожалению, тот-же финт ушами с триггерами в 1.31 мне провернуть не удалось, но есть небольшой шанс что в рефорже можно будет.
24

» WarCraft 3 / Reforged на LUA

ScopteRectuS, ну а пока этого нет - в Lua есть инжекты, вполне решающие эту задачу. Функцию конфиг трогать руками это скорее для продвинутых разработчиков - работающим в WE и только в WE и так сгенерится приемлимый config на основе настроек карты, а для тех кому нужно больше в любом случае есть смысл переходить на внешнюю сборку карты.
24

» WarCraft 3 / Reforged на LUA

Кет, а для меня костыльно выглядит необходимость инициализацию каждого триггера в отдельную функцию заворачивать в жассе.
Возможно, когда допилят кнопку конвертации гуи триггера в луа триггер - будет и этот магический "синтаксис" с автоматической записью функции инициализации в InitTriggers.
24

» WarCraft 3 / Reforged на LUA

PT153, еще вполне можно хукать SetMapName и перехватывать двухшаговым инжектом почти все что угодно, кроме config, но это сложнее. Тут бы вдолбить людям в голову хотябы почему нельзя обойтись без хука InitGlobals...
24

» WarCraft 3 / Reforged на LUA

PT153, а разве InitTriggers выше пользовательского кода находится? Вроде из WE её только двухшаговым инжектом достать можно, если я правильно помню. А при внешнем сборщике лучше сразу main инжектить.
24

» WarCraft 3 / Reforged на LUA

DopaMine, попробую пояснить более понятно:
В JASS функция InitTrig_PickHeroes это не какая-то магия или особый синтаксис, это просто функция. Чтобы функция работала нужно чтобы её кто-то вызвал. WE сам добавляет вызов функций инициализации каждого триггера внутрь скрытой от пользователя функции InitTriggers. Но в Lua этого не происходит т.к. мы не конвертировали гуи триггер, для которого автоматически добавится вызов функции инициализации, а создали блок кода. Поэтому надо самостоятельно вызывать InitTrig_PickHeroes.
И вот тут есть два способа
Первый - просто написать InitTrig_PickHeroes() после функции, не внутри, а после, там где в жассе ничего писать нельзя было - все что не обернуто в функции в Lua просто выполнится при старте карты. У этого способа есть большая проблема - он годится только для тестовых целей, а в реальной карте рано или поздно произойдет сбор мусора и созданные таким образом триггеры удалятся т.к. формально они созданы до инициализации и считаются мусором.
Второй - использовать хук, описаный в моей статье, которую я кидал выше ссылкой. С помощью хука мы добавляем код, который вызовется при выполнении другой функции, а именно - InitGlobals, которая является частью процесса инициализации и созданные там триггеры не считаются мусором и не исчезнут сами в случайный момент времени. Внутрь хука пишем либо сам код создания триггера либо вызов функции инициализации триггера, это уже дело вкуса.

Drulia_san, вот только экспериментально проверено и доказано - созданные до инициализации объекты умирают при сборке мусора. Это не теория, это практические результаты - в момент вызова сборщика у людей умирали триггеры, булэкспры, таймеры, если они были созданы до инициализации.