Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактирование специализации/существ/артефактов HotA
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III
ssergeyy
Добрый день. Подскажите, пожалуйста, какую тему посоветуете почитать (в т.ч. и на англ), если есть такая, которая позволит понять как в HotA можно упрощенно редактировать специализации/существ/артефактов, а точнее:
  • специализации. К примеру, есть специализация, которая позволяет обычных лучников переучить в снайперов, хотелось бы лучников заменить на городских драконов, а преобразовывать их в ржавых
  • существ. Речь о их свойствах/особенностях, таких как постоянный контрудар, иммунитеты, ненависть и т.д. Поменять их местами, где-то добавить/убрать. Первичные свойства смог найти в CRTRAITS.TXT
  • артефактов. К примеру, изменить числовые параметры, чтобы эликсир жизни восстанавливает не 50, а 100, доспехи проклятых накладывали бы ещё ослепление, ну это перебор xD.gif

Т.е. редактирование в рамках созданной архитектуры свойств. Я так понимаю такое возможно без познания хард-кода игры.
XEPOMAHT
Цитата(ssergeyy @ 13 Mar 2023, 01:32) *
Подскажите, пожалуйста, какую тему посоветуете почитать (в т.ч. и на англ), если есть такая, которая позволит понять как в HotA можно упрощенно редактировать специализации/существ/артефактов


Смотря каких. Если содовских - ищите информацию о том, по каким адресам хранятся эти данные в содовском исполняемом файле (т.е. непосредственно к HoA это не имеет никакого отношения). Если для контента, добавленного в игру самим модом - редактируйте HotA.dat на свой страх и риск.

Цитата(ssergeyy @ 13 Mar 2023, 01:32) *
[*]специализации. К примеру, есть специализация, которая позволяет обычных лучников переучить в снайперов, хотелось бы лучников заменить на городских драконов, а преобразовывать их в ржавых


Примерно так:

dd Спец_Улучшение, CR_Зелёный_Дракон, 0, 0, 0, CR_Красный_Дракон, CR_Ржавый_Дракон, 0, 0, 0;


Цитата(ssergeyy @ 13 Mar 2023, 01:32) *
[*]существ. Речь о их свойствах/особенностях, таких как постоянный контрудар, иммунитеты, ненависть и т.д. Поменять их местами, где-то добавить/убрать. Первичные свойства смог найти в CRTRAITS.TXT


Если установлен редактор монстров, то в самой программе в пару кликов мышью. Но данный редактор не работает с HoA, поэтому вам придётся изучать программирование, если ваша цель - изменение содовского кода.


Цитата(ssergeyy @ 13 Mar 2023, 01:32) *
[*]артефактов. К примеру, изменить числовые параметры, чтобы эликсир жизни восстанавливает не 50, а 100, доспехи проклятых накладывали бы ещё ослепление, ну это перебор xD.gif


Всё это в коде игры. Разработчики вынесли в текстовики только данные, необходимые для правки баланса. То, что вы предлагаете, не предусмотрено для редактирования авторами игры. Для ваших смелых экспериментов существует платформа ЭРА, где всё намного проще и доступнее.


Цитата(ssergeyy @ 13 Mar 2023, 01:32) *
редактирование в рамках созданной архитектуры свойств. Я так понимаю такое возможно без познания хард-кода игры.


Только в специально написанном под это дело ПО. Для SoD/HoA редакторов монстров, артефактов, специализаций нет и никогда не будет (ну если конечно вы сможете создать их сами, а не рассчитывать на готовые решения).
hippocamus
Цитата(XEPOMAHT @ 13 Mar 2023, 09:38) *
Смотря каких. Если содовских - ищите информацию о том, по каким адресам хранятся эти данные в содовском исполняемом файле (т.е. непосредственно к HoA это не имеет никакого отношения). Если для контента, добавленного в игру самим модом - редактируйте HotA.dat на свой страх и риск.
В HotA.dat прописаны только общие параметры существ и артефактов. Эффекты закодированы в HotA.dll
ssergeyy
Цитата(XEPOMAHT @ 13 Mar 2023, 09:38) *
Смотря каких. Если содовских - ищите информацию о том, по каким адресам хранятся эти данные в содовском исполняемом файле (т.е. непосредственно к HoA это не имеет никакого отношения). Если для контента, добавленного в игру самим модом - редактируйте HotA.dat на свой страх и риск.
Получается если в HotA отредактировали артефакт Эликсир жизни, то он все равно остается SoD? Правку же наверное делали в файлах SoD. В данном случае разделение идет именно в новых существах/артефактах, такие как Причал, Железный кулак огра (хотя наверное кулак исключение, т.к. в SoD он был, просто он был пустышкой).

Цитата(XEPOMAHT @ 13 Mar 2023, 09:38) *
Примерно так:
dd Спец_Улучшение, CR_Зелёный_Дракон, 0, 0, 0, CR_Красный_Дракон, CR_Ржавый_Дракон, 0, 0, 0;
Получается это уже можно внести? Я перерыл архив h3bitmap.lod и HotA_lng.lod, ничего похожего не нашел. Смотрел только txt файлы.

Цитата(XEPOMAHT @ 13 Mar 2023, 09:38) *
Если установлен редактор монстров, то в самой программе в пару кликов мышью. Но данный редактор не работает с HoA, поэтому вам придётся изучать программирование, если ваша цель - изменение содовского кода.
Всё это в коде игры. Разработчики вынесли в текстовики только данные, необходимые для правки баланса. То, что вы предлагаете, не предусмотрено для редактирования авторами игры. Для ваших смелых экспериментов существует платформа ЭРА, где всё намного проще и доступнее.
Только в специально написанном под это дело ПО. Для SoD/HoA редакторов монстров, артефактов, специализаций нет и никогда не будет (ну если конечно вы сможете создать их сами, а не рассчитывать на готовые решения).
Я правильно понимаю, что нужные мне файлы зашифрованы, и в открытом доступе нет такого ПО, которое бы расшифровала их в исходники, а потом могла бы обратно зашифровать? При этом если Эликсир жизни все таки отредактировали в исходниках SoD, то у кого-то такое ПО есть.

Цитата(海马 @ 13 Mar 2023, 11:27) *
В HotA.dat прописаны только общие параметры существ и артефактов. Эффекты закодированы в HotA.dll
Подскажите, пожалуйста, есть наводка какой конкретно нужно для моих целей раскапывать файл? В случае SoD и в случае HotA. Для HotA я нашел HotA.dll, который находится в корне папки, а так есть целая папка HotA_Data с кучей dll файлов) И правильно я понимаю, что если я хочу существу убрать один параметр и добавить другой, то речь про dat (пример, у черных драконов сменить ненависть с титанов на черных драконов), а если хочу поменять свойства параметра, то речь про dll (пример, силу урона ненависти увеличить/уменьшить или сменить объект ненависти на другое существо)


Вот HotA.dat можно открыть блокнотом, некоторые символы некорректно определяются, подскажите, как его будет корректнее открыть?
А вот HotA.dll открывается полностью кракозябрами
XEPOMAHT
Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
Получается если в HotA отредактировали артефакт Эликсир жизни, то он все равно остается SoD?


Смотря как отредактировали. Можно поменять в игре 1 цифиру, а можно и перенести весь код целиком. В первом случае можно делать правки после хотовских правок в содовском exe, во втором - уже в самой hota.dll.

Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
Получается это уже можно внести? Я перерыл архив h3bitmap.lod и HotA_lng.lod, ничего похожего не нашел. Смотрел только txt файлы.


Потому что это в игре выражено не в виде текстового формата, а бинарного. Автоматически такой текст в бинарный вид переводит компилятор.


Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
Я правильно понимаю, что нужные мне файлы зашифрованы, и в открытом доступе нет такого ПО, которое бы расшифровала их в исходники, а потом могла бы обратно зашифровать?


Исходник, идентичный исходнику, что находится на руках HotA Crew, получить програмным путём практически невозможно (можно только выпросить у команды, но пока это ни у кого не удавалось). С помощью специфического ПО можно получить СИ-подобный декомпилят, но скомпелировать его обратно на халяву не получится - код всё равно будет работать по-другому и скорее всего переглючит при запуске такой dll.

Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
При этом если Эликсир жизни все таки отредактировали в исходниках SoD, то у кого-то такое ПО есть.


Есть в свободном доступе такое ПО естественно есть, только зелёным новичкам придётся изучать тонну информации прежде чем начинать редактировать SoD не имея на то исходника.

Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
И правильно я понимаю, что если я хочу существу убрать один параметр и добавить другой, то речь про dat (пример, у черных драконов сменить ненависть с титанов на черных драконов), а если хочу поменять свойства параметра, то речь про dll (пример, силу урона ненависти увеличить/уменьшить или сменить объект ненависти на другое существо)


Для начала узнайте сначала что такое *.dll и что такое hota.dat. Ненавистей чёрных драконов нет ни там, ни там, т.к. это SoD.

Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
Вот HotA.dat можно открыть блокнотом, некоторые символы некорректно определяются, подскажите, как его будет корректнее открыть?
А вот HotA.dll открывается полностью кракозябрами


Потому что там формат далеко не текстовый и блокнотом оно не редактируется увы никак. Герои Меча и Магии - не тектовый квест и не карточная игра. Это компьютерная программа.
hippocamus
Цитата(ssergeyy @ 13 Mar 2023, 18:54) *
Подскажите, пожалуйста, есть наводка какой конкретно нужно для моих целей раскапывать файл? В случае SoD и в случае HotA. Для HotA я нашел HotA.dll, который находится в корне папки, а так есть целая папка HotA_Data с кучей dll файлов)
hota.dll который в корне, да. HotaData вообще не об этом - это папка редактора шаблонов.
Цитата
И правильно я понимаю, что если я хочу существу убрать один параметр и добавить другой, то речь про dat (пример, у черных драконов сменить ненависть с титанов на черных драконов), а если хочу поменять свойства параметра, то речь про dll (пример, силу урона ненависти увеличить/уменьшить или сменить объект ненависти на другое существо)
Неправильно. Всё это в hota.exe - это содовский юнит. Если хотовский - то в hota.dll
В hota.dat хранятся стандартные для юнита характеристики - атака, защита, урон, скорость, прирост, стоимость, боезапас. И некоторые более специфические, которые вам, наверное, пока не понятны - AI Value и Fight Value - то есть ценность для компьютерных мозгов и оценочная сила в бою.
Цитата
Вот HotA.dat можно открыть блокнотом, некоторые символы некорректно определяются, подскажите, как его будет корректнее открыть?
А вот HotA.dll открывается полностью кракозябрами
Блокнотом можно открыть всё. Только что потом с ЭТИМ делать?

hota.dat лучше открывать каким-нибудь HEX-редактором, например, "010 Editor"
Там с этими кракозябрами можно будет делать что-то более осмысленное, чем просто убить файл - но вероятность успешных действий будет всё равно стремиться к нулю, если нет никакого опыта.
К сожалению, я помочь не могу, хоть знаю и формат этого файла - я был в команде ХотА, и не стану сдавать её секреты.
Единственное - ещё раз говорю - там нет ничего сложного, всё открывается достаточно легко, достаточно знать какие представления данных бывают обычно в файлах данных. Легко распознаваемые элементы вам в помощь. Перед ними обычно стоит байт, 2 или 4 байта, указывающие длину записи.

hota.dll и hota.exe вручную лучше не пытаться править. Но можно, если нужно заменить одно значение на другое (например, номер объекта ненависти). Открывать их надо при выполнении с помощью отладчика-дизассемблера. Тогда будет понятно что на что менять. Но это на порядок сложнее, чем править hota.dat
hippocamus
Да, думаю стоит и это написать.
В HEX-редакторе 04 00 00 00 - означает 4, а не 4 миллиона, потому что разряды перевёрнуты - младший первый.
И 10 означает 16, потому что там всё в шестнадцатеричном формате. Наше 10 будет выглядеть как "0A", 11 как "0B" и т.д.
Менять количество байт в шестнадцатеричном формате (удалить или добавить) может быть сильно чревато, поэтому без особой необходимости лучше заменить ненужный байт пробелом (код "20"), чем портить весь файл.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.