13.05.2021, 00:01
Pages: 1 2
13.05.2021, 00:01
19.05.2021, 20:30
Увеличение лимита первичных навыков с 99 до 249.

Автор: XEPOMAHT
Язык: не имеет значения
Версия исполняемого файла HoMM III: 3.2 (SoD), включая моды, основанные на данной версии (WoG, ERA, HoA)
Способ установки: Класть в EraPlugins любого мода или подключать к игре в качестве asi-плагина
Скачать: https://vk.com/s/v1/doc/Po38cXpSkj1t6v0u...QsZp3o7vdA

Автор: XEPOMAHT
Язык: не имеет значения
Версия исполняемого файла HoMM III: 3.2 (SoD), включая моды, основанные на данной версии (WoG, ERA, HoA)
Способ установки: Класть в EraPlugins любого мода или подключать к игре в качестве asi-плагина
Скачать: https://vk.com/s/v1/doc/Po38cXpSkj1t6v0u...QsZp3o7vdA
20.05.2021, 22:45
«Дверь измерений» игнорирует щелчки по клеткам с водой
Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Класть в EraPlugins любого мода
Скачать: https://drive.google.com/file/d/1kWUMTcw...sp=sharing
Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Класть в EraPlugins любого мода
Скачать: https://drive.google.com/file/d/1kWUMTcw...sp=sharing
Исходник (Click to View)
Code:
// dllmain.cpp : Определяет точку входа для приложения DLL.
#include "pch.h"
#include "patcher_x86.hpp"
Patcher* globalPatcher;
PatcherInstance* Magic;
int __stdcall DisableManaUsage(LoHook* hook, HookContext* c)
{
c->edi = c->Pop();
CALL_6(void, __thiscall, 0x4136F0, o_AdvMgr, 1, 1, 0, 0, 0);
c->return_address = 0x41D474;
return NO_EXEC_DEFAULT;
}
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
globalPatcher = GetPatcher();
Magic = globalPatcher->CreateInstance("DDFixByRaistlin");
Magic->WriteLoHook(0x41D3E4, DisableManaUsage);
/*case :
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;*/
}
return TRUE;
}
04.08.2021, 16:30
Друзья, важно! Плагин на дверь измерений, оказывается, был несовместим со старыми версиями Windows, так как я забыл настроить это в проекте. Сейчас я скомпилировал его заново и перезагрузил - если вы используете его где-либо, обязательно обновите!
12.12.2021, 11:56
Инструмент для удаления чужих патчей и хуков
Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Распаковать архив поверх любого мода (если ERA)
Краткое описание: С помощью нового конфигурационного файла Вы можете составить список адресов, где должны быть удалены патчи, и, соответственно, удалить их. Таким образом можно легко обойти любые несовместимости с НD-модом или сторонними плагинами, использующими patcher_x86.dll.
Скачать:
https://drive.google.com/file/d/1YdL_G7u...sp=sharing
Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Распаковать архив поверх любого мода (если ERA)
Краткое описание: С помощью нового конфигурационного файла Вы можете составить список адресов, где должны быть удалены патчи, и, соответственно, удалить их. Таким образом можно легко обойти любые несовместимости с НD-модом или сторонними плагинами, использующими patcher_x86.dll.
Скачать:
https://drive.google.com/file/d/1YdL_G7u...sp=sharing
Исходник (Click to View)
PHP Code:
// dllmain.cpp : Определяет точку входа для приложения DLL.
#include "pch.h"
#include "patcher_x86.hpp"
#include "era.h"
#pragma warning( disable : 4996)
using namespace Era;
Patcher* globalPatcher;
// Читаем конфигурационный файл и проходимся по списку патчей.
void __stdcall ReadINI_AndRemove(TEvent* e)
{
// Основной буфер.
char buf[30];
// Узнаем количество патчей, которые необходимо удалить.
ReadStrFromIni("Count", "Main", "Pointer List.ini", buf);
// Превращаем строку в число.
int count = atoi(buf);
// Если количество больше нуля.
if (count > 0)
{
// Имя ключа.
char name[30];
// Цикл, в котором производится перебор всех адресов.
for (size_t i = 0; i < count; i++)
{
// Собираем имя ключа из текста и индекса.
sprintf(name, "Pointer%d", i);
// Читаем строку.
ReadStrFromIni(name, "Main", "Pointer List.ini", buf);
// Превращаем в число.
int adress = atoi(buf);
// Если адрес действительный.
if (adress > 0x400000)
{
// Удаляем все патчи.
globalPatcher->UndoAllAt(adress);
}
}
}
}
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
globalPatcher = GetPatcher();
ConnectEra();
// Читаем конфигурационный файл и проходимся по списку патчей.
RegisterHandler(ReadINI_AndRemove, "OnAfterCreateWindow");
/*case :
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;*/
}
return TRUE;
}
11.07.2022, 09:46
Прокрутка вторичных навыков для диалога командира
Автор: daemon_n (при неоценимой помощи RoseKavalier)
Язык: не имеет значения
Поддерживаемые версии: ERA, требует плагин WoG Native Dialogs


- добавляет во все экраны командиров стрелки переключения навыков, если сумма имеющихся и готовых к изучению навыков > 6;
- сперва отображаются выученные навыки, а уже затем те, что можно выучить;
- доступно переключение как ЛКМ, так и горячими клавишами "A/D", "Left/Right";
- добавляет в описание командира в бою мини-икноки с хинтами;
Скачать плагин
Исходник
Автор: daemon_n (при неоценимой помощи RoseKavalier)
Язык: не имеет значения
Поддерживаемые версии: ERA, требует плагин WoG Native Dialogs


- добавляет во все экраны командиров стрелки переключения навыков, если сумма имеющихся и готовых к изучению навыков > 6;
- сперва отображаются выученные навыки, а уже затем те, что можно выучить;
- доступно переключение как ЛКМ, так и горячими клавишами "A/D", "Left/Right";
- добавляет в описание командира в бою мини-икноки с хинтами;
Скачать плагин
Исходник
19.07.2022, 22:41
Быстрая смена артефактов для диалога героя и встречи
Автор: daemon_n (при неоценимой помощи RoseKavalier), но наработал я сам куда больше в этот раз
Идея: Baratorch
Язык: не имеет значения
Поддерживаемые версии: ERA, (возможно SoD - не проверял)

- добавляет в экраны героя и встречи героев возможность быстро менять артефакты на Колёсико Мыши (СКМ) или Shift +ЛКМ по слоту артефактов;
- диалог отображает лишь те артефакты, которые можно поместить в данный слот;
- Свитки с заклинаниями отображаются всегда после артефактов и с нового ряда;
- Артефакты сортированы в порядке стоимости;
- Свитки сортированы сперва по уровню заклинания, затем по AI ценности;
- должны поддерживаться любые моды, корректно добавляющие артефакты;
Скачать плагин
Исходник
Автор: daemon_n (при неоценимой помощи RoseKavalier), но наработал я сам куда больше в этот раз

Идея: Baratorch
Язык: не имеет значения
Поддерживаемые версии: ERA, (возможно SoD - не проверял)

- добавляет в экраны героя и встречи героев возможность быстро менять артефакты на Колёсико Мыши (СКМ) или Shift +ЛКМ по слоту артефактов;
- диалог отображает лишь те артефакты, которые можно поместить в данный слот;
- Свитки с заклинаниями отображаются всегда после артефактов и с нового ряда;
- Артефакты сортированы в порядке стоимости;
- Свитки сортированы сперва по уровню заклинания, затем по AI ценности;
- должны поддерживаться любые моды, корректно добавляющие артефакты;
Скачать плагин
Исходник
07.09.2022, 16:45
Автор: daemon_n (при неоценимой помощи и вере в мои силы RoseKavalier и Baratorch )
Язык: текст пишется в json - на гите только английский (пара строк, ну..) , там же (в json, управление каждым аспектом плагина)
Поддерживаемые версии: ERA, (SoD добавлю позднее, когда разберусь с погрузкой текстов из ini в остальном же работает)

Увеличивает экран подсказки существ в бою, добавляя информацию о:
- статусе отряда - активен, ожидание, защита, походил
- выстрелах отряда
- контрударах отряда
- заклинания отряда
- 12-и (двенадцати!) активных эффектах на отряде
Добавляет диалог обо всех наложенных эффектах на отряд при клике ПКМ на любом активном эффекте в окне существа
Также плагин устраняет баг, который я заметил случайно сегодня (07.09.2022) впервые: урон отряда баллист всегда отображается 2-3 (баг даже в хоте остался)
Скачать плагин
Исходник
21.01.2023, 01:08
(07.09.2022 16:45)daemon_n Wrote: [ -> ]ОчередноеРасширенное окно информации об отряде на поле боя:
Автор: daemon_n;
Идея: все, кто играл в героев;
Язык: русский, английский - оба файла уже в моде;
Поддерживаемые версии: ERA 3.9.3 и выше;
Если png графику из zip архива поместить в bmp и запаковать, то возможно воспроизвести и на предыдущих версиях ERA;
Для отображения диалогов на ПКМ требуется "Wog native dialogs.era" плагин!
[+] Обновлён плагин/мод "New_battle_interface_dlg.dll":
- увеличенное окно существ в битве и вне её;
- добавлена кнопка для просмотра окна опыта существ/командира (хоткей "E");
- добавлена кнопка для просмотра активных эффектов на отряде в битве (хоткей "S");
- обе кнопки поддерживают нажатие ПКМ для отображения схлопывающегося диалога;
- добавлено описание существ при открытии диалога на ПКМ;
- увеличено место под описание и количество активных эффектов до 6;
- размером, местом и выравниваем текста описания можно управлять из json;
- за всю графику спасибо Grossmaster;
Скачать плагин/мод


31.08.2023, 22:23
Плагин управления стартовыми параметров героев:
Автор: daemon_n;
Идея: Suft, PerryR;
Язык: не имеет значения;
Поддерживаемые версии: ERA 2.9 и выше;
Скачать
Исходный код

Автор: daemon_n;
Идея: Suft, PerryR;
Язык: не имеет значения;
Поддерживаемые версии: ERA 2.9 и выше;
Управление параметрами героев через json ключи:
(Click to View)
(Click to View)
Code:
{
"gem.heroesStartingParameters":{
"2":{
"hasSpellBook":"1",
"startingSpell":"222",
"skill0":{
"type":"23",
"level":"5"
},
"skill1":{
"type":"23",
"level":"5"
},
"army0":{
"type":"90",
"low":"12",
"high":"23"
},
"army1":{
"type":"1",
"low":"1",
"high":"2"
},
"army2":{
"type":"99",
"low":"34",
"high":"2"
}
}
}
}
Исходный код

Pages: 1 2