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

Full Version: Исследование героев
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(22.02.2012 17:38)totkotoriy Wrote: [ -> ]И еще хотел спросить что за адрес 6992D0 в этой команде mov eax,DWORD PTR DS:[0X6992D0]? Он для другого хука будет такой же?
heroWindowManager.
Для каждого хука свой затираемый этим хуком код.
era.h, которую точно принимает MSVC++ 9.0 прилагается к тому, что я делал выше.

totkotoriy, если ты не осилил плагин, которыя я для тебя переписал, вот упрощённый и чуть более плотно прокомментированный вариант. Тут создаётся триггер, в него передаются и из него принимаются параметры !!SN:X. Разумеется, тут ничего особенного не происходит, но триггер вызывается.
Это код на MSVC++ 9.0, по идее должен компилироваться, если положить рядом era.h, расширение плагина для работоспособности нужно изменять на "era" после компиляции.
//DisableThreadLibraryCalls(hInst);
Автоматом вызывается для *.era модулей.
Да, я отстал от жизни, и SDK у меня там для 1.9. Sm Ну, впрочем это непринципиально, старое, по крайней мере, то, что я использовал, не менялось.
(22.02.2012 17:38)totkotoriy Wrote: [ -> ]Костян, и можешь еще прислать скомпилиный этот код? я скомпилил его чуть по другому (без era.h) и у меня все равно в игре вылетает(

Вот
Только работать будет лишь под Эрой, коль скоро функция оттуда вызывается.

Кстати, имена людей коверкать нехорошо Moral
(22.02.2012 21:48)Sav Wrote: [ -> ]totkotoriy, если ты не осилил плагин, которыя я для тебя переписал, вот упрощённый...
Попробуй тут осилить когда кто на чем пишет, а ты ни того не другого не знаешь... Спасибо, будем разбираться...

(22.02.2012 23:14)kostya_76 Wrote: [ -> ]
(22.02.2012 17:38)totkotoriy Wrote: [ -> ]Костян, и можешь еще прислать скомпилиный этот код? я скомпилил его чуть по другому (без era.h) и у меня все равно в игре вылетает(

Вот
Только работать будет лишь под Эрой, коль скоро функция оттуда вызывается.

Кстати, имена людей коверкать нехорошо Moral
По мне так Костян - это ещё уважительнее чем просто Костя...
Спасибо, всё работает, наверное я ещё и неправильно код на С++ в прошлый раз написал.
Может ещё обясните как вычесляется адрес (например 0X6992D0), который затирается хуком?
totkotoriy Wrote:Может ещё обясните как вычесляется адрес (например 0X6992D0), который затирается хуком?
Эм, смотрится в дизассемблере, что находится по адресу, куда будет ставиться хук и дописывается в начало или конец кода хука.
Кто-нибудь может дать описание всем полям из cranim.txt или хотя бы некоторым (кроме x-смещения прямоугольника с количеством существ, периода между проигрываниями анимации кривляния и периода анимации движения)? В принципе я и сам разберусь, но если кто это уже сделал, не хотелось бы зря тратить время.
(10.02.2012 18:26)MOP Wrote: [ -> ]Уже несколько человек спрашивало…
Code:
; Обновить экран встречи героев
!!UN:C6962576/4/?y1; [6A3D90h] - swapManager
!!SN:E5957888/2/y1;
Не помню, но артефакты в слотах, вроде, обновляются отдельно.
А может подскажите тогда ещё как обновлять отряды у героев в экране встречи? А то почему-то они таки не обновляются 33...
Раз никто не знает насчёт cranim.txt, вот я разобрал структуру, к которой это сводится в игре:


Такие структуры хранятся для каждого существа по адресу, записанному в 0x67FF74, а так же входят в структуру стеков в бою по смещению 110h.
Ценное исследование, спасибо!
В оконном режиме без ХД:
1) Нажать на усыпить героя.
2) Свернуть окно мышкой
3) Развернуть
4) Панель ресурсов и статистики героя пустая - неперерисованнная.

Правый щелчок на карте приключений красит кнопку усыпления в зелёный цвет и правильно обновляет экран.
Домик вместо кнопки "усыпить".
Структура стрелковой башни в бою.

Хранится в виде 3-элементного массива структур в структуре BattleMgr (*(0x699420)) по смещению 81272. Индекс башни в массиве определяется dword`ом по +38h в структуре её стека (для остальных стеков это поле - позиция на поле боя). 254 - индекс 0, 251 - индекс 1, 255 - индекс 2.
Quote:254 - индекс 0, 251 - индекс 1, 255 - индекс 2.
Угу, где-то писал об этом. Тоже хак.
Reference URL's