Вопрос EndScene HELP

  • Автор темы Автор темы Stan_Ak
  • Дата начала Дата начала
Paste is my life
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
146
Реакции
13
Всем привет.
Ребят, кому не сложно, может ли кто залить сурс с готовым endscene для x64 Warface c какой-либо функцией с отрисовкой, Боксы или еще что.
Буду безгранично благодарен.
Спасибо за внимание.
P.S. не кидайтесь камнями и не шлите на... уц. Все перелопатил, но постоянно траблы, за рабочие фичи кину пару сотен, дабы просто так не терять Ваше время
 
онли презент там.
чё, пацаны вы чё ну, спокойной ночи?

C++:
Expand Collapse Copy
typedef HRESULT(WINAPI* m_pEndSceneHook)(IDirect3DDevice9*);
m_pEndSceneHook EndSceneOrig;

C++:
Expand Collapse Copy
HRESULT WINAPI pEndScene(IDirect3DDevice9* m_pDevice)
{
    return EndSceneOrig(m_pDevice);
}

C++:
Expand Collapse Copy
    VmtHook->bInitialize((PDWORD64*)SSystemGlobalEnvironment::Singleton()->GetIRenderer()->GetDirectDevice());
    EndSceneOrig = (m_pEndSceneHook)VmtHook->dwHookMethod((DWORD64)pEndScene, HookIndex::EndHook); // 42
 
чё, пацаны вы чё ну, спокойной ночи?

C++:
Expand Collapse Copy
typedef HRESULT(WINAPI* m_pEndSceneHook)(IDirect3DDevice9*);
m_pEndSceneHook EndSceneOrig;

C++:
Expand Collapse Copy
HRESULT WINAPI pEndScene(IDirect3DDevice9* m_pDevice)
{
    return EndSceneOrig(m_pDevice);
}

C++:
Expand Collapse Copy
    VmtHook->bInitialize((PDWORD64*)SSystemGlobalEnvironment::Singleton()->GetIRenderer()->GetDirectDevice());
    EndSceneOrig = (m_pEndSceneHook)VmtHook->dwHookMethod((DWORD64)pEndScene, HookIndex::EndHook); // 42
Спасибо, но, пользуясь моментом, подскажи, что здесь не так?
typedef HRESULT(WINAPI* m_pEndSceneHook)(IDirect3DDevice9*);
m_pEndSceneHook EndSceneOrig;


VMTHookManager* VmtHook = new VMTHookManager;
LPDIRECT3DDEVICE9 pDevice;


IGFW* pFrameWork;


bool Create = false;

HRESULT WINAPI pEndScene(IDirect3DDevice9* m_pDevice)
{

if (!Create)
{
while (!pD3D9) { pD3D9 = pD3D9; }
D3DXCreateLine(pD3D9, &pLine);
pD3D9->GetViewport(&Viewport);
ScreenWidth = Viewport.Width;
ScreenHeight = Viewport.Height;
ScreenCenterX = (ScreenWidth / 2);
ScreenCenterY = (ScreenHeight / 2);

Create = true;
}

if (GetAsyncKeyState(VK_PRIOR) & 1)
{
IActor* MePlayer = NULL;

IGFW* pFrameWork = IGFW::GetGameFramework();
IEntitySystem* pEntSys = pSSGE->pGetEntitySystem();

// Lets loop the entites
IEntityIt* pEntIt = pEntSys->GetEntityIterator();
if (pFrameWork->GetClientActor(&MePlayer))
{
if (MePlayer && pEntIt)
for (; IEntity * pEnt = pEntIt->Next(); )
{
if (IActor * LocPlayer = pFrameWork->GetIActorSystem()->GetActor(pEnt->GetID()))
{
Vec3 EnemyPos = GetPlayerPos(pEnt);
Vec3 Out;

if (MePlayer != LocPlayer)
if (M1Team(MePlayer, LocPlayer) && (!GetDeadPlayer(LocPlayer)))
{
if ((WorldToScreen(EnemyPos, &Out) && (!GetDeadPlayer(LocPlayer))) && (M1Team(MePlayer, LocPlayer)))
{
Box3D(pEnt, Yellow, pD3D9);
}
}
}
}
}
}
return EndSceneOrig(m_pDevice);


}




BOOL WINAPI DllMain(HMODULE hModule, DWORD64 dwReason, LPVOID)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
Beep(500, 1000);
VmtHook->bInitialize((PDWORD64*)SSGE::GetSSGE()->pGetRender()->GetDirectDevice());
EndSceneOrig = (m_pEndSceneHook)VmtHook->dwHookMethod((DWORD64)pEndScene, 42);
break;

case DLL_PROCESS_DETACH:
FreeLibraryAndExitThread(hModule, 0);
break;
}
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо, но, пользуясь моментом, подскажи, что здесь не так?
typedef HRESULT(WINAPI* m_pEndSceneHook)(IDirect3DDevice9*);
m_pEndSceneHook EndSceneOrig;


VMTHookManager* VmtHook = new VMTHookManager;
LPDIRECT3DDEVICE9 pDevice;


IGFW* pFrameWork;


bool Create = false;

HRESULT WINAPI pEndScene(IDirect3DDevice9* m_pDevice)
{

if (!Create)
{
while (!pD3D9) { pD3D9 = pD3D9; }
D3DXCreateLine(pD3D9, &pLine);
pD3D9->GetViewport(&Viewport);
ScreenWidth = Viewport.Width;
ScreenHeight = Viewport.Height;
ScreenCenterX = (ScreenWidth / 2);
ScreenCenterY = (ScreenHeight / 2);

Create = true;
}

if (GetAsyncKeyState(VK_PRIOR) & 1)
{
IActor* MePlayer = NULL;

IGFW* pFrameWork = IGFW::GetGameFramework();
IEntitySystem* pEntSys = pSSGE->pGetEntitySystem();

// Lets loop the entites
IEntityIt* pEntIt = pEntSys->GetEntityIterator();
if (pFrameWork->GetClientActor(&MePlayer))
{
if (MePlayer && pEntIt)
for (; IEntity * pEnt = pEntIt->Next(); )
{
if (IActor * LocPlayer = pFrameWork->GetIActorSystem()->GetActor(pEnt->GetID()))
{
Vec3 EnemyPos = GetPlayerPos(pEnt);
Vec3 Out;

if (MePlayer != LocPlayer)
if (M1Team(MePlayer, LocPlayer) && (!GetDeadPlayer(LocPlayer)))
{
if ((WorldToScreen(EnemyPos, &Out) && (!GetDeadPlayer(LocPlayer))) && (M1Team(MePlayer, LocPlayer)))
{
Box3D(pEnt, Yellow, pD3D9);
}
}
}
}
}
}
return EndSceneOrig(m_pDevice);


}




BOOL WINAPI DllMain(HMODULE hModule, DWORD64 dwReason, LPVOID)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
Beep(500, 1000);
VmtHook->bInitialize((PDWORD64*)SSGE::GetSSGE()->pGetRender()->GetDirectDevice());
EndSceneOrig = (m_pEndSceneHook)VmtHook->dwHookMethod((DWORD64)pEndScene, 42);
break;

case DLL_PROCESS_DETACH:
FreeLibraryAndExitThread(hModule, 0);
break;
}
}
А что тут не так?
Или думаешь за тебя все проверят, разгребут твое "гавно" в коде?
Где указатели?
Ты хоть дебажил свой код на поиск ошибки?
 
Спасибо, но, пользуясь моментом, подскажи, что здесь не так?
typedef HRESULT(WINAPI* m_pEndSceneHook)(IDirect3DDevice9*);
m_pEndSceneHook EndSceneOrig;


VMTHookManager* VmtHook = new VMTHookManager;
LPDIRECT3DDEVICE9 pDevice;


IGFW* pFrameWork;


bool Create = false;

HRESULT WINAPI pEndScene(IDirect3DDevice9* m_pDevice)
{

if (!Create)
{
while (!pD3D9) { pD3D9 = pD3D9; }
D3DXCreateLine(pD3D9, &pLine);
pD3D9->GetViewport(&Viewport);
ScreenWidth = Viewport.Width;
ScreenHeight = Viewport.Height;
ScreenCenterX = (ScreenWidth / 2);
ScreenCenterY = (ScreenHeight / 2);

Create = true;
}

if (GetAsyncKeyState(VK_PRIOR) & 1)
{
IActor* MePlayer = NULL;

IGFW* pFrameWork = IGFW::GetGameFramework();
IEntitySystem* pEntSys = pSSGE->pGetEntitySystem();

// Lets loop the entites
IEntityIt* pEntIt = pEntSys->GetEntityIterator();
if (pFrameWork->GetClientActor(&MePlayer))
{
if (MePlayer && pEntIt)
for (; IEntity * pEnt = pEntIt->Next(); )
{
if (IActor * LocPlayer = pFrameWork->GetIActorSystem()->GetActor(pEnt->GetID()))
{
Vec3 EnemyPos = GetPlayerPos(pEnt);
Vec3 Out;

if (MePlayer != LocPlayer)
if (M1Team(MePlayer, LocPlayer) && (!GetDeadPlayer(LocPlayer)))
{
if ((WorldToScreen(EnemyPos, &Out) && (!GetDeadPlayer(LocPlayer))) && (M1Team(MePlayer, LocPlayer)))
{
Box3D(pEnt, Yellow, pD3D9);
}
}
}
}
}
}
return EndSceneOrig(m_pDevice);


}




BOOL WINAPI DllMain(HMODULE hModule, DWORD64 dwReason, LPVOID)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
Beep(500, 1000);
VmtHook->bInitialize((PDWORD64*)SSGE::GetSSGE()->pGetRender()->GetDirectDevice());
EndSceneOrig = (m_pEndSceneHook)VmtHook->dwHookMethod((DWORD64)pEndScene, 42);
break;

case DLL_PROCESS_DETACH:
FreeLibraryAndExitThread(hModule, 0);
break;
}
}
Смешно). Просто спастить с юц недостаточно, нужно обновить классы
 
Смешно). Просто спастить с юц недостаточно, нужно обновить классы
У меня классы прописаны, я спросил что именно здесь не так
UPD. Решено, проблема была в куске что скинул, классы все обновлены
 
Последнее редактирование:
Назад
Сверху Снизу