-
Автор темы
- #1
У меня типо вопрос, я сделал свой ImGui вязл исходники у автора, тестил в другой игре, но в stalcraft не отоброжается но мне кажется чтоб он запустился но не показывает, почему?
Вот мой код main.cpp:
===========================================================
Не обращайте внимание на checkbox и text с button это я тестил функционал
ну короче жду ответа
Вот мой код main.cpp:
C++:
#include "includes.h"
#include "Vars.h"
// Булевые типы
bool info = false;
// ================
extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
Present oPresent;
HWND window = NULL;
WNDPROC oWndProc;
ID3D11Device* pDevice = NULL;
ID3D11DeviceContext* pContext = NULL;
ID3D11RenderTargetView* mainRenderTargetView;
void InitImGui()
{
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO();
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Arial.ttf", 20, NULL, io.Fonts->GetGlyphRangesCyrillic());
io.ConfigFlags = ImGuiConfigFlags_NoMouseCursorChange;
ImGui_ImplWin32_Init(window);
ImGui_ImplDX11_Init(pDevice, pContext);
}
LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam))
return true;
return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam);
}
bool init = false;
bool menu = false;
static int tabb = 1;
HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags)
{
if (!init)
{
if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&pDevice)))
{
pDevice->GetImmediateContext(&pContext);
DXGI_SWAP_CHAIN_DESC sd;
pSwapChain->GetDesc(&sd);
window = sd.OutputWindow;
ID3D11Texture2D* pBackBuffer;
pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer);
pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView);
pBackBuffer->Release();
oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc);
InitImGui();
init = true;
}
else
return oPresent(pSwapChain, SyncInterval, Flags);
}
if (GetAsyncKeyState(VK_END))
{
kiero::shutdown();
return 0;
}
ImGui_ImplDX11_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
ImGui::Begin("ADZ-STALCRAFT");
if (ImGui::Button("ESP", ImVec2(100.f, 0.f)))
{
tabb = 0;
}
ImGui::SameLine(0.f, 2.f);
if (ImGui::Button("Information", ImVec2(100.f, 0.f)))
{
tabb = 1;
}
ImGui::SameLine(0.f, 2.f);
if (ImGui::Button("Misc", ImVec2(100.f, 0.f)))
{
tabb = 2;
}
ImGui::SameLine(0.f, 2.f);
if (ImGui::Button("AIM", ImVec2(100.f, 0.f)))
{
tabb = 3;
}
if (tabb == 0) {
ImGui::Checkbox(u8"Сущности", &Vars::ESP::Entity::ent);
if (Vars::ESP::Entity::ent)
{
ImGui::Text(u8"Сущности");
ImGui::Text("On");
ImGui::Checkbox(u8"Тимейт", &Vars::ESP::Entity::team);
if (Vars::ESP::Entity::team) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Враг", &Vars::ESP::Entity::enemy);
if (Vars::ESP::Entity::enemy) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"НПС", &Vars::ESP::Entity::npc);
if (Vars::ESP::Entity::npc) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Животные", &Vars::ESP::Entity::animals);
if (Vars::ESP::Entity::animals) {
ImGui::Text(u8"On");
}
ImGui::SliderInt(u8"Дальность видимости", &Vars::SLIDER::DalE, 0, 100);
}
ImGui::Checkbox(u8"Артефакты", &Vars::ESP::BOX::art);
if (Vars::ESP::BOX::art) {
ImGui::Text(u8"Артёфакты");
ImGui::Checkbox(u8"Обычный", &Vars::ESP::BOX::govno);
if (Vars::ESP::BOX::govno) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Плесень", &Vars::ESP::BOX::plesen);
if (Vars::ESP::BOX::plesen) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Синий", &Vars::ESP::BOX::norm);
if (Vars::ESP::BOX::norm) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Эпик", &Vars::ESP::BOX::epic);
if (Vars::ESP::BOX::epic) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Исключительный", &Vars::ESP::BOX::iscl);
if (Vars::ESP::BOX::iscl) {
ImGui::Text(u8"On");
}
ImGui::Checkbox(u8"Легендарный", &Vars::ESP::BOX::legend);
if (Vars::ESP::BOX::legend) {
ImGui::Text(u8"On");
}
ImGui::SliderInt(u8"Дальность видимости", &Vars::SLIDER::DalA, 0, 100);
}
}
else if (tabb == 1)
ImGui::Checkbox(u8"Информация", &info);
if (info)
{
ImGui::Text(u8"By ADZ - Ahmedov Developer Z");
ImGui::Text(u8"Version 0.1");
}
else if (tabb == 2)
ImGui::Checkbox(u8"Дополнительно", &info);
if (info)
{
ImGui::Text(u8"Предоставлены функции");
ImGui::Text(u8"Version 0.1");
}
else if (tabb == 3)
ImGui::Checkbox(u8"AIM", &info);
if (info)
{
ImGui::SliderInt(u8"Fov", &Vars::SLIDER::Fov, 10, 180);
ImGui::Text(u8"On");
ImGui::Text(u8"Version 0.1");
}
ImGui::End();
ImGui::Render();
pContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL);
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
return oPresent(pSwapChain, SyncInterval, Flags);
}
DWORD WINAPI MainThread(LPVOID lpReserved)
{
bool init_hook = false;
do
{
if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success)
{
kiero::bind(8, (void**)& oPresent, hkPresent);
init_hook = true;
}
} while (!init_hook);
return TRUE;
}
BOOL WINAPI DllMain(HMODULE hMod, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hMod);
CreateThread(nullptr, 0, MainThread, hMod, 0, nullptr);
break;
case DLL_PROCESS_DETACH:
kiero::shutdown();
break;
}
return TRUE;
}
Не обращайте внимание на checkbox и text с button это я тестил функционал
ну короче жду ответа