Ben80 писал(а):
Пробовал через c->esp, не получилось.
Внутри процедуры 5C1860 хочется проверять, что ее вызывали из 530C11
У меня не получается приемлемое число (530C11+)
Может быть, конкретно к данному случаю несколько строк кода приведете ?
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаBen80 писал(а): Пробовал через c->esp, не получилось. Внутри процедуры 5C1860 хочется проверять, что ее вызывали из 530C11 У меня не получается приемлемое число (530C11+) Может быть, конкретно к данному случаю несколько строк кода приведете ? |
Re: Как создать плагин для HD модаХук внутрь процедуры ( _PI->WriteLoHook(0x52EFB5, makeGhostHero) я как раз использовал изначально, у Вас крашилось из-за Хоты.
Сейчас же оказалось, что я буду вынужден использовать хук на 41664C, поскольку там можно получить свойства героя, который изучает правой кнопкой (у него можно будет проверить число в поле Vision). |
Re: Как создать плагин для HD мода
Видимо, это будет неправильно, поскольку в этом случае код будет срабатывать и для тех случаев, для которых он срабатывать не должен - то есть когда вызовы происходят не из процедуры Dlg_HeroRMCHint |
Re: Как создать плагин для HD модаЧитаете *(int*)(c->ebp + 4). Это адрес возврата. А затем выясняете, попадает ли он в диапазон нужной функции. Благо вы его знаете.
addrFuncBegin и addrFuncEnd смотрите в базе IDA для нужной Вам функции. |
Re: Как создать плагин для HD модаЦитата: Так он же ничего плохого не делает, если нет Disguise. Поясните. |
Re: Как создать плагин для HD модаПлохое происходит, когда Disguise у нашего героя есть - показывается ложная численность войск.
Например, герой в замке - правой кнопкой по нему (экран замка). В оригинальной игре ложную численность у нашего же героя показывают только в одном случае - герой на карте, мы по нему кликаем правой кнопкой. |
Re: Как создать плагин для HD модаAlexSpl писал(а):
addrFuncBegin и addrFuncEnd смотрите в базе IDA для нужной Вам функции. Ну, таким образом я получил адрес 1F5260B, что явно не из нужного диапазона. Поэтому я к Вам и обратился. |
Re: Как создать плагин для HD мода
|
Re: Как создать плагин для HD модаЦитата: Поэтому я к Вам и обратился. Всё понятно. У этой функции отсутствует пролог. Сейчас посмотрю. |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1