Объявления

Форум о Героях Меча и Магии и King's Bounty. Если Вы любите эти игры, мы будем рады видеть Вас в наших рядах. :smile2:

Heroes II Extensions Engine

Не запускается игра? Проблемы со звуком? Где, в конце концов, взять игру, скачать патчи, приложения и карты? Как установить все это? Все проблемы обсуждаем в этом разделе
offlineАватара пользователя
Orzie  
Ветеран
Ветеран
 
Сообщения: 673
Зарегистрирован: 12 сен 2013, 15:17
Откуда: Томск
Пол: Не указан
Награды: 3
Высшая медаль (1) 3 место 1 этапа по HMM1 (1) Бонусный шлем (1)
Поблагодарили: 437 раз.

Heroes II Extensions Engine

Сообщение Orzie » 23 авг 2018, 06:15

На Heroes Community пользователь OldLich представил некий "расширитель движка" для Героев 2. Согласно описанию, он позволяет работать с оперативной памятью и вносить изменения в игру "на лету" без изменения исходного исполняемого файла. Каждый такой "модуль" имеет свой INI-файл.

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

Изображение
Изображение
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 3174
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 1465 раз.

Re: Heroes II Extensions Engine

Сообщение AlexSpl » 23 авг 2018, 12:54

Инструмент пока что бесполезен для всех, кроме автора. Идея менять данные игры "на лету" тоже не нова: например, программа для разведки LMOracle (с небольшими модификациями) может менять всё то, что она показывает. Но, на мой взгляд, на данный момент самым удобным и универсальным средством модификации игры является патчер HD мода, который позволяет не только менять существующие элементы игры, но и создавать новые.
Вернуться к началу

offlineMorglin  
Новичок
Новичок
 
Сообщения: 13
Зарегистрирован: 11 июн 2018, 16:00
Пол: Не указан
Поблагодарили: 16 раз.

Re: Heroes II Extensions Engine

Сообщение Morglin » 23 авг 2018, 18:14

(пост написал переводчик онлайн)

Проект Ironfist существует уже более шести лет и позволяет добавлять новых юнитов, артефактов, а также добавляет скриптовый язык. И никто его не использует, никто не добавляет новости. Мне очень жаль это писать, но если автор самостоятельно не добавляет никаких новых контент, его инструмент будет, вероятно, неиспользуемые никем. Что-то в стиле "сообщества изменения Heroes 2" не существует, к сожалению.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 3174
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 1465 раз.

Re: Heroes II Extensions Engine

Сообщение AlexSpl » 24 авг 2018, 00:04

Цитата:
Проект Ironfist существует уже более шести лет и позволяет добавлять новых юнитов, артефактов, а также добавляет скриптовый язык. И никто его не использует, никто не добавляет новости. Мне очень жаль это писать, но если автор самостоятельно не добавляет никаких новых контент, его инструмент будет, вероятно, неиспользуемые никем. Что-то в стиле "сообщества изменения Heroes 2" не существует, к сожалению.


Зачем нужен Ironfist, когда есть patcher_x86?

1. Качаем AngelRun Berserker'а:

Цитата:
Вот сам загрузчик, принимающий путь к исполняемому файлу и внедряемой библиотеке через командную строку. Антивирусы на этот файл смотрят с нескрываемым диагнозом «вирус», поскольку можно запустить любой процесс, внедрив в него любую библиотеку, что чревато.

Загрузчик AngelRun

Если антивирус удаляет, добавляем в исключения.

2. Качаем patcher_x86.dll baratorch'а:

Патчер версии 4.3

3. Копируем AngelRun.exe и patcher_x86.dll в папку с Героями 2 и запускаем игру с собственным плагином:
AngelRun.exe HMM2PL.exe test.dll (для версии от "Буки") или AngelRun.exe HEROES2W.exe test.dll (для английской версии). Как создать плагин - здесь.

Вот пример простенького плагина (для русской версии 2.1 от "Буки"), который заменяет описания первичных навыков в окне героя:

Код: Выделить всё
#include "patcher_x86.hpp"

Patcher* _P;
PatcherInstance* _PI;

static _bool_ plugin_On = 0;

char* newDesc[4] =
{
    "{Attack Skill}\n\nDescription",
    "{Defense Skill}\n\nDescription",
    "{Spell Power}\n\nDescription",
    "{Knowledge}\n\nDescription"
};

int __stdcall changeDesc(LoHook* h, HookContext* c)
{
   c->ecx = (int)newDesc[c->eax];

   return EXEC_DEFAULT;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
   if ( DLL_PROCESS_ATTACH == ul_reason_for_call )
   {
       if ( !plugin_On )
       {
           plugin_On = 1;
           _P = GetPatcher();
           _PI = _P->CreateInstance("HD.Plugin.H2TestPlugin");

           _PI->WriteLoHook(0x461711, changeDesc);
       }
   }

   return TRUE;
}


test.zip
(5.31 КБ) Скачиваний: 38

Готово.

Аналогично можно подключать плагины к Героям 1. Конечно, не так удобно, как через лаунчер HD-мода, но что есть. О возможностях патчера рассказывать, я думаю, не стоит :smile2:
Последний раз редактировалось AlexSpl 26 авг 2018, 06:40, всего редактировалось 4 раз(а).
Вернуться к началу

offlineMorglin  
Новичок
Новичок
 
Сообщения: 13
Зарегистрирован: 11 июн 2018, 16:00
Пол: Не указан
Поблагодарили: 16 раз.

Re: Heroes II Extensions Engine

Сообщение Morglin » 24 авг 2018, 02:40

Цитата:
Зачем нужен Ironfist, когда есть patcher_x86?


I know about this tool but sadly I'm not a programmer. I only know that it's called "dll injection". But I have a question. Is it possible to add new artifacts and units by using this methode? PI has its own simple way (http://projectironfist.pbworks.com/w/page/54023699/Adding%20and%20Editing%20Creatures).


I dream about adding something to Heroes I. I have done some poorly graphics in my mod (sorry about writing about it in this thread). I'm not artist but I think that this robot is the best which I made (http://heroes3wog.net/wp-content/uploads/2018/07/masquerade_mod_0_4_battle.png). My question is: Is it possible to add creature? Without that IDA, reverse engineering, assembler and other nightmares, which are too hard to undestand for me and for most of the community? I only know where are creatures names and where is array with their stats.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 3174
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 1465 раз.

Re: Heroes II Extensions Engine

Сообщение AlexSpl » 24 авг 2018, 05:13

It's possible. It's a lot of work, though. You'll have to move creature/artifact tables to your dll and then handle every single reference to them in the game code. Unless this "dirty" work were done by a programmer, and no simple interface were provided, there's no easy way to add something new to the game for those who are far from programming.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 3174
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 1465 раз.

Re: Heroes II Extensions Engine

Сообщение AlexSpl » 26 авг 2018, 07:19

Посмотрел код "движка". Пропатченный экзешник игры загружает dll-ки (далее - плагины) из папки MODS (причём любые, необязательно только "модули" H2EXTMOD). Плагины должны быть в подпапках с именами "0", "1", "2" и т.д. (чем больше число, тем выше приоритет плагина).

Резюме: можно писать собственные плагины с помощью библиотеки patcher_x86 и они будут работать с "движком" H2EXT.

P.S. Если кому нужно, могу пропатчить, например, экзешник русской версии 2.1 от "Буки" или экзешник Героев 1. Будут поддерживать плагины. Созданию плагинов посвящена эта тема. Там куча примеров.
Вернуться к началу

offlineАватара пользователя
Orzie  
Ветеран
Ветеран
 
Сообщения: 673
Зарегистрирован: 12 сен 2013, 15:17
Откуда: Томск
Пол: Не указан
Награды: 3
Высшая медаль (1) 3 место 1 этапа по HMM1 (1) Бонусный шлем (1)
Поблагодарили: 437 раз.

Re: Heroes II Extensions Engine

Сообщение Orzie » 31 авг 2018, 16:07

Цитата:
Зачем нужен Ironfist, когда есть patcher_x86?

Ну, как минимум, ради творческих решений, создаваемых командой проекта.

Если говорить о нужности платформы для модификации, боюсь, и на той, и на этой одинаково не будет чего-то внятного, потому что а) некому делать моды, и б) некому в них играть. Эпоха, к сожалению, ушла.
Попозже попробую вчитаться, но моей памяти в life.exe уже не хватит для второго начинания.

Цитата:
Инструмент пока что бесполезен для всех, кроме автора. Идея менять данные игры "на лету" тоже не нова: например, программа для разведки LMOracle (с небольшими модификациями) может менять всё то, что она показывает. Но, на мой взгляд, на данный момент самым удобным и универсальным средством модификации игры является патчер HD мода, который позволяет не только менять существующие элементы игры, но и создавать новые.

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

offlineBen80  
Ветеран
Ветеран
 
Сообщения: 618
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 110 раз.

Re: Heroes II Extensions Engine

Сообщение Ben80 » 16 сен 2018, 16:48

Orzie писал(а):

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


Ты говоришь только о Героях 2 или о модах для всех версий Героев или о модах для всех игр вообще ?
Вернуться к началу

offlineАватара пользователя
Orzie  
Ветеран
Ветеран
 
Сообщения: 673
Зарегистрирован: 12 сен 2013, 15:17
Откуда: Томск
Пол: Не указан
Награды: 3
Высшая медаль (1) 3 место 1 этапа по HMM1 (1) Бонусный шлем (1)
Поблагодарили: 437 раз.

Re: Heroes II Extensions Engine

Сообщение Orzie » 17 сен 2018, 07:09

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

Моды на Героев 2 - точно не нужны, хотя бы даже потому, что у них нет централизованных тематических сообществ больше 15 человек. И моё сообщество не больше.
Вернуться к началу

След.

Вернуться в Техническая часть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron