Wake of Gods Forum | Форум Во Имя Богов

Full Version: Вопросы по моддингу
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Спасибо за ответ. Попробую тогда поэксперементировать самостоятельно.
Орды не отключал, но делал, например, Фонтан Удачи не грейдом пруда.

Во-первых, в коде есть описание, какие здания друг другом заменяются, причем в двух вариантах, один изначальный, а другой - таблички, в которые он пакуется сразу после старта. Ну, в таком же формате, в каком в коде хранятся деревья отстройки. Я правил первый.
Code:
int Obsolutions0[] = {
    BLD_ID_SPEC22,    BLD_ID_TAVERN,    -1, //вот тут мы видим, как Братство меча сделано грейдом таверны
    BLD_ID_HORDE1,    BLD_ID_DWELL3,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL3U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions1[] = {
    //BLD_ID_HORDE1,    BLD_ID_DWELL2,    -1,
    //BLD_ID_HORDE1U,    BLD_ID_DWELL2U,    BLD_ID_HORDE1,    -1,
     BLD_ID_HORDE2,    BLD_ID_DWELL1,    -1,
     BLD_ID_HORDE2U,    BLD_ID_DWELL1U,    BLD_ID_HORDE2,    -1,
    //BLD_ID_SPEC21,    BLD_ID_SPEC17,    -1, //а вот тут мы пидорнули Фонтан
    -100
};


int Obsolutions2[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions3[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    BLD_ID_HORDE2,    BLD_ID_DWELL3,    -1,
    BLD_ID_HORDE2U,    BLD_ID_DWELL3U,    BLD_ID_HORDE2,    -1,
    -100
};


int Obsolutions4[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions5[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions6[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions7[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


int Obsolutions8[] = {
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1,
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1,
    -100
};


BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
        ....

        //кажется, эти таблицы требуются едва ли не сразу, пусть правки будут здесь

        *(int*)0x004EBAC9 = (int)ObsolutionsAll;
        *(int*)0x004EBB04 = (int)ObsolutionsAll;
        *(int*)0x004EBB3F = (int)ObsolutionsAll;
        *(int*)0x004EBB7A = (int)ObsolutionsAll;
        *(int*)0x004EBC74 = (int)ObsolutionsAll;

        *(int*)0x004EBAD8 = (int)Obsolutions0;
        *(int*)0x004EBB13 = (int)Obsolutions1;
        *(int*)0x004EBB89 = (int)Obsolutions2;
        *(int*)0x004EBB4E = (int)Obsolutions3;
        *(int*)0x004EBB98 = (int)Obsolutions4;
        *(int*)0x004EBBA7 = (int)Obsolutions5;
        *(int*)0x004EBBB6 = (int)Obsolutions6;
        *(int*)0x004EBBC5 = (int)Obsolutions7;
        *(int*)0x004EBBD4 = (int)Obsolutions8;

         ...
    }
    return TRUE;
}

А во-вторых, есть всякие побочные эффекты типа подсказок по ПКМ
Code:
*(char*)0x461171 = 0x11; //фонтан удачи - не грейд пруда в экране холла ????
*(char*)0x5D2F5E = 0x55; //фонтан удачи - не грейд холла в хинтах
(21.06.2021 17:23)feanor Wrote: [ -> ]Во-первых, в коде есть описание, какие здания друг другом заменяются, причем в двух вариантах, один изначальный, а другой - таблички, в которые он пакуется сразу после старта. Ну, в таком же формате, в каком в коде хранятся деревья отстройки. Я правил первый.

А я первый не трогал вообще, т.к. там ничего сверхнужного особо и нет: оно там собирается на старте, но в игровом процессе наличие этих таблиц совсем не обязательно. Для добавления новых городов проще и удобнее всего использовать второй вариант: например Тифон в AfterWoG-е подменяет адресацию уже готовых загруженных содовских таблиц городов на собственные готовые таблицы, при этом что там грузиться из самого СоДа - уже совершенно наплевать: с Тифоном эти данные только грузятся, занимая содовскую память впустую. 148 Поэтому моды и скрипты, которые что-либо меняют в этих таблицах, всегда будут несовместимы. 148
XEPOMAHT, таблица, которую предложил feanor, оказалась именно тем, чем нужно - здания на экране работают одновременно. Единственное, при постройке орды жилище все-таки разрушается, но его можно вернуть вручную 96-copy Впрочем, я все же попробую найти более цивилизованный путь.
Hello, here I come again! Is there a way to unlock the 5th misc slot for RoE campaign?
Archer30, Как вариант - перегнать все экспортированные карты кампаний в формат SoD/WoG.
Grossmaster, thanks. That's the last thing I want to try Rolleyes
Well, looks like it can be resolved by changing the type of map (credit: Hawaiing)
Not sure if there is any side effect though.
Nice solution. Maybe maps conversion should be done one day too.
Archer30, probably assembling of the artifacts, which was unavailable before, and key tents/guards mechanics changed. Just supposed
daemon_n, when you play RoE/AB campaigns, the type of map (the value of y11) is 0 and 1 .
But when you play the same campaign from custom campaign/maps, the type is changed to 2, and you get access to the 5th misc slot/combi arts.

For this behaviour, I believe it's quite safe to change the value to unlock everything
Archer30, and then you get all i described above.
daemon_n, those all supposed to be bonus, nothing to do with side effect in my dictionary 102
Хочу чтобы меч брался в обе руки.
Из хелпа !!UN:A#/2/16671 Любая рука - не работает: ставиться в слот левого кольца.
В текстовике artraits.txt ставлю крестики на обе руки - не помогает.
А так хочется крошить врагов в капусту двумя руками Budo
SergOz, в справке опечатка
16771 - любая рука
Reference URL's