IPB

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику igrik. Спасибо сказали: 812
Дата поста: В теме: За сообщение: Спасибо сказали:
15 Oct 2019, 09:21 Новые идеи для HotA
Цитата(Docent Picolan @ 18 Mar 2018, 00:07) *
Цитата(igrik @ 17 Mar 2018, 23:46) *

Ув.разработчики, запилите баттлфилд для утопы и прочих подобных объектов (погост и т.п.)
Зашёл в него и как поймёшь у кого какие бонусы скорости? Внешность фона ещё и игромеханическую функцию выполняет.
Понятно, что почву можно запомнить заранее, но бывает что клетка стоит на неясном визуально участке. Да и забыть во время боя не грех, потом всех драконов протыкивать.
Вернусь я к своему старому вопросу:
А если в игре "склеивать" сразу 2 баттлфилда?

Кодом, навскидку, реализуется не сложно:
- нижняя часть изображения это стандартный баттлфилд.
- верхняя часть - это изображение размерами 800х120


Для художников, правда, работы много...



Dead_89, Aeternus
06 Aug 2019, 14:29 Отчеты об ошибках
багрепорты
В дополнение, для "просмотров" уже давно нужно добавить отображение телепортов и подземных врат.



Код
// фиксим неотображение Монолитов и Подземных врат в диалоге заклинания Просмотр Земли и Воздуха
_bool_ isVisible_Monoliths;
_bool_ isVisible_Gates;

int __stdcall Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Show(LoHook* h, HookContext* c)
{
    c->edi = c->ecx;                    // mov edi, ecx
    c->ecx = *(_dword_*)(c->esi +30);    // mov ecx, [esi+1Eh]
    int obj_id = c->ecx; // номер объекта
    _byte_ isVisible = *(_byte_*)(c->ebp +8 +3);

    int type = 0;
    if ( obj_id == 43 || obj_id == 44 || obj_id == 45 ) { // Монолиты
        if ( isVisible_Monoliths || isVisible ) {
            type = 3;
        }
    }

    if ( obj_id == 103 ) { // Подземные врата
        if ( isVisible_Gates || isVisible) {
            type = 4;
        }
    }

    if ( type == 3 || type == 4 ) { // выполняем функцию отображения Монолитов или Подземных Врат при касте Просмотра Земли или Воздуха
        CALL_6(_int_, __fastcall, 0x5F7760, *(int*)0x6AAC88, c->esi, type, *(int*)0x6AAC80 + (*(int*)(c->ebp +0x14) * *(int*)0x68C70C), c->edi +8, *(int*)(c->ebp +0x12) );
    }

    c->return_address = 0x5F854A;
    return NO_EXEC_DEFAULT;
}

int __stdcall Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Prepare(LoHook* h, HookContext* c)
{
    int spell = *(int*)(c->ebp +8);
    int power = *(int*)(c->ebp +12);

    isVisible_Gates = false;
    isVisible_Monoliths = false;

    if ( spell == 5 ) // Просмотр воздуха
    {
        if ( power >= 2 ) { // показываем Подземные Врата
            isVisible_Gates = true;
        }
        if ( power >= 3 ) { // показываем Монолиты
            isVisible_Monoliths = true;
        }
    }

    return EXEC_DEFAULT;
}


// ################################################################################
#############
// ################################################################################
#############

// фиксим неотображение Монолитов и Подземных врат в диалоге заклинания Просмотр Земли и Воздуха        
_PI->WriteLoHook(0x5FC3EC, Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Prepare);
_PI->WriteLoHook(0x5F8545, Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Show);
drevoborod
31 Jul 2019, 07:53 Обсуждение инженерного анализа
Цитата(Richter @ 30 Jul 2019, 19:47) *
Решился заняться созданием dll
Как ни смешно, дальше двинуться не получается
Может у кого нибудь есть желание обсудить эту тему)

Как дальше на FASM создать dll, скажем начать выполнение с адреса 4E3287h
далее код....... потом чтобы программа дальше продолжала работать.
Может немного не грамотно обрисовал. Надеюсь понятно)
А С++ не?
По С++ вот тема (link), вот тема (link)

Код
int __stdcall LoHook_Name(LoHook* h, HookContext* c)
{
    /*
    *
    * тут пишем необходимый нам код код
    *
    */


    return EXEC_DEFAULT; // вернуться в код игры
}


// начать выполнение с адреса 4E3287h
// означает поставить хук на адрес 0x4E3287h
// итого: ставим хук с названием LoHook_Name
_PI->WriteLoHook(0x4E3287, LoHook_Name);
Richter
16 Jul 2019, 15:46 Новые идеи для HotA
Вот это простыни текста - неосилить ваще. Когда уже начнутся раздачи "Рид_Онли"?)))

А зачем подрезать, когда можно вообще выпилить массовость у них (ха, не кисло так у онлайнщиков порвёт).
Это было бы интересно. Надо кстати попробовать smile.gif.

... Ушёл тестить.


upd: и вот что получилось



Код
#define SPL_SLOW 54
#define SPL_HASTE 53
#define SPL_BERSERK 59

// фукнция ведения мыши по площади
int __stdcall Y_Haste_MouseMoove(LoHook* h, HookContext* c)
{
    if (c->esi == SPL_HASTE || c->esi == SPL_SLOW || c->esi == SPL_BERSERK) {
        c->return_address = 0x59FA88;
    } else c->return_address = 0x59FA8C;

    return NO_EXEC_DEFAULT;
}

// радиус затемнения гексов
int __stdcall Y_Haste_RadiusGex(LoHook* h, HookContext* c)
{
    if (c->ecx == SPL_HASTE || c->ecx == SPL_SLOW || c->ecx == SPL_BERSERK) {
        c->return_address = 0x59FD09;
    } else c->return_address = 0x59FD1E;

    return NO_EXEC_DEFAULT;
}

// на кого может дейстовать (проверка на сторону действия и на гипноз (в данном случае)
int __stdcall Y_Haste_WhoCanBeAffected(LoHook* h, HookContext* c)
{

    int spell_id = *(int*)(c->ebp +12);
    if (spell_id == SPL_HASTE || spell_id == SPL_SLOW )
    {
        c->return_address = 0x5A6A2D;
        return NO_EXEC_DEFAULT;
    }

    return EXEC_DEFAULT;
}

// подсветка курсора (широкого затемнения) при ведении мыши
int __stdcall Y_Haste_SetCursorShadow(LoHook* h, HookContext* c)
{
    // восстанавливаем пропущенные параметры
    *(char*)(c->ebp -0x4) = c->edi;
    *(char*)(c->ebp -0xD) = 0;

    if (c->eax == SPL_HASTE || c->eax == SPL_SLOW || c->eax == SPL_BERSERK) {
        c->return_address = 0x59FBF7;
    } else c->return_address = 0x59FC09;

    return NO_EXEC_DEFAULT;
}

// функция накладывания спеллов
int __stdcall Y_Haste_PlayDefAnim(LoHook* h, HookContext* c)
{
    int anim_id;
    int spell_id = *(int*)(c->ebp +8);
    switch (spell_id){
        case SPL_HASTE:        anim_id = 31; break;    
        case SPL_SLOW:        anim_id = 19; break;    
        case SPL_BERSERK:    anim_id = 35; break;    
        default:            anim_id = 35; break;
    }
    _BattleMgr_* bm = (_BattleMgr_*)c->ebx;
    int caster = *(int*)(c->ebp +0x10); // 0 - герой, 1 - монстр, 2 - артефакт, 3 - герой без вычета маны

    if ( caster == 1 ) {
        if ( bm->stack[bm->current_stack_ix]->creature_id == 136 ) { // если Чародей
            o_Spell[SPL_HASTE].type = 1;
            o_Spell[SPL_SLOW].type = -1;
            CALL_7(void, __thiscall, 0x5A69E0, c->ebx, *(int*)(c->ebp -0x14), *(int*)(c->ebp +0x8), c->esi, *(int*)(c->ebp +0x1C), bm->current_side, caster );
            o_Spell[SPL_HASTE].type = 0;
            o_Spell[SPL_SLOW].type = 0;
        }
    }

    CALL_5(char, __fastcall, 0x5A6AD0, c->ebx, (int)c->ebx +0x547C, (int)c->ebx +0x547C, anim_id, 0);

    c->return_address = 0x5A2168;
    return NO_EXEC_DEFAULT;
}


void New_Haste_and_Slow()
{
    // запрещаем масс.ускорение на экспертном уровне
    o_Spell[SPL_HASTE].flags = 266373; // 266261;
    o_Spell[SPL_HASTE].type = 0;
    o_Spell[SPL_HASTE].effect[0] = 2;
    o_Spell[SPL_HASTE].effect[1] = 3;
    o_Spell[SPL_HASTE].effect[2] = 4;
    o_Spell[SPL_HASTE].effect[3] = 5;
    // запрещаем масс.замедление на экспертном уровне
    o_Spell[SPL_SLOW].flags = 266373; //266261;
    o_Spell[SPL_SLOW].type = 0;
    o_Spell[SPL_SLOW].effect[0] = 80;
    o_Spell[SPL_SLOW].effect[1] = 70;
    o_Spell[SPL_SLOW].effect[2] = 60;
    o_Spell[SPL_SLOW].effect[3] = 50;
    // убираем эффект молитвы (бонус скорости)
    _PI->WriteHexPatch(0x444956, "90 E9");    // при касте молитвы
    _PI->WriteHexPatch(0x44440D, "90 E9");    // при снятии заклинания

    // патчим свитчи заклинаний
    _PI->WriteByte(0x59F9BC +SPL_HASTE -10, 5);
    _PI->WriteByte(0x59F9BC +SPL_SLOW -10, 5);
    _PI->WriteByte(0x5A2B48 +SPL_HASTE -10, 24);
    _PI->WriteByte(0x5A2B48 +SPL_SLOW -10, 24);

    // ставим хуки
    _PI->WriteLoHook(0x59FA83, Y_Haste_MouseMoove);
    _PI->WriteLoHook(0x59FD04, Y_Haste_RadiusGex);
    _PI->WriteLoHook(0x5A6A23, Y_Haste_WhoCanBeAffected);
    _PI->WriteLoHook(0x59FBED, Y_Haste_SetCursorShadow);    
    _PI->WriteLoHook(0x5A2156, Y_Haste_PlayDefAnim);

    // нужно исследовать для ИИ в местах
    // 0x5A4C36 +2 AI
    // 0x5A4CDE +2 AI

    return;
}


// ################################################################################
#############
// ################################################################################
#############

New_Haste_and_Slow();
Iv, hippocamus
12 Jul 2019, 15:37 Обсуждение инженерного анализа
Цитата(Richter @ 11 Jul 2019, 21:15) *
Очередной вопрос. Как вычислить значение (зеленый прямоугольник на скриншоте) зная откуда безусловный переход и куда.
Необходимо для работы с !!UN:C и !!SN:M.
Пример для использования: Выделяю массив числовой с помощью !!SN:M, необходимо написать на ERM JMP из одного места в этот массив.
Поскольку в !!SN:M0/?y2/0; адрес всегда разный, то и необходимо вычислить что на скриншоте. Если непонятно написал , поправьте пожалуйста.
Это не самая большая проблема.
Насущный вопрос: как вернуться таким способом назад, в исходное место?
Эровский числовой массив состоит из интов, а чтобы записать команду JMP нужен байт. Можно конечно запилить сначала 3 нопа, а потом JMP и адрес прыжка назад (который тоже еще нужно высчитать!), но как по мне всё это еще тот гемор. Это нужно вычислить адрес переменной массива, которая будет указывать на обратный адрес, потом через UN:C по этому адресу записать нопы и опткод джампа, в следующей перменной массива нужно указать высчитанное смещение назад и правильно его записать обратно в массив, смещение к тому же будет зависеть от длинны массива. В во всём этом винигрете нужно еще не запороть регистры. Ахтунг, одним словом...

И что это за такая интересная команда?!
Код
!!UN:Cy1/5/?"G"

Во первых: UN:C поддерживает только 1, 2 или 4 байта для патчинга.
Во вторых: ?"G" - WTF?!

И еще: не забываем про точки с запятой...
Richter
09 Jul 2019, 13:40 Обсуждение инженерного анализа
Цитата(Richter @ 07 Jul 2019, 21:22) *
Подскажите есть возможность(триггер, хук, лом железный)) поймать AI на постройке здания в городе? Например (!?)AI построил здание, далее (!!) ресивер.

Код
!!SN:Ex1/1/6025702/(AI_Building);

!?FU(AI_Building)&-1000;
!!SN:X?y1;
; получаем номер города
!!VRy2:Sy1 +24;
!!UN:Cy2/4/?y3;
!!UN:Cy3/1/?y5;  y5 - номер города
; получаем номер строения
!!VRy2:Sy1 +8;
!!UN:Cy2/4/?y3;
!!VRy4:Sy3 +8;
!!UN:Cy4/4/?y6;  y6 - номер здания
!!IF:M^AI строит здание: {%Y6}
В городе: {%Y5}^;
hippocamus, Berserker, Richter, Sandris
07 Jun 2019, 20:58 HD Флуд
Флуд и офф-топ высокого разрешения
Чего нет? Перестройки ГМ? Ну-ну))
Это в Хоте перестойки нет. В Хоте есть "Исследование заклинаний", что никак не может являться перестройкой гильдии магов.

Короче, Sergeich, если у тебя вопрос относительно SoD, то вот инструкция (и специально для hippocamus'a):

Перестройка ГМ в SOD - это фича HD мода, а точнее его надстройки HW.

Сначала настраиваешь опции при выборе карты:


Потом в городе (только когда отстроены ВСЕ уровни гильдии магов (ГМ)) наводишь мышь на ГМ и жмешь Левую кнопку мыши с зажатым Шифтом.
hippocamus, lion-killer, Berserker, KypaToP_HM, BratetsVolk, Sergeich
26 Apr 2019, 14:03 Юмор
геройский и не только
В сеть утекли кадры 3 серии Игры Престолов.

hippocamus, Spartak, Dead_89, Mefista
23 Apr 2019, 10:50 Era II [ENG]
New concept in modding
Почему вылезает конкретно это окно - ответить сложно. Тут проблем может быть с десяток, но все они будут приводить к этой ошибке.

Поэтому если нужна работающая ERA и срочно, то используй мою.
https://yadi.sk/d/V6OW_MDi8I7OQQ

А если нужна именно ENG версия, поставленная на GOG версию, то:
https://yadi.sk/d/mTcdlU3lOyGDLg
Axolotl
29 Jan 2019, 17:52 Тонкости ЕРМ, использование UN:C
ERM для профессионалов :)
Зачем, ведь в воге это уже есть
Код
!!VRy2:S10; // искомый уровень
!!VRy3:Sy2*4 +8002732;
!!UN:Cy3/4/?y4;
!!IF:M^Следующий уровень: %Y4^;
feanor, Richter
25 Jan 2019, 11:45 Юмор
геройский и не только
hippocamus, Mefista, FallenAngel
21 Jan 2019, 14:46 Хуки на исполняемый код из ERA
Цитата(Richter @ 21 Jan 2019, 12:44) *
Мания, потому что результата хочется, а тут уже кто как умеет). Сможете подсказать как получить значение?

Код
!?FU77004; триггер ЭРА (открытие окна героя)
!!VRy2:S<номер_героя> *16 +10787776;
!!UN:Cy2/4/?y3;
!!VRy3:-1;
!!IF:M^Номер картинки %Y3^;

; заменяем картинку специализации (на стрелковые башни)
!!UN:Cy2/4/357;   номер картинки 356 +1


И вот сразу работающий скрипт при любом клике в окне героя
Код
!?CM2;         [клик в окне героя №28 (Мальком)]
!!VRy2:S28 *16 +10787776;  [таблица HSpecNames[hero_number].PicNum]
!!CM:I?y3;                 [оплучаем id элемента клика]
!!FU|y3<1/y3>356:E;        [выход, если вышли за границы диапазона картинок]
!!VRy3:+1;                 [+1 к номеру картинки (так работает WoG)]
!!UN:Cy2/4/y3;             [установили номер картинки]
!!UN:R3/-1;                [обновили диалог героя]
feanor, Berserker, Richter, Sandris
18 Jan 2019, 17:54 Инженерный анализ
Reverse Engineering
Цитата(Richter @ 18 Jan 2019, 10:18) *
Образовался вопрос, где хранится статус "выбрано существо или нет" и как его убрать (жёлтая рамка) в окне героя? Надеюсь с темой для поста не ошибся)

!!UN:C6911880/4/?y1;
hippocamus, Richter
14 Jan 2019, 22:24 Сборка HoMM3 ERA
Игровая сборка HoMM3 ERA + HD-mod
Игровая сборка HoMM3 ERA 2.8.3 + HD-mod 5.0 RC55

Тип: самораспаковывающийся архив RAR
Размер: 521 Мб
Скачать: Full Setup

Важно!!! Сборка сделана в виде единого инсталятора, поэтому устанавливать ее необходимо только в пустой каталог.




1. Графические отличия:
- настроенный HD мод самой последней версии
- в оригинальном геройском стиле оформлена кнопка "WoG опций"
- сделана нажимаемая кнопка "Командира"
- измененная (из SoD'a) подкладка в окне города
- изменены спрайты половины зАмковых существ 8-го уровня
- полностью переписан скрипт "использование новых боевых полей": 4 на каждую сухопутную почву, 1 на утопию драконов, 1 на банк
- заменены анимация и звук взрыва
- уменьшен текст описания монстров в диалоговом окне монстров. Также переработаны их тексты
- полностью англофицированная игра при отключенном моде "WoG Rus"
- показ версии ERA при клике правой кнопкой мыши на кнопке "Создатели"
- убраны анимированные деревья

1.1 Интергирован мод wogNativeDialogs (на данный момент переработаны):
- диалог командира
- диалог опыта существ
- диалог IF:G
- диалог выбора атаки
- диалог перестройки замка
- диалог сброса артефактов на землю
- диалог WoG настроек

2. Игровые изменения/дополнения:
- вырезан мод Yona
- существенно усилено получение первичных параметров героев ИИ на максимальном уровне сложности.
- сделан показ предположительного кол-ва возможно убитых существ в прямой атаке и стрельбе
- возможность заходить в гильдию магов без наличия книги и денег у героя-гостя
- от нейтралов можно сбегать даже при надетых оковах войны
- сделана возможность в бою посмотреть героя противника по ПКМ на дефе героя (возможно неккоректное отображение вторичных навыков героя, но такова реализация у стандартных WoG скриптов на вторичные навыки)
- открытие окна обмена героями в замке (клавиша E в замке)
- автоматическое сохранене перед битвой (перед триггером BA0) /опционально/
- сделана защита артефактов, свитков и ящиков пандор от кражи (плагин)
- возможность в один клик улучшить существ в замке, если построены соответствующие улучшенные здания (Ф+ЛКМ на стеке в замке или на портрете героя для улучшения сразу всех)
- откорректированный скрипт оруженосца (поддерживает переигровку)
- интегрирован плагин переигрываемой битвы (но он по дефолту отключен). Заметка от автора: Без скриптов плагин работает отлично. Со скриптами могу быть непредвиденные ошибки и т.п. Я потихоньку настраиваю скрипты под него, но это слишом долго, муторно и сложно, поэтому работа идет очень и очень не быстро. Тут нужны отчеты, потому что я не практически не играю smile.gif

3. БагоФиксы, недочёты и недоработки WoG'a (и SoD'a):
- исправление бага палатки, когда на её ходу невозможно убежать или сделать другие действия
- исправление бага посещения банков, в которых дают существ (вылет в диалоге присоединения монстров)
- исправлен один из багов Астрального Духа
- сделан показ хинтов описаний колдовства командиров и других существ номером больше 135
- добавлен расчет AI_Value и Fight_Value командиров в зависимости от их уровня и силы
- исправление бага блока командира, когда защита падала из-за флага "в защите"
- убрана кнопка отмены в арене. Сделаны кнопки отмены при посещении Хижины ведьмы и Ученого
- исправлена кнопка в диалоге разделения отрядов и таверны
- исправлены координаты кнопки Сказочного Дракона. Также этак кнопка теперь имеет родные хинты описаний (а не Лесопилка и Лабаратория Алхимика)
- центрирование изображения по ПКМ в городе на иконке найма войск (ранее уходило сильно влево). Актуально при игре с HD в высоких разрешениях
- исправлен баг с исчезновением улучшенного отряда нейтральных монстров после боя (теперь убран запрет появления ул.стека, который был ранее в сборке)
- исправлена возможность стрелять стреляющими существами и машинами при отсутствующем (второй выстрел) или отрицательном боезапасе (автоматически выполняется пропуск стека в поиске монстра (не путать с пропуском хода)). Циклопы и балиста теперь теряют боезапас при атаке крепостных стен замка при осаде.
- исправлены огрехи агресии ИИ героев в русской версии "hctraits.txt" (актуально при игре без HD)
- сделано корректное отображение кол-ва существ в "arraytxt.txt"
- прочие мелкие фиксы ...

4. Музыка:
- заменена тема главного меню
- расширено кол-во битвенных треков с 4 до 9
Iv, hippocamus, Spartak, Etoprostoya, Berserker, Sandris
14 Jan 2019, 22:13 Typhon v. 2.7
Инструмент мододелов из MoP для ЭРЫ
Сделано =).gif
MasterOfPuppets
14 Jan 2019, 14:22 ERM: Вопросы и ответы
Вопросы и ответы
Цитата(Richter @ 12 Jan 2019, 15:27) *
Где то видел функцию или скрипт "получить вторичные навыки" при получении героем нового уровня (левый правый), а сейчас понадобилось и найти не могу, тоже с отключением экрана повышения уровня. Может кто знает где это найти?
Ищи в моде New_Level_Up_Screen у меня в подписи.

upd: забыл, что там хук я делал плагином, а реализацию мода на ERM.
Вот код хука для ERM.
Код
!?PI; &GM0
!!SN:L^EraPlugins\erm_hooker.era^/?y1;   [проверили плагин]
!!FU&y1=0:E;                             [выход, если его НЕТ]
!!SN:Ay1/^SetHook^/?y2;                  [получить адрес функции SetHook]
!!SN:Ey2/1/5090948/31873;                [хук на диалог повышалки с выбором 2=х втор.навыков]

!?FU31873;
!!SN:X?y3/0;                             [второй аргумент хука — выполнять ли затёртые команды, говорим НЕТ]
; EDI (0), ESI (4), EBP (8), ESP (12), EBX (16), EDX (20), ECX (24), EAX (28)
; RetAddr (32)
!!VRy4:Sy3 +32;                          [y2 указывает на адрес возврата, подменяем его]
!!UN:Cy4/4/5090961;                      [адрес команды следующей за вызовом функции (диалог с 2мя навыками)
Richter
06 Jan 2019, 21:48 Добавление новых существ
amethyst.dll. Бета-тест за ваши деньги.
Цитата(Richter @ 06 Jan 2019, 21:38) *
Typhon? А где ознакомиться с этим можно?

В этой же ветке, чуть ниже
http://forum.df2.ru/index.php?showtopic=36759
Richter
17 Dec 2018, 16:59 Герои из кампании на рандомных картах
Герои из кампании на рандомных картах
Цитата(SPhoenix2010 @ 15 Dec 2018, 15:21) *
и если уж играть в WOG + HOTA то пришлось бы добавлять в Причал существо 8 ур...

Я добавлял. Получалось такое существо:

hippocamus, Mefista
11 Dec 2018, 11:17 Герои из кампании на рандомных картах
Герои из кампании на рандомных картах
Цитата(SPhoenix2010 @ 10 Dec 2018, 12:17) *
Подскажите пожалуйста скрипт чтобы можно было разблокировать всех героев из компании, чтобы они были доступны при выборе героя на сгенерированных картах
Играю в Герои 3 WOG + ERA
В эре это уже есть. Нужно только поставить галочку:


hippocamus, Sandris, SPhoenix2010
16 Nov 2018, 08:42 Небольшие моды и плагины.
Защита артефактов, пандор и свитков

Скачать (41.5kb)

Совместимость: SoD, ERA
Автор: igrik
Описание: теперь артефакты, ящики пандор и свитки защищены рядом стоящими монстрами
(монстр защищает объекты согласно красной рамки):




Iv, Axolotl, xgrimeliusx, Ethereal, Barin, IceZver
06 Nov 2018, 08:19 Если нужен скрипт
Пишите если нужен скрипт
Цитата(IceZver @ 06 Nov 2018, 07:23) *
Ещё хотелось бы перевести его на русский язык

1. Файл sagamosa.ert (в папке data/s) через ERM-Scripter (link) и переводишь.
Только сразу уточню: если есть для тебя непонятные символы, то оставляешь их как есть. Например {, }, %d, %s

2. Файл sagamosa.pac (в папке data) через MMArchive v1.2.1. Находишь так картинки (название.pcx) распаковыаешь. Они распакуются в формат bmp. Тексты в этих картинках правишь через фотошоп (я не знаю как, хе...) сохраняешь так же в bmp и через тот-же MMArchive запаковываешь обратно в sagamosa.pac

3. Все txt файлы (в папке data) через Txt Edit v1.3.1. Только тут нужно править лишь строки с типом text. А потом в игре смотреть влезают ли они в диалог. Гемор еще тот

При должной мере желания - перевод готов.
IceZver
08 Oct 2018, 08:27 Баг-репорты
Цитата(BratetsVolk @ 07 Oct 2018, 14:43) *
Артефакт графики на алтаре при переключении на существ:

Sod, HD 5.0.21, Win7 x64.
Это косяк оригинального рисунка.
Вот тут эта проблема описана и решена
http://forum.df2.ru/index.php?s=&showt...st&p=728530
BratetsVolk
20 Sep 2018, 22:02 Небольшие моды и плагины.
WoG Native Dialogs
(Вог диалоги в родном исполнении)
Основная цель: поддержка мастшабирования высоких разрешений при игре с HD-модом

Сделано:
()
()
()
()
()
()
()
()


Автор: igrik
Язык: Rus/Eng
Формат: самораспаковывающийся архив
Поддерживаемые версии: ERA
Способ установки: указать корневую папку ERA

Скачать
Iv, fireman, Ben, Berserker, FallenAngel, xgrimeliusx, Ethereal, IceZver
01 Aug 2018, 09:05 Отчеты об ошибках
багрепорты
Критический баг всех версий HoMM3, в том числе и HotA.
Баг проявляется с HD и без HD тоже.

Пошагово как получить вылет:
1. Заполняем все 7 слотов в армии героя (например Лазурными)
2. Вызываем диалог присоединения существ ( ̶д̶и̶п̶л̶о̶м̶а̶т̶и̶я̶ ̶или после зефирки, не важно) upd: при присоединении от дипломатии нет вылета. Видимо нужно, чтобы герой стоял на желтой клетке объекта
3. Складываем один из слотов (было 7, стало 6)
4. Присоединяющихся монстров кладем в пустой слот.
5. Не закрывая диалог присоединения заходим в окно героя через иконку его портрета
6. Делаем клик левой кнопкой мыши например на вторичном навыке. Потом нажимаем ок, чтобы выйти из описания втор навыка
7. Закрываем окно героя
8. Закрываем диалог присоединения и тут ловим вылет из игры на 0x4FD4A8.

Видео демонстрация
hippocamus, Ben, baratorch, totkotoriy, СЕРЁГА (JET), drevoborod
25 Jul 2018, 09:50 Серия игр Heroes of Might and Magic - GL Wrapper & Patches
В список совместимых игр также можно добавить HoMM III: MoP v3 Battery
(как раз неоднократно были вопросы, как растянуть MoP на всю ширину широкоформатников)
Iv, Algor, MasterOfPuppets, Berserker

13 страниц V   1 2 3 > » 
Текстовая версия Сейчас: 17 October 2019 - 20:35
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика