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

Full Version: Замена Сопряжения
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6
Информация о проделанной работе:



Скрины (Click to View)
=================================================

Первоначальное сообщение:
igrik Wrote:Уважаемые, как всё-таки грохнуть "все заклинания" от грааля в Сопряжении? Нужно! Реально нужно, ибо делаю Причал взамен Сопряжения для себя и друзей для игры под пиво, потому что некоторые элементы в ХотА не устраивают, да и к опыту (без ЕА) невероятно привыкли.
в Форджике - так
Code:
*(char*)0x5BE4F6 = 99;
*(char*)0x5CE81F = 99;
*(char*)0x5CE616 = 99;
*(char*)0x5D743E = 99;
был восьмой город, стал девяноста девятый.
Спасибо! А то я нашел всего 2 адреса.
Но, кстати, Конфлу оче грустно заменять.
Во-первых, проблема элементалей
Во-вторых, слишком много индексов зданий отдано под декор - муторно впиливать спецпостройки
Другие замки мне по душе и трогать их я не захотел.
Quote:слишком много индексов зданий отдано под декор - муторно впиливать спецпостройки
Сейчас почти подошел к этому вопросу: начал двигать строения.
И вот вчера выросли 2 вопроса: как доп.прирост фей перевести в доп прирост матросов или ассид и как запилить фишку грааля Причала. Пока что ток думаю/ищу способы как это сделать. И одновременно пытаюсь разобраться в таблице координат мозаики грааля.

А в чем проблема элементалей? Гемороно - да, потому что не попорядку идут, а остальное не сложно: снял через патч их 2х урон. Через скрипт снял имунитеты (но потом через патч сделаю). Через патч снял ненависть к противоположным элементалям. Двелинги у них по 2, что тоже решается. Или я еще не знаю какого-то подводного камня?)). Хотя надеюсь что все нашел и переделал. Вообще все эти вопросы стараюсь максимально решать патчами. Больше проблем было с фениксом. Этот кизяк не хотел ни деф, ни озвучку менять. Пришлось опять же патчем его рубить
На данный момент: существа, двеллинги и герои сделаны (без пушки)
Очень вовремя нашел твои адреса по почвам))))
Вообще, если бы умел писать dll, возможно было бы проще. Но до этого еще далеко
Конечно, в итоге это все костыльный костыль, но так как я играю всего с 10 своими скриптами и вообще без других модов - то и такой сойдет. А совместимость с другими модами плавно, но уверено стемится к нулю
Quote:Или я еще не знаю какого-то подводного камня?
Заклинания призыва.
(14.12.2015 21:58)feanor Wrote: [ -> ]
Quote:Или я еще не знаю какого-то подводного камня?
Заклинания призыва.
Замена на посланников более чем уместна.
Quote:Замена на посланников более чем уместна.
Sm Еще не добрался до призыва. У меня и были мысли использовать посланников. Решу через 4 хука и это
Ппц, одни патчи да хуки

Code:
c->return_address = 0x446DF1;
        }
    }
    return NO_EXEC_DEFAULT
Это указатель на адрес возврата и не выполнять затертый код?
Quote:Это указатель на адрес возврата и не выполнять затертый код?
угу

Quote: как запилить фишку грааля Причала.
"63E510h – таблица процентных модификаторов затрат очков хода при передвижении по разным почвам."(с)MoP
Заманчиво, но через поиск пути думаю немного не то будет, ведь есть еще доп.плюшки в бою. Попробую поиграться с этим через !!UN:C
Code:
;Units' native terrains
006436C8 04; болото (04) для Сопряжения
Проверил в Хоте (хоть и на 100% не уверен), что "родная земля от грааля" начисляется и нейтралам Причала, и существам в армии противника, а значит изменение этого адреса наиболее приемлемый способ.
Следовательно алгоритм будет примерно такой:
- переменная о наличии хотя бы одного отстроенного грааля в Причале
- !?HM/!?ВА52&v[GrCOV] (вроде все нужные триггеры): в них узнать тип почвы под ногами и записать данный тип почвы в 0х006436C8
- при старте карты/сохранении вернуть "006436C8 04"

Мдя, что то я дико оффтоплю
А какой бонус-то у Грааля?
Конечно сделано "тупо/глупо", но этот бредокод "вызов посланников" работает. Сила вызова = колдовская сила героя
Code:
#include <windows.h>
#include <stdio.h>
#include "..\..\include\era.h"
#include "..\..\include\patcher_x86_commented.hpp"


Patcher * globalPatcher;
PatcherInstance *patcher;


int __stdcall YSumm66(LoHook* h, HookContext* c)
{
    ExecErmCmd("BG:H?y2;");
    ExecErmCmd("HEy2:Fd/d/?y3/d S14/?y4;");
    ExecErmCmd("UN:C6919200/4/?y1;");
    ExecErmCmd("SN:E5927824/2/y1/66/164/y3/y4;");
    //FireErmEvent(790010);
    c->return_address = 0x5A2368;
    return NO_EXEC_DEFAULT;
}

int __stdcall YSumm67(LoHook* h, HookContext* c)
{
    ExecErmCmd("BG:H?y2;");
    ExecErmCmd("HEy2:Fd/d/?y3/d S17/?y4;");
    ExecErmCmd("UN:C6919200/4/?y1;");
    ExecErmCmd("SN:E5927824/2/y1/67/165/y3/y4;");
    //FireErmEvent(790010);
    c->return_address = 0x5A2368;
    return NO_EXEC_DEFAULT;
}
int __stdcall YSumm68(LoHook* h, HookContext* c)
{
    ExecErmCmd("BG:H?y2;");
    ExecErmCmd("HEy2:Fd/d/?y3/d S16/?y4;");
    ExecErmCmd("UN:C6919200/4/?y1;");
    ExecErmCmd("SN:E5927824/2/y1/68/167/y3/y4;");
    //FireErmEvent(790010);
    c->return_address = 0x5A2368;
    return NO_EXEC_DEFAULT;
}
int __stdcall YSumm69(LoHook* h, HookContext* c)
{
    ExecErmCmd("BG:H?y2;");
    ExecErmCmd("HEy2:Fd/d/?y3/d S15/?y4;");
    ExecErmCmd("UN:C6919200/4/?y1;");
    ExecErmCmd("SN:E5927824/2/y1/69/166/y3/y4;");
    //FireErmEvent(790010);
    c->return_address = 0x5A2368;
    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();
        patcher =  globalPatcher->CreateInstance("Summon_dll");

        ConnectEra();

        patcher->WriteLoHook(0x5A203F, (void*)YSumm66);
        patcher->WriteLoHook(0x5A2054, (void*)YSumm67);
        patcher->WriteLoHook(0x5A2069, (void*)YSumm68);
        patcher->WriteLoHook(0x5A207E, (void*)YSumm69);
        *(char*)0x59F887 = 235;
        *(char*)0x5A96D0 = 235;

    }
    return TRUE;
}
(15.12.2015 03:46)gamecreator Wrote: [ -> ]А какой бонус-то у Грааля?
"Присутствие Путеводной Звезды увеличивает число воспроизводимых существ на 50% в неделю, ежедневно приносит королевству по 5000 золотых, а также делает любую землю для существ Причала родной."
igrik, ты бы выпилил весь текст по замене сопряжения на причал в отдельную тему... так удобнее, а потом можно было бы и саму базу знаний по коду собрать в один пост и сюда закинуть...
Не могу, я модер только в скриптах.

Кому нужно, "Вызов посланников взамен элементалей" (вот dll). В архиве приложен скрипт ERM. Но он в для справки и его желательно удалить.
Присутсвующая dll по стандарту вызывает посланников. Но если нужны другие монстры в качестве вызываемых, то есть поддержка ERM.
Об этом - ниже:
А кстати да, выделите тему, присоединюсь - мне тоже надо довыпилить Конфлу.
Pages: 1 2 3 4 5 6
Reference URL's