Current time: 23.03.2024, 11:31 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Замена Сопряжения
» готовый туториал
Author Message
igrik Offline
Administrators

Posts: 2807
Post: #1
Лампочка 
Информация о проделанной работе:



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

Первоначальное сообщение:
igrik Wrote:Уважаемые, как всё-таки грохнуть "все заклинания" от грааля в Сопряжении? Нужно! Реально нужно, ибо делаю Причал взамен Сопряжения для себя и друзей для игры под пиво, потому что некоторые элементы в ХотА не устраивают, да и к опыту (без ЕА) невероятно привыкли.


game bug fixes extended.dll || My Plugins || My GitHub
13.12.2015 02:38
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #2

в Форджике - так
Code:
*(char*)0x5BE4F6 = 99;
*(char*)0x5CE81F = 99;
*(char*)0x5CE616 = 99;
*(char*)0x5D743E = 99;
был восьмой город, стал девяноста девятый.
14.12.2015 00:58
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #3

Спасибо! А то я нашел всего 2 адреса.


game bug fixes extended.dll || My Plugins || My GitHub
14.12.2015 01:43
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #4

Но, кстати, Конфлу оче грустно заменять.
Во-первых, проблема элементалей
Во-вторых, слишком много индексов зданий отдано под декор - муторно впиливать спецпостройки
14.12.2015 19:09
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #5

Другие замки мне по душе и трогать их я не захотел.
Quote:слишком много индексов зданий отдано под декор - муторно впиливать спецпостройки
Сейчас почти подошел к этому вопросу: начал двигать строения.
И вот вчера выросли 2 вопроса: как доп.прирост фей перевести в доп прирост матросов или ассид и как запилить фишку грааля Причала. Пока что ток думаю/ищу способы как это сделать. И одновременно пытаюсь разобраться в таблице координат мозаики грааля.

А в чем проблема элементалей? Гемороно - да, потому что не попорядку идут, а остальное не сложно: снял через патч их 2х урон. Через скрипт снял имунитеты (но потом через патч сделаю). Через патч снял ненависть к противоположным элементалям. Двелинги у них по 2, что тоже решается. Или я еще не знаю какого-то подводного камня?)). Хотя надеюсь что все нашел и переделал. Вообще все эти вопросы стараюсь максимально решать патчами. Больше проблем было с фениксом. Этот кизяк не хотел ни деф, ни озвучку менять. Пришлось опять же патчем его рубить
На данный момент: существа, двеллинги и герои сделаны (без пушки)
Очень вовремя нашел твои адреса по почвам))))
Вообще, если бы умел писать dll, возможно было бы проще. Но до этого еще далеко
Конечно, в итоге это все костыльный костыль, но так как я играю всего с 10 своими скриптами и вообще без других модов - то и такой сойдет. А совместимость с другими модами плавно, но уверено стемится к нулю


game bug fixes extended.dll || My Plugins || My GitHub
14.12.2015 19:32
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #6

Quote:Или я еще не знаю какого-то подводного камня?
Заклинания призыва.
14.12.2015 21:58
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #7

(14.12.2015 21:58)feanor Wrote:  
Quote:Или я еще не знаю какого-то подводного камня?
Заклинания призыва.
Замена на посланников более чем уместна.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
14.12.2015 23:49
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #8

Quote:Замена на посланников более чем уместна.
Sm Еще не добрался до призыва. У меня и были мысли использовать посланников. Решу через 4 хука и это
Ппц, одни патчи да хуки

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


game bug fixes extended.dll || My Plugins || My GitHub
15.12.2015 00:03
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #9

Quote:Это указатель на адрес возврата и не выполнять затертый код?
угу

Quote: как запилить фишку грааля Причала.
"63E510h – таблица процентных модификаторов затрат очков хода при передвижении по разным почвам."(с)MoP
(This post was last modified: 15.12.2015 00:37 by feanor.)
15.12.2015 00:35
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #10

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

Мдя, что то я дико оффтоплю


game bug fixes extended.dll || My Plugins || My GitHub
15.12.2015 02:04
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #11

А какой бонус-то у Грааля?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
15.12.2015 03:46
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #12

Конечно сделано "тупо/глупо", но этот бредокод "вызов посланников" работает. Сила вызова = колдовская сила героя
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 золотых, а также делает любую землю для существ Причала родной."


game bug fixes extended.dll || My Plugins || My GitHub
15.12.2015 04:37
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #13

igrik, ты бы выпилил весь текст по замене сопряжения на причал в отдельную тему... так удобнее, а потом можно было бы и саму базу знаний по коду собрать в один пост и сюда закинуть...
15.12.2015 12:29
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #14

Не могу, я модер только в скриптах.

Кому нужно, "Вызов посланников взамен элементалей" (вот dll). В архиве приложен скрипт ERM. Но он в для справки и его желательно удалить.
Присутсвующая dll по стандарту вызывает посланников. Но если нужны другие монстры в качестве вызываемых, то есть поддержка ERM.
Об этом - ниже:


game bug fixes extended.dll || My Plugins || My GitHub
15.12.2015 12:46
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 622
Post: #15

А кстати да, выделите тему, присоединюсь - мне тоже надо довыпилить Конфлу.
(This post was last modified: 15.12.2015 18:51 by feanor.)
15.12.2015 18:51
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group