IPB

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

29 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Мод на ХотА
DedMorozzz
сообщение 21 Nov 2016, 23:15
Сообщение #21

God
Сообщений: 267
Спасибо сказали: 25 раз




Цитата(hippocamus @ 20 Nov 2016, 20:19) *
Цитата(DedMorozzz @ 20 Nov 2016, 20:20) *
PS: перепроверил, логистика/атака/интеллект стали по 2% за левел. Я так понимаю все спеки стали по 2% считаться. Или ещё что-то мог зацепить?
Вот именно.
Тебе же говорят - нельзя просто менять это значение, потому что оно во многих местах используется.
Возьми адрес, по которому лежит 0.2 (63AC60) - и его (адрес, а не 0.2) пропиши в тех местах, где был адрес 63EAE4, указывающий на 0.5, а ты хочешь сделать 0.2.


Я вроде понял что требуется. Но не до конца
число 0,02 (0A D7 A3 3C) лежит по адресу 0023AC60, в значениях от 00 до 03. Необходимо перенаправить на нулевой байт. Т.е. откуда начинается, т.е. на 0023AC60
Так же надо найти все варианты где вызывается "63EAE4". И методом проб смотреть. Заменилась ли логистика/защита/нападения. Если заменилось - угадал
Но и тут не ясно как мне найти "63EAE4". Не 1 редактор не ищет это. Не 010 Editor, не HxD. Пишет не найдено. Хоть с пробелами, хоть без.. Пробовал и 23EAE4 вместо 63EAE4

Цитата(feanor @ 20 Nov 2016, 21:34) *
Цитата
потому что из 0AD7A33C я 0.02 не получаю ...

0AD7A33C => 0x3CA3D70A => 0.02 float

ага! Вот недостающего звена и не хватало...
К примеру перевёл 0.012. Перевёл в 0x3C449BA6 а каким образом ещё раз перевести. Это ж уже и так 16и ричный.
Отняв 400000 получу 3C049BA6. Так что явно не в этом дело, ибо пример выше так не работает.
Соотв вопрос - как из 0AD7A33C получить 0x3CA3D70A ?
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 22 Nov 2016, 08:34
Сообщение #22

Immortal
Сообщений: 589
Спасибо сказали: 891 раз




Цитата(DedMorozzz @ 21 Nov 2016, 23:15) *
Я вроде понял что требуется. Но не до конца
число 0,02 (0A D7 A3 3C) лежит по адресу 0023AC60, в значениях от 00 до 03. Необходимо перенаправить на нулевой байт. Т.е. откуда начинается, т.е. на 0023AC60
Так же надо найти все варианты где вызывается "63EAE4". И методом проб смотреть. Заменилась ли логистика/защита/нападения. Если заменилось - угадал
Но и тут не ясно как мне найти "63EAE4". Не 1 редактор не ищет это. Не 010 Editor, не HxD. Пишет не найдено. Хоть с пробелами, хоть без.. Пробовал и 23EAE4 вместо 63EAE4

Конечно ты не можешь его найти. В Hex системе значения лежат в перевернутом виде. Т.е нужно искать не значение 0063EAE4, а E4EA6300.
Но это слишком черное шаманство. Проще ознакомиться с феаноровской базой IDA и с помощью патчера и dll внести эти изменения.


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 22 Nov 2016, 09:24
Сообщение #23

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20604 раза




Цитата
Но и тут не ясно как мне найти "63EAE4". Не 1 редактор не ищет это. Не 010 Editor, не HxD. Пишет не найдено. Хоть с пробелами, хоть без.. Пробовал и 23EAE4 вместо 63EAE4

Все-таки лучше использовать отладчик, OllyDbg.
Там есть замечательная функция, "Find reference".
Ну и вообще оно нагляднее получается, рантайм-редактирование, нормальные адреса и "copy to executable", если надо.

Ну и да, скорее всего просто искать надо опять же перевернутое значение, E4EA6300
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 22 Nov 2016, 09:35
Сообщение #24

😸🧡✊✌️
Сообщений: 16 478
Спасибо сказали: 3376 раз




Не значение, а последовательность байтов.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 22 Nov 2016, 14:37
Сообщение #25

допустим, мяў
Сообщений: 24 122
Спасибо сказали: 13434 раза




Но если в экзешнике - то 6 на 2 менять.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 22 Nov 2016, 15:30
Сообщение #26

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20604 раза




Цитата
Но если в экзешнике - то 6 на 2 менять.
С какой радости-то?
Вы щас тут запутаете человека вконец, демагоги.
Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 23 Nov 2016, 01:29 (Сообщение отредактировал DedMorozzz - 23 Nov 2016, 01:30)
Сообщение #27

God
Сообщений: 267
Спасибо сказали: 25 раз




Фууух, всем спасибо, сделал!
Получилось следующее, что выяснил. 5% для специализации для следующих навыков находятся:
0E20E0 - интеллект
0E4560 - нападение
0E45C0 - защита
0E4F10 - логистика

Написал в какой строке начинается значение.
В этих строках надо искать значение "E4EA6300"

Теперь следующий вопрос... где искать округление замедления? Что бы изменить в меньшую сторону
Или проще момент - где зависимости для построек хранятся?
Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 23 Nov 2016, 14:20 (Сообщение отредактировал DedMorozzz - 23 Nov 2016, 14:24)
Сообщение #28

God
Сообщений: 267
Спасибо сказали: 25 раз




Или же тоже важный момент. Как и где изменить не одно значение, а массив значение. Как к примеру для мистицизма:
Цитата
004E41C8: указатель на массив интов (63E9C8), хранящий значения регена маны по уровням мистицизма (1-2-3-4).

Как массив чисел преобразовывается в хекс?

К примеру, правильно ли посчитал для 0-5-10-15 -> 00050a0f
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 23 Nov 2016, 14:54
Сообщение #29

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20604 раза




там четырехбайтные значения
00000000 05000000 0A000000 0F000000

ой, и на самом деле
01000000 06000000 0B000000 10000000
если ты не хочешь сделать невосполнение маны без мистицизма в принципе


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 23 Nov 2016, 15:40
Сообщение #30

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Не, только первое значение единицей, остальным-то уровням её прибавлять зачем...


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 23 Nov 2016, 15:54
Сообщение #31

God
Сообщений: 267
Спасибо сказали: 25 раз




ага, понял! Ещё раз спасибо smile.gif Дома буду поищу, перепроверю что да как. ну а без навыка, да, нужна еденица

а по постройкам есть идеи где поискать или что погуглить?
Что бы быть более конкретным. Хочу для дьяволов сделать требуемые постройки - ГМ1, ифриты, демоны (не помню, требуют ли ифриты их, если не требуют то ГМ2 на замену...)
Замок - ГМ3 для ангелов. И гм4 для архангелов
Насколько это реально?
Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 23 Nov 2016, 22:25
Сообщение #32

God
Сообщений: 267
Спасибо сказали: 25 раз




Не пойму как создать свой массив значений... нашел в редакторе штук 20 рядов с одними нулями
В один из рядов, по адрессу 23E8F0 (63E8F0) записал массив данных. В обычном (пробовал и в перевёрнутом) виде. Писал следующее:
1. 07000000 14000000 1E000000 23000000
2. 00000007 00000014 0000001E 00000023

по адрессу 0E41C8 заменил значение на F0E86300. Восстановление манны стало 0
Причём если менять значения куда сразу смотрит - тогда всё ок. Как всё же убедить смотреть в другое место?
И можно ли нули было заполнять значениями?
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 23 Nov 2016, 22:41 (Сообщение отредактировал igrik - 23 Nov 2016, 22:48)
Сообщение #33

Immortal
Сообщений: 589
Спасибо сказали: 891 раз




Ты играешь HD модом?
И ты выбрал не правильное место (0x63E8F0) для записи своего массива.
Цитата
6. ифриты что бы не игнорили сферу и не били щитом чёрных/золотных драконов. Или юнитов под иммуном к магии

Выдать им флаг 16384 иммунитет к заклинаниям огня


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 23 Nov 2016, 22:44
Сообщение #34

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20604 раза




в случае мистицизма создавать не надо, можно править прямо исходные данные

он только для мистицизма и используется


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 23 Nov 2016, 23:12
Сообщение #35

God
Сообщений: 267
Спасибо сказали: 25 раз




Цитата(igrik @ 23 Nov 2016, 21:41) *
Ты играешь HD модом?
И ты выбрал не правильное место (0x63E8F0) для записи своего массива.
Цитата
6. ифриты что бы не игнорили сферу и не били щитом чёрных/золотных драконов. Или юнитов под иммуном к магии

Выдать им флаг 16384 иммунитет к заклинаниям огня

Да, HD. А чего не правильное?
И по ифритам я так понял, что им дать бафф такой (иммун к огню)?
Если да, то задача несколько другая (но из всего списка самая не значительная в плане игрового процесса):
сейчас нападая на ифритов (султанов естессно) обладая сферой. Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней

Цитата(feanor @ 23 Nov 2016, 21:44) *
в случае мистицизма создавать не надо, можно править прямо исходные данные

он только для мистицизма и используется

ага, понял. Заменю значит там. Ну а в целом можно те нули заменять значениями и на них ссылаться?
Go to the top of the pageAdd Nick
 
+Quote Post
XEPOMAHT
сообщение 24 Nov 2016, 07:51
Сообщение #36

---------------------- New_Life_of_Heroes ----------------------
Сообщений: 274
Спасибо сказали: 400 раз




Цитата(DedMorozzz @ 23 Nov 2016, 23:12) *
Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней


Это не магия, а способность монстра, так же как яд, старение и т.д. Просто реализовано через жо магию. По правилам игры антимагия не действует на способности монстров (способность Огненный Щит учитывает только флаг "иммунитет к огню").


--------------------
WoG + MoP + HoA + Forge + Bastion = ERA+
Go to the top of the pageAdd Nick
 
+Quote Post
DedMorozzz
сообщение 24 Nov 2016, 13:08
Сообщение #37

God
Сообщений: 267
Спасибо сказали: 25 раз




Цитата(XEPOMAHT @ 24 Nov 2016, 06:51) *
Цитата(DedMorozzz @ 23 Nov 2016, 23:12) *
Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней


Это не магия, а способность монстра, так же как яд, старение и т.д. Просто реализовано через жо магию. По правилам игры антимагия не действует на способности монстров (способность Огненный Щит учитывает только флаг "иммунитет к огню").


Тогда в механике стало больше не очевидностей)
Сфера запрещает всю магию. И когда одета сфера, яды, старения и смертельные взгляды не работают... соотв я думал что это всё магия
Но получается сфера отключает магию и некоторые способности. Оставля всякие двойные выстрелы и урон на 2 клетки...
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 24 Nov 2016, 17:28
Сообщение #38

допустим, мяў
Сообщений: 24 122
Спасибо сказали: 13434 раза




Цитата(DedMorozzz @ 23 Nov 2016, 15:54) *
Замок - ГМ3 для ангелов. И гм4 для архангелов
Насколько это реально?
Где-то далеко и когда-то давно, лет 10 назад, была одна программа, написанная форумчанином по имени Irh для мода под названием REKVIZIT - редактор зависимости зданий в экзешнике. Не знаю, реально ли её ещё найти, и работает ли она для СОД (и ХотЫ соответственно). Думается, должна работать.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 24 Nov 2016, 17:46
Сообщение #39

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20604 раза




Цитата
Что бы быть более конкретным. Хочу для дьяволов сделать требуемые постройки - ГМ1, ифриты, демоны (не помню, требуют ли ифриты их, если не требуют то ГМ2 на замену...)
Замок - ГМ3 для ангелов. И гм4 для архангелов
Насколько это реально?
Реально, попозже посмотрю.
Там, правда, структура не особенно предназначена для редактирования в самом экзешнике.
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 25 Nov 2016, 08:41 (Сообщение отредактировал igrik - 25 Nov 2016, 12:11)
Сообщение #40

Immortal
Сообщений: 589
Спасибо сказали: 891 раз




Цитата
Что бы быть более конкретным. Хочу для дьяволов сделать требуемые постройки - ГМ1, ифриты, демоны (не помню, требуют ли ифриты их, если не требуют то ГМ2 на замену...)
Замок - ГМ3 для ангелов. И гм4 для архангелов
Насколько это реально?

Реально, но не совсем ясна формулировка, а в следствии и что точно нужно про Дьяволов.
Код
Patcher* _P;
PatcherInstance* _PI;

// Замок
int BuildDepends_Castle[] =
{
0,                              -1,
1, 0,                           -1,
2, 1,                           -1,
3, 2,                           -1,
6,                              -1,
5,                              -1,
22, 5,                          -1,
14,                             -1,
15, 14,                         -1,
16,                             -1,
17, 6,                          -1,
7,                              -1,
8, 7,                           -1,
9, 8,                           -1,
11, 5,                          -1,
12, 11, 16, 0, 14,              -1,
13, 12, 9,                      -1,
30, 7,                          -1,
37, 30,                         -1,
31, 30,                         -1,
38, 31,                         -1,
33, 30, 16,                     -1,
40, 33,                         -1,
32, 33,                         -1,
18, 32,                         -1,
39, 32,                         -1,
19, 39,                         -1,
21, 33,                         -1,
35, 21,                         -1,
42, 35,                         -1,
34, 33, 0,                      -1,
41, 34,                         -1,
36, 34, 2,                      -1, // Ангелы требуют еще и ГМ3
43, 36, 3,                      -1, // Архангелы требуют еще и ГМ4
26,                             -1,
-100
};

// Инферно  
int BuildDepends_Inferno[] =
{
7,                              -1,
21, 7,                          -1,
8, 7,                           -1,
22, 8,                          -1,
9, 8,                           -1,
5,                              -1,
16,                             -1,
14,                             -1,
15, 14,                         -1,
0,                              -1,
23, 0,                          -1,
1, 0,                           -1,
2, 1,                           -1,
3, 2,                           -1,
4, 3,                           -1,
11, 5,                          -1,
12, 11, 16, 14, 0,              -1,
13, 12, 9,                      -1,
30, 7,                          -1,
18, 30,                         -1,
37, 30,                         -1,
19, 37,                         -1,
32, 30,                         -1,
24, 32,                         -1,
39, 32,                         -1,
25, 39,                         -1,
31, 30,                         -1,
38, 31,                         -1,
33, 31,                         -1,
40, 33,                         -1,
35, 33, 0,                      -1,
42, 35,                         -1,
34, 33,                         -1,
41, 34, 0,                      -1, // ул. провал требует ГМ1 взамен ГМ2 (согласно описаниям HotA)
36, 34, 5,                      -1,
43, 36,                         -1,
26,                             -1,
-100
};


BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    static _bool_ plugin_On = 0;
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        if (!plugin_On)
        {
            plugin_On = 1;        

            _P = GetPatcher();
            _PI = _P->CreateInstance("HD.Plugin.DedMorozzz");

            *(int*)0x4EB816 = (int)BuildDepends_Castle;
            *(int*)0x4EBA39 = (int)BuildDepends_Inferno;

        }
        break;

    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}


Кстати, тут народ тоже пытается редактировать hota.exe


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

29 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 13 November 2025 - 15:41
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика