Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
21 Nov 2016, 23:15
Сообщение
#21
|
|
![]() God Сообщений: 267 Спасибо сказали: 25 раз |
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 Цитата потому что из 0AD7A33C я 0.02 не получаю ... 0AD7A33C => 0x3CA3D70A => 0.02 float ага! Вот недостающего звена и не хватало... К примеру перевёл 0.012. Перевёл в 0x3C449BA6 а каким образом ещё раз перевести. Это ж уже и так 16и ричный. Отняв 400000 получу 3C049BA6. Так что явно не в этом дело, ибо пример выше так не работает. Соотв вопрос - как из 0AD7A33C получить 0x3CA3D70A ? |
|
|
|
22 Nov 2016, 08:34
Сообщение
#22
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз |
Я вроде понял что требуется. Но не до конца число 0,02 (0A D7 A3 3C) лежит по адресу 0023AC60, в значениях от 00 до 03. Необходимо перенаправить на нулевой байт. Т.е. откуда начинается, т.е. на 0023AC60 Так же надо найти все варианты где вызывается "63EAE4". И методом проб смотреть. Заменилась ли логистика/защита/нападения. Если заменилось - угадал Но и тут не ясно как мне найти "63EAE4". Не 1 редактор не ищет это. Не 010 Editor, не HxD. Пишет не найдено. Хоть с пробелами, хоть без.. Пробовал и 23EAE4 вместо 63EAE4 Конечно ты не можешь его найти. В Hex системе значения лежат в перевернутом виде. Т.е нужно искать не значение 0063EAE4, а E4EA6300. Но это слишком черное шаманство. Проще ознакомиться с феаноровской базой IDA и с помощью патчера и dll внести эти изменения. -------------------- |
|
|
|
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 |
|
|
|
22 Nov 2016, 09:35
Сообщение
#24
|
|
![]() 😸🧡✊✌️ Сообщений: 16 478 Спасибо сказали: 3376 раз |
Не значение, а последовательность байтов.
-------------------- Я слежу за тобой!
tolic.narod.ru![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
|
22 Nov 2016, 14:37
Сообщение
#25
|
|
![]() допустим, мяў Сообщений: 24 122 Спасибо сказали: 13434 раза |
Но если в экзешнике - то 6 на 2 менять.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
22 Nov 2016, 15:30
Сообщение
#26
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20604 раза |
Цитата Но если в экзешнике - то 6 на 2 менять. С какой радости-то?Вы щас тут запутаете человека вконец, демагоги. |
|
|
|
23 Nov 2016, 01:29
(Сообщение отредактировал DedMorozzz - 23 Nov 2016, 01:30)
Сообщение
#27
|
|
![]() God Сообщений: 267 Спасибо сказали: 25 раз |
Фууух, всем спасибо, сделал!
Получилось следующее, что выяснил. 5% для специализации для следующих навыков находятся: 0E20E0 - интеллект 0E4560 - нападение 0E45C0 - защита 0E4F10 - логистика Написал в какой строке начинается значение. В этих строках надо искать значение "E4EA6300" Теперь следующий вопрос... где искать округление замедления? Что бы изменить в меньшую сторону Или проще момент - где зависимости для построек хранятся? |
|
|
|
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 |
|
|
|
23 Nov 2016, 14:54
Сообщение
#29
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20604 раза |
там четырехбайтные значения
00000000 05000000 0A000000 0F000000 ой, и на самом деле 01000000 06000000 0B000000 10000000 если ты не хочешь сделать невосполнение маны без мистицизма в принципе |
|
|
|
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 |
|
|
|
23 Nov 2016, 15:54
Сообщение
#31
|
|
![]() God Сообщений: 267 Спасибо сказали: 25 раз |
ага, понял! Ещё раз спасибо
а по постройкам есть идеи где поискать или что погуглить? Что бы быть более конкретным. Хочу для дьяволов сделать требуемые постройки - ГМ1, ифриты, демоны (не помню, требуют ли ифриты их, если не требуют то ГМ2 на замену...) Замок - ГМ3 для ангелов. И гм4 для архангелов Насколько это реально? |
|
|
|
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 Причём если менять значения куда сразу смотрит - тогда всё ок. Как всё же убедить смотреть в другое место? И можно ли нули было заполнять значениями? |
|
|
|
23 Nov 2016, 22:41
(Сообщение отредактировал igrik - 23 Nov 2016, 22:48)
Сообщение
#33
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз |
Ты играешь HD модом?
И ты выбрал не правильное место (0x63E8F0) для записи своего массива. Цитата 6. ифриты что бы не игнорили сферу и не били щитом чёрных/золотных драконов. Или юнитов под иммуном к магии Выдать им флаг 16384 иммунитет к заклинаниям огня -------------------- |
|
|
|
23 Nov 2016, 22:44
Сообщение
#34
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20604 раза |
в случае мистицизма создавать не надо, можно править прямо исходные данные
он только для мистицизма и используется |
|
|
|
23 Nov 2016, 23:12
Сообщение
#35
|
|
![]() God Сообщений: 267 Спасибо сказали: 25 раз |
Ты играешь HD модом? И ты выбрал не правильное место (0x63E8F0) для записи своего массива. Цитата 6. ифриты что бы не игнорили сферу и не били щитом чёрных/золотных драконов. Или юнитов под иммуном к магии Выдать им флаг 16384 иммунитет к заклинаниям огня Да, HD. А чего не правильное? И по ифритам я так понял, что им дать бафф такой (иммун к огню)? Если да, то задача несколько другая (но из всего списка самая не значительная в плане игрового процесса): сейчас нападая на ифритов (султанов естессно) обладая сферой. Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней в случае мистицизма создавать не надо, можно править прямо исходные данные он только для мистицизма и используется ага, понял. Заменю значит там. Ну а в целом можно те нули заменять значениями и на них ссылаться? |
|
|
|
24 Nov 2016, 07:51
Сообщение
#36
|
|
![]() ---------------------- New_Life_of_Heroes ---------------------- Сообщений: 274 Спасибо сказали: 400 раз |
Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней Это не магия, а способность монстра, так же как яд, старение и т.д. Просто реализовано через -------------------- WoG + MoP + HoA + Forge + Bastion = ERA+
|
|
|
|
24 Nov 2016, 13:08
Сообщение
#37
|
|
![]() God Сообщений: 267 Спасибо сказали: 25 раз |
Юниты всё равно получают урон от щита. То же самое с драконами. Атакуя чёрными драконами ифритов - всё равно получу урон от щита... хоть это и магия огня, а драконы иммуны к ней Это не магия, а способность монстра, так же как яд, старение и т.д. Просто реализовано через Тогда в механике стало больше не очевидностей) Сфера запрещает всю магию. И когда одета сфера, яды, старения и смертельные взгляды не работают... соотв я думал что это всё магия Но получается сфера отключает магию и некоторые способности. Оставля всякие двойные выстрелы и урон на 2 клетки... |
|
|
|
24 Nov 2016, 17:28
Сообщение
#38
|
|
![]() допустим, мяў Сообщений: 24 122 Спасибо сказали: 13434 раза |
Замок - ГМ3 для ангелов. И гм4 для архангелов Где-то далеко и когда-то давно, лет 10 назад, была одна программа, написанная форумчанином по имени Irh для мода под названием REKVIZIT - редактор зависимости зданий в экзешнике. Не знаю, реально ли её ещё найти, и работает ли она для СОД (и ХотЫ соответственно). Думается, должна работать.Насколько это реально? -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
24 Nov 2016, 17:46
Сообщение
#39
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20604 раза |
Цитата Что бы быть более конкретным. Хочу для дьяволов сделать требуемые постройки - ГМ1, ифриты, демоны (не помню, требуют ли ифриты их, если не требуют то ГМ2 на замену...) Реально, попозже посмотрю.Замок - ГМ3 для ангелов. И гм4 для архангелов Насколько это реально? Там, правда, структура не особенно предназначена для редактирования в самом экзешнике. |
|
|
|
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 -------------------- |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 13 November 2025 - 15:41 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|