Вопрос /del

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Проблема в самом хуке?
 
Что может быть не так в хуке Present? Я если честно даже не понимаю как это связано и как тут можно накосячить
попробуй рендерить в EndScene - индекс 42, может пройдет.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
очко игроков рвутся и растягиваются конечности и всё это в одной игре
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Конечно смешно но это щитпост, это не как не относится к данной тематике.
я выразил своё мнение к этой игре,просто сам в неё играл (выразил своё никому не нужное мнение. итог=я пожилая мойва)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что может быть не так в хуке Present? Я если честно даже не понимаю как это связано и как тут можно накосячить
Для начало ты не понимаешь что пишешь.
Present это не хук, это функция в структуре IDirect3D9Ex, а вот как это хукать, есть много способов.
Ты хукаешь через игровую таблицу и используешь VMT метод, попробуй использовать minhook или ему подобное.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну раз бросаться определениями, то и я поправлю. Present это виртуальный метод интерфейса IDirect3DDevice9 мб Ex, но никак не IDirect3D9.
а хук просто просто заменяет в втабле адрес метода аля:

C++:
Expand Collapse Copy
static IDirect3DDevice9* pDevice;
    static bool isInit = false;
    if (!isInit)
    {
        if (!gEnv || !gEnv->pD3DEngine || !gEnv->pGame || !gEnv->pEntitySystem || !gEnv->pPhysicalWorld || !gEnv->pSystem)
            return;

        pDevice = GetDevice();
        if (!pDevice)
            return;

        void** vtbl = *(void***)pDevice;
        g_pOPresent = (Present_t)vtbl[17];
        g_pOReset = (Reset_t)vtbl[16];

        isInit = true;
    }

    if (isInit)
    {
        void** vtbl = *(void***)pDevice;
        vtbl[17] = hkPresent;
        vtbl[16] = hkReset;
    }
Да что мы такое говорим,
C++:
Expand Collapse Copy
typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
иди почитай про методы хука девайса. А вообще это не имеет значения. Значения имеет как ты его хукаешь, через игру или создаешь своё устройство.
 
Для начало ты не понимаешь что пишешь.
Present это не хук, это функция в структуре IDirect3D9Ex, а вот как это хукать, есть много способов.
Ты хукаешь через игровую таблицу и используешь VMT метод, попробуй использовать minhook или ему подобное.
зачем инлайн хук называть минхуком....................
 
Да что мы такое говорим,
C++:
Expand Collapse Copy
typedef struct IDirect3D9Ex *LPDIRECT3D9EX, *PDIRECT3D9EX;
иди почитай про методы хука девайса. А вообще это не имеет значения. Значения имеет как ты его хукаешь, через игру или создаешь своё устройство.
это имеет значение только при вмт, при инлайне ваще похуй
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и? я и так знаю что это. я о том что IDirect3D9Ex не имеет метода Present, а используется в основном для создания девайса.
Посмотреть вложение 59161


ну я типа вон выше кинул как хукаю. девайс не создаю, а жду пока игра его создаст.
Вот, а создай свой девайс и получишь больше плюшек.
 

Похожие темы

Назад
Сверху Снизу