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

Full Version: Исследование героев
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Может у кого есть рабочий код на с++ какого-либо хука, который затем передает управление ERM триггеру?
так в Эре вроде есть функция, выполняющая ерм. вот с помощью нее и вызвать триггер.
(19.02.2012 13:22)gamecreator Wrote: [ -> ]так в Эре вроде есть функция, выполняющая ерм. вот с помощью нее и вызвать триггер.
Как?
ExecErmCmd ("FUxxxx:P;");
(19.02.2012 13:27)Sav Wrote: [ -> ]ExecErmCmd ("FUxxxx:P;");
Дык можете рабочий пример написать? А то я так долго мучатся буду. Что эта функция делает? Вызывает хук и запускает по нему триггер?
функция выполняет ЕРМ-код. рабочий пример:
ExecErmCmd ("FU12345:P;");
выполнит ЕРМ-код !!FU12345:P;
(19.02.2012 14:26)gamecreator Wrote: [ -> ]функция выполняет ЕРМ-код. рабочий пример:
ExecErmCmd ("FU12345:P;");
выполнит ЕРМ-код !!FU12345:P;
А где взять era.cpp тогда? И надо ли восстанавливать данные затертого хука?
причем тут era.cpp? причем тут хук? это не хук вообще, это блокирующая функция, которая выполняет команду ерм
totkotoriy, не пойму, что тебе нужно. Я создавал триггер на паскале, но основная часть там - ассемблер, поэтому я могу без особых затрат времени перевести его на c++ и показать тебе код. Нужно?
(19.02.2012 14:59)Sav Wrote: [ -> ]totkotoriy, не пойму, что тебе нужно. Я создавал триггер на паскале, но основная часть там - ассемблер, поэтому я могу без особых затрат времени перевести его на c++ и показать тебе код. Нужно?
Да, я про это и говорю. Код хука на С++ я уже написал, мне нужен теперь рабочий код на ассемблере для вызова триггера в ERM.
что и откуда ты вообще хочешь вызвать?
(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 нужен. Немного выше есть ссылка на него от Берсеркера.
(19.02.2012 19:21)kostya_76 Wrote: [ -> ]файл Era.h нужен. Немного выше есть ссылка на него от Берсеркера.
Спасибо, но я не могу нигде найти эту библиотеку.

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