ArrowMake a SIMPLE D3D MENU

Posts 46–60 of 120 · Page 4 of 8
Quote Originally Posted by Qmo View Post
yeah! make your own Chams wallhack

[FONT="Courier New"]This is only for D3D MENU Chams, if you want this hack to work,
Then you have to edit again
and one condition: Use your creativity


Directly to the topic
you just simply copy and paste into your new project

For haider :

Functions.h
Code:
//==================================================================
// This file is part of Qmoainxbase D3D Private part 1
// (c) copyright Qmoainx 2011
// special thanks to: mpgh.net 
//==================================================================

#include "SystemIncludes.h"


void PrintText(char pString[], int x, int y, D3DCOLOR col, ID3DXFont *font)
{
    RECT FontRect = { x, y, x+500, y+30 };
    font->DrawText( NULL, pString, -1, &FontRect, DT_LEFT | DT_WORDBREAK, col);
}

void FillRGB( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
{
    if( w < 0 )w = 1;
    if( h < 0 )h = 1;
    if( x < 0 )x = 1;
    if( y < 0 )y = 1;

    D3DRECT rec = { x, y, x + w, y + h };
    pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}

void DrawBorder( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
    FillRGB( x, (y + h - px), w, px,    BorderColor, pDevice );
    FillRGB( x, y, px, h,                BorderColor, pDevice );
    FillRGB( x, y, w, px,                BorderColor, pDevice );
    FillRGB( (x + w - px), y, px, h,    BorderColor, pDevice );
}

void DrawBox( int x, int y, int w, int h, D3DCOLOR BoxColor, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
    FillRGB( x, y, w, h,        BoxColor, pDevice );
    DrawBorder( x, y, w, h, 1,    BorderColor, pDevice );
}  

bool isMouseinRegion(int x1, int y1, int x2, int y2) 
{
        POINT cPos;
        GetCursorPos(&cPos);
        if(cPos.x > x1 && cPos.x < x2 && cPos.y > y1 && cPos.y < y2){
                return true;
        } else {
                return false;
        }
}

bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
        for(;*szMask;++szMask,++pData,++bMask)
                if(*szMask=='x' && *pData!=*bMask)  
                        return 0;
        return (*szMask) == NULL;
}

DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
        for(DWORD i=0; i<dwLen; i++)
                if (bCompare((BYTE*)(dwAddress+i),bMask,szMask))  
                        return (DWORD)(dwAddress+i);
        return 0;
}

void *DetourFunction (BYTE *src, const BYTE *dst, const int len)//edit if you want to work for the game
{
                BYTE *jmp = (BYTE*)malloc(len+5);
        DWORD dwBack;

        VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
        memcpy(jmp, src, len);  
        jmp += len;
        jmp[0] = 0xE9;
        *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
        src[0] = 0xE9;
        *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
        for (int i=5; i<len; i++)  src[i]=0x90;
        VirtualProtect(src, len, dwBack, &dwBack);
        return (jmp-len);
}

QmoMenuClass.h
Code:
//==================================================================
// This file is part of Qmoainxbase D3D Private part 1
// (c) copyright Qmoainx 2011
// special thanks to: 
//   mpgh.net
//==================================================================
#include "Functions.h"


typedef struct{
        int index;
        char * title;
        int *hack;
        int hackmaxval;
        int hacktype;
        DWORD HCOLOR;
}ITEM;

class QmoMenu {
        public:
        LPDIRECT3DDEVICE9 pDevice;
        LPD3DXFONT pFont;

        int hackcount;
        int selector;
        int x,y,w,h;
        DWORD COLOR;

        ITEM HACKITEM[99];
        char hackrval[256];

        void CreateItem(int index, char * title, int *hack,int hackmaxval=1,int hacktype=0);
        void BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice);
        void RenderMenu();
};

typedef HRESULT ( WINAPI* oReset )( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters );//edit if you want to work for the game
typedef HRESULT (WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice);

//Colors A,R,G,B Please use to make Chams 
#define RED D3DCOLOR_ARGB(255, 255, 0, 0)
#define GREEN D3DCOLOR_ARGB(255, 0, 255, 0)
#define BLUE D3DCOLOR_ARGB(255, 0, 0, 255)
#define WHITE D3DCOLOR_ARGB(255, 255, 255, 255)
#define BLACK D3DCOLOR_ARGB(255, 0, 0, 0)
#define YELLOW D3DCOLOR_ARGB(255, 255, 255, 0)
#define TEAL D3DCOLOR_ARGB(255, 0, 255, 255)
#define PINK D3DCOLOR_ARGB(255, 255, 240, 0)
#define ORANGE D3DCOLOR_ARGB(255, 255, 132, 0)
#define LIME D3DCOLOR_ARGB(255, 198, 255, 0)
#define SKYBLUE D3DCOLOR_ARGB(255, 0, 180, 255)
#define MAROON D3DCOLOR_ARGB(255, 142, 30, 0)
#define LGRAY D3DCOLOR_ARGB(255, 174, 174, 174) 
#define DGRAY D3DCOLOR_ARGB(255, 71, 65, 64) 
#define BROWN D3DCOLOR_ARGB(255, 77, 46, 38)
#define SHIT D3DCOLOR_ARGB(255, 74, 38, 38)
SystemIncludes.h
Code:
//==================================================================
// This file is part of Qmoainxbase D3D Private part 1
// (c) copyright Qmoainx 2011
// special thanks to: mpgh.net 
//==================================================================

#include <Windows.h>
#include <stdio.h>
#include <d3d9.h>
#include <d3dx9.h>

#pragma comment(lib,"d3dx9.lib")

and this for Source Files, on the your project

D3dbase.cpp
Code:
//==================================================================
// This file is part of Qmoainxbase D3D Private part 1
// (c) copyright Qmoainx 2011
// special thanks to: mpgh.net 
//==================================================================
#include "QmoMenuClass.h"

oReset pReset;
oEndScene pEndScene;

QmoMenu dMenu;

LPDIRECT3DDEVICE9 g_pDevice = 0;
//Offset Adjust Font Menu Hack
int xFontOffSet = 15;

int hackopt1;
int MenuHeight = 10;

int show=1;

int b = 0;
//==================================================================
//Menu HACK
int hack1 = 0;
int hack2 = 0;
int hack3 = 0;
int hack4 = 0;
int hack5 = 0;
//==================================================================

void QmoMenu::CreateItem(int index, char * title, int *hack, int hackmaxval,int hacktype)
{
        hackcount++;
        HACKITEM[hackcount].index = index;
        HACKITEM[hackcount].hack = hack;
        HACKITEM[hackcount].hackmaxval = hackmaxval;
        HACKITEM[hackcount].hacktype = hacktype;
        // Set the high and low Menu Hack
        PrintText(title, xFontOffSet, index*15,HACKITEM[hackcount].HCOLOR,pFont); 
}

void QmoMenu::BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice)
{
        if(GetAsyncKeyState(VK_INSERT)&1)show=(!show); //Bring up the Menu HACK (INSERT)
        if(!show) {
                DrawBox(0,0, w, 20, BACKCOLOR, BORDERCOLOR, pDevice);
                PrintText("Qmoainx D3D MENU", 5, 2, TITLECOL, pFont);
                return;
        }

       // DrawBox(x,y, w, h, BACKCOLOR, BORDERCOLOR, pDevice); // Adjust the Base Menu Hack
        PrintText(menuname, x+10, y+2, TITLECOL, pFont);
        CreateItem(1,"Wallhack", &hack1);
        CreateItem(2,"Chams", &hack2); 
        CreateItem(3,"Crosshair", &hack3);
        CreateItem(4,"NO Smoke", &hack4);
        CreateItem(5,"?????", &hack5);
        RenderMenu();
}


void QmoMenu::RenderMenu() //Hotkey menu
{
        if(GetAsyncKeyState(VK_DOWN)&1) 
                        selector++;

        if(GetAsyncKeyState(VK_UP)&1)
                if(selector > 1)
                        selector--;

        if (GetAsyncKeyState(VK_RIGHT)<0){
                for(int i=0;i < (hackcount+1);i++){
           if(selector == HACKITEM[i].index){
                           if(*HACKITEM[i].hack < HACKITEM[i].hackmaxval)
                                        *HACKITEM[i].hack += 1;

                                        }
                        }
        }

        if (GetAsyncKeyState(VK_LEFT)<0){
                for(int i=0;i < (hackcount+1);i++){
           if(selector == HACKITEM[i].index){
                           *HACKITEM[i].hack = 0;
                           Sleep(200);
                                }
                        }
        }
        
        for(int i=0;i < (hackcount+1);i++){
                if(selector == HACKITEM[i].index)
                        HACKITEM[i].HCOLOR = GREEN;
                else
                        HACKITEM[i].HCOLOR = RED;
        }

        for(int i=1; i<(hackcount+1); i++){
                if(HACKITEM[i].hacktype == 0){
                if(*HACKITEM[i].hack == 1) 

                // Set the high and low Hotkey Menu
                PrintText("On", xFontOffSet+100, HACKITEM[i].index*15,WHITE,pFont);
         else 
                PrintText("Off", xFontOffSet+100, HACKITEM[i].index*15,RED,pFont);
        
                }
        }

        if(selector < 1)
                selector = 1;

        if(selector > hackcount)
                selector = 1;

        hackcount = 0;
}

void TestThread() //Raising texk if ON / OFF
{
        if( hack1 == 1)
                PrintText("Wallhack [ON] text will change color", 30, 200, GREEN, dMenu.pFont);
        else
                PrintText("Wallhack [ON] text will change color", 30, 200, RED, dMenu.pFont);
} //Customize it

void ReFont(LPDIRECT3DDEVICE9 pDevice) //For replacement fonts
{
    if (g_pDevice != pDevice)
    {
        g_pDevice = pDevice;
        try
        {
            if (dMenu.pFont != 0)
                dMenu.pFont->Release();
        } catch (...) {}
        dMenu.pFont = 0;
        D3DXCreateFontA(pDevice, 14, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &dMenu.pFont ); 
    }
}

HRESULT WINAPI Reset(IDirect3DDevice9* pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters )
{
        dMenu.pFont->OnLostDevice();

        HRESULT hRet = pReset(pDevice, pPresentationParameters);

        dMenu.pFont->OnResetDevice();

        return hRet;
}

// Menu TITLE
HRESULT WINAPI EndScene(LPDIRECT3DDEVICE9 pDevice)
{
        ReFont(pDevice);
        dMenu.BuildMenu("mpgh.net 2011",0,0,190,200,RED,BLACK,GREEN,pDevice);
        TestThread();
        return pEndScene(pDevice);
}

int D3Dinit(void)//edit if you want to work for the game
{
        DWORD           hD3D, adr, *vtbl;
        hD3D=0;
        do {
                hD3D = (DWORD)GetModuleHandle("d3d9.dll");
                Sleep(10);
        } while(!hD3D); 
        adr = FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
        if (adr) {
                memcpy(&vtbl,(void *)(adr+2),4);
                pReset    = (oReset)    DetourFunction((PBYTE)vtbl[16]   , (PBYTE)Reset   ,5);
                pEndScene = (oEndScene) DetourFunction((PBYTE)vtbl[42], (PBYTE)EndScene,5);
        }
        return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )//edit if you want to work for the game
{
        DisableThreadLibraryCalls(hDll);

        if ( dwReason == DLL_PROCESS_ATTACH ) {

                CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3Dinit, NULL, NULL, NULL);
        }
        if( dwReason == DLL_PROCESS_DETACH)     {
                dMenu.pFont->Release();
        }
        return TRUE;
}
completed....!
Now try taking your test> D3D9test, if successful .... it will be like this picture :


remember!
if you want to hack it to work, then you need to EDIT this

if successful .... it will be like this picture :




Hopefully Useful for all
if you want to share do not forget to include its Credit
@Qmo, is this code copy and paste all to my project ?
after i copy this what next ?
1>------ Build started: Project: Hd3d, Configuration: Debug Win32 ------
1> D3dbase.cpp
1>c:\users\gx-550w\desktop\hd3d\hd3d\Functions.h(13): error C2664: 'ID3DXFont:rawTextW' : cannot convert parameter 2 from 'char []' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>D3dbase.cpp(167): error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
----------------

???????????
Quote Originally Posted by policejo View Post
1>------ Build started: Project: Hd3d, Configuration: Debug Win32 ------
1> D3dbase.cpp
1>c:\users\gx-550w\desktop\hd3d\hd3d\Functions.h(13): error C2664: 'ID3DXFont:rawTextW' : cannot convert parameter 2 from 'char []' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>D3dbase.cpp(167): error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
----------------

???????????
me too (
Quote Originally Posted by killbyme View Post
i have a Visual C++ Express 2010 ... i don't even know where too start lol
Quote Originally Posted by policejo View Post
1>------ Build started: Project: Hd3d, Configuration: Debug Win32 ------
1> D3dbase.cpp
1>c:\users\gx-550w\desktop\hd3d\hd3d\Functions.h(13): error C2664: 'ID3DXFont:rawTextW' : cannot convert parameter 2 from 'char []' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>D3dbase.cpp(167): error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
----------------

???????????
Quote Originally Posted by MrJupi View Post
me too (
Cheer up and keep learning, understand from base first
otherwise
then it will error and error will you get
@Qmo one error i solved, but the other :

Code:
1>------ Build started: Project: Base v1, Configuration: Debug Win32 ------
1>  Base.cpp
1>c:\users\bruno\documents\visual studio 2010\projects\base v1\base v1\functions.h(13): error C2664: 'ID3DXFont::DrawTextW' : cannot convert parameter 2 from 'char []' to 'LPCWSTR'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I am trying to solve it, i know the basic, but this error is fucking idiot, i tried a lot and nothing...
LINK : fatal error LNK1561: entry point must be defined
-.-
hey bro @Qmo .. i use (numvert & primcount) only instead of stride, all map perfectly clean at once.. no need to use certain wallhack for certain map (WH desert camp).. unfortunately my stride logger no longer work today, although i allready edit it than original version.. i'm still got a half body of CT (look my picture in desert camp), what the hell? hahaha...
btw are u have some stride logger that still perfectly work?
PointBlank_20111011_171902.jpg244 KB · 45 downloads num 1.jpg339 KB · 30 downloads
Quote Originally Posted by denyeko View Post
hey bro @Qmo .. i use (numvert & primcount) only instead of stride, all map perfectly clean at once.. no need to use certain wallhack for certain map (WH desert camp).. unfortunately my stride logger no longer work today, although i allready edit it than original version.. i'm still got a half body of CT (look my picture in desert camp), what the hell? hahaha...
btw are u have some stride logger that still perfectly work?
Try this :

Code:
	if(color1)
	{
		if( (Stride == 44) )
		{
				if(color1==1) pDevice->SetTexture(0, texRed);
				pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
				 pDrawIndexedPrimitive(pDevice,pType  D3DparamvalX,nMinIndex,nNumVertices,nStartIndex,nPrimitiveCount);
				pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

		}
	}

	if(color2)
	{
		if( (Stride == 52) )
		{
				if(color2==1) pDevice->SetTexture(0, texGreen);
				pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);		          DrawIndexedPrimitive(pDevice,pTypeD3DparamvalX,nMinIndex,nNumVertices,nStartIndex,nPrimitiveCount);
				pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

		}
	}
Error in my Work' u.u
Error Man....

Code:
1>------ Build started: Project: Malatorta's MenuD3D, Configuration: Debug Win32 ------
1>  D3dbase.cpp
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(40): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(47): error C3861: 'DrawBox': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(48): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(53): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(102): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(104): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(121): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(123): error C3861: 'PrintText': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(166): error C2664: 'GetModuleHandleW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(169): error C3861: 'FindPattern': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(172): error C3861: 'DetourFunction': identifier not found
1>c:\users\matheus\documents\visual studio 2010\projects\malatorta's menud3d\malatorta's menud3d\d3dbase.cpp(173): error C3861: 'DetourFunction': identifier not found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I need att this adress???

Helpppp'
Nice job bro.
Posts 46–60 of 120 · Page 4 of 8

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?