Current time: 22.11.2024, 08:05 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Исследование героев
» туториал(ы)
Author Message
MOP Offline
Moderators

Posts: 1468
Post: #436

(22.02.2012 17:38)totkotoriy Wrote:  И еще хотел спросить что за адрес 6992D0 в этой команде mov eax,DWORD PTR DS:[0X6992D0]? Он для другого хука будет такой же?
heroWindowManager.
Для каждого хука свой затираемый этим хуком код.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
22.02.2012 19:30
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #437

era.h, которую точно принимает MSVC++ 9.0 прилагается к тому, что я делал выше.

totkotoriy, если ты не осилил плагин, которыя я для тебя переписал, вот упрощённый и чуть более плотно прокомментированный вариант. Тут создаётся триггер, в него передаются и из него принимаются параметры !!SN:X. Разумеется, тут ничего особенного не происходит, но триггер вызывается.
Это код на MSVC++ 9.0, по идее должен компилироваться, если положить рядом era.h, расширение плагина для работоспособности нужно изменять на "era" после компиляции.
22.02.2012 21:48
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #438

//DisableThreadLibraryCalls(hInst);
Автоматом вызывается для *.era модулей.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
22.02.2012 22:22
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #439

Да, я отстал от жизни, и SDK у меня там для 1.9. Sm Ну, впрочем это непринципиально, старое, по крайней мере, то, что я использовал, не менялось.
22.02.2012 22:39
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #440

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

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

Кстати, имена людей коверкать нехорошо Moral
22.02.2012 23:14
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #441

(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), который затирается хуком?


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 23.02.2012 14:23 by totkotoriy.)
23.02.2012 13:37
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #442

totkotoriy Wrote:Может ещё обясните как вычесляется адрес (например 0X6992D0), который затирается хуком?
Эм, смотрится в дизассемблере, что находится по адресу, куда будет ставиться хук и дописывается в начало или конец кода хука.
23.02.2012 14:27
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #443

Кто-нибудь может дать описание всем полям из cranim.txt или хотя бы некоторым (кроме x-смещения прямоугольника с количеством существ, периода между проигрываниями анимации кривляния и периода анимации движения)? В принципе я и сам разберусь, но если кто это уже сделал, не хотелось бы зря тратить время.
04.03.2012 12:37
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #444

(10.02.2012 18:26)MOP Wrote:  Уже несколько человек спрашивало…
Code:
; Обновить экран встречи героев
!!UN:C6962576/4/?y1; [6A3D90h] - swapManager
!!SN:E5957888/2/y1;
Не помню, но артефакты в слотах, вроде, обновляются отдельно.
А может подскажите тогда ещё как обновлять отряды у героев в экране встречи? А то почему-то они таки не обновляются 33...


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 06.03.2012 23:54 by totkotoriy.)
06.03.2012 23:51
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #445

Раз никто не знает насчёт cranim.txt, вот я разобрал структуру, к которой это сводится в игре:


Такие структуры хранятся для каждого существа по адресу, записанному в 0x67FF74, а так же входят в структуру стеков в бою по смещению 110h.
(This post was last modified: 29.03.2012 15:45 by Sav.)
09.03.2012 21:29
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #446

Ценное исследование, спасибо!


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
09.03.2012 21:30
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #447

В оконном режиме без ХД:
1) Нажать на усыпить героя.
2) Свернуть окно мышкой
3) Развернуть
4) Панель ресурсов и статистики героя пустая - неперерисованнная.

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


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
20.03.2012 15:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #448

Домик вместо кнопки "усыпить".


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
20.03.2012 15:21
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #449

Структура стрелковой башни в бою.

Хранится в виде 3-элементного массива структур в структуре BattleMgr (*(0x699420)) по смещению 81272. Индекс башни в массиве определяется dword`ом по +38h в структуре её стека (для остальных стеков это поле - позиция на поле боя). 254 - индекс 0, 251 - индекс 1, 255 - индекс 2.
20.03.2012 16:24
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #450

Quote:254 - индекс 0, 251 - индекс 1, 255 - индекс 2.
Угу, где-то писал об этом. Тоже хак.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
20.03.2012 16:30
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