Были бы у меня 50 симп ;(
попроси личный у негоБыли бы у меня 50 симп ;(
Рендерить не в EndScene, а в PresentКак сделать OBS Bypass в ZamanWare? Помогите пожалуйста)
Вот, жду ответапопроси личный у него
Hooks.hВот, жду ответа
using PresentFn = long(__stdcall*)(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion);
extern PresentFn oPresent;
namespace Hooks
{
extern long __stdcall Present(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion);
}
oPresent = (PresentFn)H::D3D9->HookFunction((DWORD)Hooks::Present, 17);
PresentFn oPresent;
long __stdcall Hooks::Present(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion)
{
if (!G::d3dinit)
GUI_Init(pDevice);
H::D3D9->ReHook();
ImGui::GetIO().MouseDrawCursor = Vars.Menu.Opened;
DWORD dwOld_D3DRS_COLORWRITEENABLE;
pDevice->GetRenderState(D3DRS_COLORWRITEENABLE, &dwOld_D3DRS_COLORWRITEENABLE);
pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, 0xffffffff);
ImGui_ImplDX9_NewFrame();
//menu
ImGui::Render();
pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, dwOld_D3DRS_COLORWRITEENABLE);
return oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
Завтра протестирую. Большое спасибо) LOVE) Лучший!!! ;)Hooks.h
Util.cppКод:using PresentFn = long(__stdcall*)(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion); extern PresentFn oPresent; namespace Hooks { extern long __stdcall Present(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion); }
EndScene.cppКод:oPresent = (PresentFn)H::D3D9->HookFunction((DWORD)Hooks::Present, 17);
Код:PresentFn oPresent; long __stdcall Hooks::Present(IDirect3DDevice9* pDevice, const RECT* pSourceRect, const RECT* pDestRect, HWND hDestWindowOverride, const RGNDATA* pDirtyRegion) { if (!G::d3dinit) GUI_Init(pDevice); H::D3D9->ReHook(); ImGui::GetIO().MouseDrawCursor = Vars.Menu.Opened; DWORD dwOld_D3DRS_COLORWRITEENABLE; pDevice->GetRenderState(D3DRS_COLORWRITEENABLE, &dwOld_D3DRS_COLORWRITEENABLE); pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, 0xffffffff); ImGui_ImplDX9_NewFrame(); //menu ImGui::Render(); pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, dwOld_D3DRS_COLORWRITEENABLE); return oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion); }
Сможешь с этим ещё помочь если не сложно: У меня есть ещё один вопрос, я в чите сделал кнопку " Анти ОБС " при нажатию который вырубаются чамсы, как сделать так чтобы по нажатию этой кнопки был обход ЕСП, а при не включённой функции чтобы, все было как всегда видно на записе!Завтра протестирую. Большое спасибо) LOVE) Лучший!!! ;)
Тебе это не поможет.рендерить не в endscene а в present
obs захватыавет только endscene
Смотри исходник фрости - он хукает пресент и рест в гейм оверлее , что собственно позволяет обходить обс итд если ты захватываешь только окно игрыКак сделать OBS Bypass в ZamanWare? Помогите пожалуйста)
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz