Current time: 25.11.2024, 18:46 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 873
Post: #421

Может у кого есть рабочий код на с++ какого-либо хука, который затем передает управление ERM триггеру?


Ты роешься в моих паках, но ты делаешь это без уважения...
19.02.2012 13:00
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #422

так в Эре вроде есть функция, выполняющая ерм. вот с помощью нее и вызвать триггер.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
19.02.2012 13:22
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #423

(19.02.2012 13:22)gamecreator Wrote:  так в Эре вроде есть функция, выполняющая ерм. вот с помощью нее и вызвать триггер.
Как?


Ты роешься в моих паках, но ты делаешь это без уважения...
19.02.2012 13:24
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #424

ExecErmCmd ("FUxxxx:P;");
(This post was last modified: 19.02.2012 13:27 by Sav.)
19.02.2012 13:27
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #425

(19.02.2012 13:27)Sav Wrote:  ExecErmCmd ("FUxxxx:P;");
Дык можете рабочий пример написать? А то я так долго мучатся буду. Что эта функция делает? Вызывает хук и запускает по нему триггер?


Ты роешься в моих паках, но ты делаешь это без уважения...
19.02.2012 14:01
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #426

функция выполняет ЕРМ-код. рабочий пример:
ExecErmCmd ("FU12345:P;");
выполнит ЕРМ-код !!FU12345:P;


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
19.02.2012 14:26
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #427



When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
19.02.2012 14:36
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #428

(19.02.2012 14:26)gamecreator Wrote:  функция выполняет ЕРМ-код. рабочий пример:
ExecErmCmd ("FU12345:P;");
выполнит ЕРМ-код !!FU12345:P;
А где взять era.cpp тогда? И надо ли восстанавливать данные затертого хука?


Ты роешься в моих паках, но ты делаешь это без уважения...
19.02.2012 14:43
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #429

причем тут era.cpp? причем тут хук? это не хук вообще, это блокирующая функция, которая выполняет команду ерм


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
19.02.2012 14:58
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #430

totkotoriy, не пойму, что тебе нужно. Я создавал триггер на паскале, но основная часть там - ассемблер, поэтому я могу без особых затрат времени перевести его на c++ и показать тебе код. Нужно?
(This post was last modified: 19.02.2012 14:59 by Sav.)
19.02.2012 14:59
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #431

(19.02.2012 14:59)Sav Wrote:  totkotoriy, не пойму, что тебе нужно. Я создавал триггер на паскале, но основная часть там - ассемблер, поэтому я могу без особых затрат времени перевести его на c++ и показать тебе код. Нужно?
Да, я про это и говорю. Код хука на С++ я уже написал, мне нужен теперь рабочий код на ассемблере для вызова триггера в ERM.


Ты роешься в моих паках, но ты делаешь это без уважения...
19.02.2012 15:51
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #432

что и откуда ты вообще хочешь вызвать?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
19.02.2012 16:21
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #433

totkotoriy, смотри там: http://wforum.heroes35.net/showthread.php?tid=2587
19.02.2012 18:45
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #434

(19.02.2012 15:51)totkotoriy Wrote:  Да, я про это и говорю. Код хука на С++ я уже написал, мне нужен теперь рабочий код на ассемблере для вызова триггера в ERM.

Я ж тебе показывал пример. Весь код создания триггера это 4 строчки:

PUSH 29500 //номер ERM-функции. Меняйте на любой доступный.
MOV EAX, 0x74CE30
CALL EAX //вызываем C_FUNC_ZVS_CALLFU
ADD ESP, 4

Просто в примере с палаткой добавлены дополнительные операции по вызову параметров для использования в создаваемом триггере.

Вот пример, работающий с адресом 4074AC, который ты давал:
Добавил в скрипт триггер - срабатывает где-то после генерации карты.
Только хук в этом примере создан с помощью Эры 1.9. То есть еще файл Era.h нужен. Немного выше есть ссылка на него от Берсеркера.
(This post was last modified: 19.02.2012 19:23 by kostya_76.)
19.02.2012 19:21
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #435

(19.02.2012 19:21)kostya_76 Wrote:  файл Era.h нужен. Немного выше есть ссылка на него от Берсеркера.
Спасибо, но я не могу нигде найти эту библиотеку.

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


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 22.02.2012 17:51 by totkotoriy.)
22.02.2012 17:38
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