Инженерный анализ, Reverse Engineering |
Здравствуйте, гость ( Вход | Регистрация )
Инженерный анализ, Reverse Engineering |
03 Feb 2010, 12:40
(Сообщение отредактировал Master Of Puppets - 07 Feb 2010, 08:17)
Сообщение
#21
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Заклинания, даваемые артефактами
По адресу mem004D95F2h находится указатель на case, содержащий 9 записей. По адресу mem004D95EBh находится указатель на таблицу однобайтных данных, определяющих работу оператора. Таблица вмещает 49 значений, начиная с арта-86 и заканчивая артом-135. Типы значений в таблице: 0 - дать все заклинания Огня 1 - дать все заклинания Воздуха 2 - дать все заклинания Воды 3 - дать все заклинания Земли 4 - дать заклинания "Вызвать Корабль" и "затопить Корабль" 5 - дать все заклинания 5-го уровня 6 - Дать "Армагеддон" 7 - Дать "Гром Титанов" 8 - ничего -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
04 Feb 2010, 19:24
(Сообщение отредактировал Дьяк - 04 Feb 2010, 19:09)
Сообщение
#22
|
|
Member Сообщений: 97 Спасибо сказали: 80 раз |
341 - не соглашусь. Никаких ограничений нет! Ты неправильно понял код.
Добавлено ([mergetime]1265300645[/mergetime]): Цитата(Master Of Puppets @ 03 Feb 2010, 12:40) По адресу mem004D95E0h можно задать кол-во данных в таблице. Не есть правильное утверждение |
|
|
05 Feb 2010, 13:30
Сообщение
#23
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Неважно, как я понял код. Всё равно ничего мне это не дало, так как расширять case я не умею, а все стандартные значения мне на фиг не нужны.
-------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
05 Feb 2010, 23:38
Сообщение
#24
|
|
Member Сообщений: 97 Спасибо сказали: 80 раз |
Я просто поправил информацию, что ты предоставил, чтобы не дезинформировать общественность.
|
|
|
07 Feb 2010, 08:18
(Сообщение отредактировал Master Of Puppets - 07 Feb 2010, 08:20)
Сообщение
#25
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Спасибо, поправил.
Тут тоже поправь меня, если ошибаюсь. Cнятие ограничений на показ диалога опыта армии: exe002B9F50h exe002BF76Bh exe002BFA89h - отвечает за показ диалога по улучшенному существу exe002BFB15h - отвечает за показ диалога в окне вражеского стека Есть ещё указатель на таблицу монстров со смещением, чтобы диалог нормально работал. Забыл, потом укажу. Снятие ограничений для ERM-команд: exe002F1410h - MA при попытке получить значение exe002EB4F8h - MA при попытке установить значение exe002CDCA9h - UN:T exe002CE326h - UN:G1 exe002CD4BDh - UN:A#/#/$. exe002AFECAh - UN:A#/$ Таблица запрета/доступности артефактов на карте находится по адресу mem0456E2FCh. Указатели, используемые ERM-командами Указатель, смещение от начала таблицы монстров, команда. mem7693397d 0 MA:O mem7693514d +4 MA:L mem7694533d +16 MA:X mem7550016d +20 UN:G1/0 mem7550069d +24 UN:G1/1 mem7550123d +28 UN:G1/2 mem7693689d +32 MA:C (все) mem7693743d +60 MA:F mem7693797d +64 MA:I mem7693851d +68 MA:G mem7693905d +72 MA:R mem7693959d +76 MA:P mem7694013d +80 MA:S mem7694099d +84 MA:A mem7694154d +88 MA:D mem7694209d +92 MA:M mem7694264d +96 MA:E mem7694319d +100 MA:N mem7694374d +104 MA:B mem7694429d +108 MA:V mem7694484d +112 MA:H mem7686722d - указатель на таблицу артефактов, отвечающий за работу вог-опции 902. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
10 Feb 2010, 22:44
(Сообщение отредактировал feanor - 10 Feb 2010, 23:02)
Сообщение
#26
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Код CPU Disasm 0040EF33 BE 02000000 MOV ESI,2 mem:40EF44h - номер выкапываемого артефакта (Era1.6.exe, по идее - должно везде работать). В тех же местах можно поставить хуки на попытки копать. Вытаскивайте ультимейты из двойки, господа |
|
|
26 Feb 2010, 10:56
Сообщение
#27
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Открытие окна героя:
!!SN:E5118576/1/x1/x2; x1 - номер героя x2 - закрытие диалога при отпускании мыши: 0 - нет, 1 - да. Case, управляющий кликами мыши на городских зданиях, находится по адресу 005D4EC0h, сразу за ним - таблица значений (005D4EF8h). Парочка примеров, использующих функции этого оператора: Вызов диалога Рынка: !!SN:E6202336/1; Возможен на глобальной карте, что полезнее, чем необходимость лезть всякий раз в экран города. Однако есть два мелких бага при таком использовании: 1. Если в экран города ни разу не заходили с запуска exe (не игры), будет вылет. Если же заходили, даже если рынка нет, диалог появится. При рестарте/запуске новой карты без перезапуска самой игры этого бага не будет. 2. Если у игрока нет ни одного Рынка, но он заходил в экран города, диалог выведется, но вылетит при попытке торговой операции. Второй баг закономерен, и Рынки лучше посчитать, прежде чем решить, открывать ли диалог. А вот насчёт первого надо покопать... Открытие диалога Торговцев Артефактами: !!SN:E6201632/1; Работает в любом городе, даже если здание 17 не построено. Если героя-гостя нет, выведется сообщение о запрете использования здания 17. При определённых условиях можно открыть и даже использовать на глобальной карте, но лучше не надо, да и незачем. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
27 Feb 2010, 04:37
Сообщение
#28
|
|
openhomm developer Сообщений: 214 Спасибо сказали: 39 раз |
Создали бы давно уже какую нибудь вики и наполняли бы ее потихоньку. Было бы полезно я думаю некоторым товарищам
-------------------- |
|
|
27 Feb 2010, 15:21
Сообщение
#29
|
|
Immortal Сообщений: 1 468 Спасибо сказали: 1151 раз |
Была вики. Посещение - 0, желание создавать и оформлять - 0. Так путь хоть на форуме.
-------------------- |
|
|
28 Feb 2010, 21:44
(Сообщение отредактировал feanor - 28 Feb 2010, 22:01)
Сообщение
#30
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Боевые машины, покупаемые в кузнях
6AAA60 - таблица боевых машин, покупаемых в Кузницах замков. на каждую машину отводится по 4 байта, потом 4 байта - FF FF FF FF (итого - 8 байт.) Боевая машина, покупаемая в Ballista Yard, совпадает с БМ Замка, увы. Added: 00642EA0 - таблица отображаемых в окне кузни существ. |
|
|
28 Feb 2010, 21:48
Сообщение
#31
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Боевая машина, покупаемая в Ballista Yard, совпадает с БМ Замка, увы. То есть, если Замку поставить телегу, то у варваров будет две? -------------------- |
|
|
28 Feb 2010, 21:59
(Сообщение отредактировал feanor - 28 Feb 2010, 22:01)
Сообщение
#32
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
00642EA0 - таблица отображаемых в окне кузни существ.
Цитата То есть, если Замку поставить телегу, то у варваров будет две? скорее варварам дадут купить БМ только в одном из строений, а в другом - всё, уже есть одна, не купить больше. |
|
|
28 Feb 2010, 22:12
Сообщение
#33
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Я имел в виду, что в Кузне телега и на Дворе Баллист тоже телега... а не две телеги у одного героя.
-------------------- |
|
|
07 Mar 2010, 11:07
Сообщение
#34
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Вызов Торгового Поста:
!!SN:E6202560/1; -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
18 Mar 2010, 21:17
Сообщение
#35
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
5A0649 - switch для боевых заклинаний. Вроде как и анимация, и действительные эффекты.
4963C0 - ф-я показа анимации на поле боя. (нативный аналог !!BM:V). Принимает четыре параметра в стеке (хз что там с регистрами, вроде честный stdcall): первый - номер анимации в таблице, второй - указатель на некую неочевидную структуру, третий и четвертый - 0x64 и 0 почти всегда. Через неё можно выйти на разные вещи типа срабатывания удачи (43F6F1), морали (464664 и 4648F0), страха (464В13) и тэпэ. |
|
|
21 Mar 2010, 07:47
Сообщение
#36
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
SUB_L004631E0 - функция, расставляющая существа (в частности, боевые машины) на поле боя. Проверка на наличие машин у героя, номера машин, их кол-во (которое, правда, в одном байте, но це можно исправить), позиция на поле боя - всё там.
-------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
25 Mar 2010, 19:38
Сообщение
#37
|
|
Immortal Сообщений: 1 231 Спасибо сказали: 604 раза |
То есть можно нормально поставть 10 балист и они будут мочить как 10 балист?
|
|
|
25 Mar 2010, 19:41
Сообщение
#38
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Цитата(laViper @ 25 Mar 2010, 19:38) То есть можно нормально поставть 10 балист и они будут мочить как 10 балист? "Поставить" - одна функция, а "мочить" - другая. Ты не путай и других не запутывай. -------------------- Etoprostopodpis'
|
|
|
25 Mar 2010, 19:51
(Сообщение отредактировал feanor - 25 Mar 2010, 19:54)
Сообщение
#39
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Структура заклинаний.
Указатель на таблицу заклинаний лежит в 687FA8. Адрес в нём динамический. Описание. struct { int null; //?? char *sound; //имя звука int anim_id; //SS:X??? int flags; //флаги char *name; //имя int level; int school; int mana_cost[4]; int param_1; int effects[4]; //SS:E int city_freq[9]; //вероятности появления в городах int ai_val[4]; //SS:I char *desc[4]; //описания } |
|
|
25 Mar 2010, 19:53
Сообщение
#40
|
|
Member Сообщений: 97 Спасибо сказали: 80 раз |
красава!!!!
|
|
|
Текстовая версия | Сейчас: 25 April 2024 - 20:18 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |