Помощь с PresentScene

  • Автор темы Автор темы Stan_Ak
  • Дата начала Дата начала
Paste is my life
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2017
Сообщения
146
Реакции
13
Всем привет.
Реебят, подскажите, где накосячил, при нажатии капса не выводит боксы
typedef __int64 (WINAPI* PresentSceneFN)(IDirect3DDevice9*, CONST RECT*, CONST RECT*, HWND, CONST RGNDATA*);
PresentSceneFN oPresent;


VMTHookManager* VmtHook = new VMTHookManager;
LPDIRECT3DDEVICE9 pDevice;


IGFW* pFrameWork;

Vec3 GetPlayerPos(IEntity* pEntit)
{
Vec3 vOffset = Vec3();
Matrix34 pWorld = pEntit->GetWorldTM();
vOffset = pWorld.GetTranslation();
return vOffset;
}

int GetTeam(IActor* ItActor)
{
IGFW* pFrameWork = IGFW::GetGameFramework();
if (ItActor)
return pFrameWork->GetIGameRules()->GetTeam(ItActor->get_entity()->GetID());//ItActor->getEntityId()
}

bool M1Team(IActor* MePlayer, IActor* LocPlayer)
{
int mTeam = GetTeam(MePlayer);
int pTeam = GetTeam(LocPlayer);

if ((mTeam != pTeam || pTeam == 0))
return true;
else
return false;
}

bool Create;

HRESULT WINAPI PresentScene(IDirect3DDevice9* m_pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
{
//function();
//return oPresent(m_pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
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 oPresent(m_pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);


}



BOOL WINAPI DllMain(HMODULE hModule, DWORD64 dwReason, LPVOID)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
Beep(500, 1000);
//VmtHook->bInitialize((PDWORD64*)SSGEnvironment::Singleton()->GetIRenderer()->GetDirectDevice());
oPresent = (PresentSceneFN)VmtHook->dwHookMethod((DWORD64)PresentScene, 17);
break;

case DLL_PROCESS_DETACH:
FreeLibraryAndExitThread(hModule, 0);
break;
}
}
 
зачем ты рисуешь через present,если речь идет о вх конечно(а оно идет о вх,т.к ты юзаешь worldtoscreen).Хукай паинтреверс,и воспользуйся более удобными хуками а не такими.Возьми хуки из csgosimple\csgomodest. И название темы не соответствует хуку)
 
зачем ты рисуешь через present,если речь идет о вх конечно(а оно идет о вх,т.к ты юзаешь worldtoscreen).Хукай паинтреверс,и воспользуйся более удобными хуками а не такими.Возьми хуки из csgosimple\csgomodest. И название темы не соответствует хуку)
Отредачил название темы, мозгов мне не хватает, ебусь уже 3 день, уже готов лавешку вкинуть, тому, кто разжует и доведет до рабочего состояния
 
Отредачил название темы, мозгов мне не хватает, ебусь уже 3 день, уже готов лавешку вкинуть, тому, кто разжует и доведет до рабочего состояния
ответь на вопрос,зачем ты рисуешь в present`е,если надо рисовать в паинтреверс?
 
Если кто готов поковыряться в моей помойке, желательно со связью или просто, чтобы расписал, где я обосрался, могу залить пару сотен, чтобы просто не терять ваше время
 
Если кто готов поковыряться в моей помойке, желательно со связью или просто, чтобы завел расписал, где я обосрался, могу залить пару сотен, чтобы просто не терять ваше время
ну и запустил, соответственно
 
VK_PRIOR это Page UP
VK_CAPITAL это Caps Lock
 
Ребят, вот целый сурс
Пожалуйста, авторизуйтесь для просмотра ссылки.
, если сможете его поправить, отпишитесь, и куда заливать рубли
 
Пожалуйста, авторизуйтесь для просмотра ссылки.
так у тебя даже не хукается презент
 
Ребят, вот целый сурс
Пожалуйста, авторизуйтесь для просмотра ссылки.
, если сможете его поправить, отпишитесь, и куда заливать рубли
тестируй
Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
К сожалению, в варфесе теперь просто черный экран после запуска, ну или просто закрывается, если не убирать DLL_PROCESS_DETACH
потому что dll инжектится слишком рано, попробуй сделать поток и там уже поставить задержку допустим на 15 сек
 
потому что dll инжектится слишком рано, попробуй сделать поток и там уже поставить задержку допустим на 15 сек
Так я пробовал инжектить и в самом меню игры и в Dll_Attach поставил sleep на 10000, игра просто зависает и краш, если не затруднит, попробуй, пожалуйста, заранее благодарю
 
Так я пробовал инжектить и в самом меню игры и в Dll_Attach поставил sleep на 10000, игра просто зависает и краш, если не затруднит, попробуй, пожалуйста, заранее благодарю
Там какая-то еботня с хуком вот и черный экран... Лень разбираться, позже гляну
 
Назад
Сверху Снизу