Thread: tool class

Page 1 of 3 123 LastLast
Results 1 to 15 of 45
  1. #1
    Crash's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    JAville
    Posts
    2,881
    Reputation
    163
    Thanks
    3,291
    My Mood
    Sleepy

    tool class

    My pro tools class
    it's mine jajaja
    i'm so pro
    Code:
    #include "tools.h"
    
    cTools* tools = NULL;
    
    #ifdef _DEBUG_
    void __cdecl cTools::add_log( char *file,  const char *fmt, ... )
    {
    
     	ofile.open( file , ios::app);
     
     	va_list va_alist;
     	char logbuf[256] = {0};
     
     	va_start (va_alist, fmt);
     	vsnprintf(logbuf + strlen(logbuf), sizeof(logbuf) - strlen(logbuf), fmt, va_alist);
     	va_end (va_alist);
     
     	ofile << logbuf << endl;
     
     	ofile.close();
    
     	return;
    
    }
    #endif
    
    void *cTools::DetourCreate( BYTE *src, const BYTE *dst )
    {
    ASM_STATIC_BYTE
    VM_START
    ASM_STATIC_BYTE
    	int len = 5;
    ASM_STATIC_BIT
    	BYTE *jmp = (BYTE*)malloc( len+5 );
    ASM_STATIC_BIT
    	DWORD dwBack;
    ASM_STATIC_BYTE
    	VirtualProtect( src, len, PAGE_EXECUTE_READWRITE, &dwBack );
    ASM_STATIC_BYTE
    	memcpy( jmp, src, len );	
    ASM_STATIC_BIT
    	jmp += len;
    ASM_STATIC_BIT
    	jmp[0] = 0xE9;
    ASM_STATIC_BYTE
    	*(DWORD*)( jmp+1 ) = (DWORD)( src+len - jmp ) - 5;
    ASM_STATIC_BIT
    	src[0] = 0xE9;
    ASM_STATIC_BYTE
    	*(DWORD*)( src+1 ) = (DWORD)( dst - src ) - 5;
    ASM_STATIC_BYTE
    	VirtualProtect( src, len, dwBack, &dwBack );
    ASM_STATIC_BIT
    VM_END
    ASM_STATIC_BYTE
    	return( jmp-len );
    ASM_LOL ASM_LOL ASM_LOL ASM_LOL ASM_LOL ASM_LOL ASM_LOL ASM_LOL ASM_LOL
    }
    
    static HWND OldWnd;
    
    char *cTools::GetActiveWindowTitleLowerCase( void )
    {
    	VM_START
    
    	char szWindow[256];
    
    	HWND TempWnd = GetForegroundWindow();
    
    	if( TempWnd != OldWnd )
    	{
    		OldWnd = TempWnd;
    		GetWindowText( TempWnd, szWindow, sizeof( szWindow ) );
    		CloseHandle( TempWnd );
    	}
    
    	int iWindowTextLength = strlen( szWindow );
    
    	for( int i = 0; i <= iWindowTextLength; i++ )
    		szWindow[i] = tolower( szWindow[i] );
    
    	VM_END
    
    		return szWindow;
    }
    
    // void cTools::CreateJump( DWORD dwOrigin, DWORD dwhkFunction )
    // {
    // 	VM_START
    // 
    // 	DWORD OldProtect;
    // 	VirtualProtect( (LPVOID) dwOrigin, 5, PAGE_EXECUTE_READWRITE, &OldProtect );
    // 
    // 	if( *(BYTE*)dwOrigin != 0xE9 )
    // 	{
    // 		*(BYTE*)dwOrigin = 0xE9;
    // 		*(DWORD*)( dwOrigin+1 ) = dwhkFunction - ( dwOrigin+5 );
    // 	}
    // 
    // 	VirtualProtect( (LPVOID) dwOrigin, 5, OldProtect, NULL );
    // 
    // 	VM_END
    // }
    
    //DWORD cTools::VirtualTableHook( DWORD* pdwVirtualTable, int iVTableIndex, DWORD dwhkFunction )
    //{
    //  VM_START
    //	DWORD dwOld, dwStor = 0x0;
    //	VirtualProtect( &pdwVirtualTable[ iVTableIndex ], 4, PAGE_EXECUTE_READWRITE, &dwOld );
    //
    //	dwStor = *(DWORD*)&pdwVirtualTable[ iVTableIndex ];
    //
    //	if( dwhkFunction !=  *(DWORD*)&pdwVirtualTable[ iVTableIndex ] )
    //		*(DWORD*)&pdwVirtualTable[ iVTableIndex ] = dwhkFunction;
    //	
    //	VirtualProtect( &pdwVirtualTable[ iVTableIndex ], 4, dwOld, &dwOld );
    //
    //  VM_END
    //
    //	return dwStor;
    //}  
    
    void cTools::MemCopy_s( void* pvAddress, const void* pvBuffer, size_t stLen )
    {
    ASM_STATIC_BIT
    VM_START
    ASM_STATIC_BIT
    	MEMORY_BASIC_INFORMATION mbi;
    ASM_STATIC_BYTE
    	VirtualQuery( ( void* )pvAddress, &mbi, sizeof( mbi ) );
    ASM_STATIC_BYTE
    	VirtualProtect( mbi.BaseAddress, mbi.RegionSize, PAGE_EXECUTE_READWRITE, &mbi.Protect );
    ASM_STATIC_BIT
    	memcpy( ( void* )pvAddress, ( void* )pvBuffer, stLen );
    ASM_STATIC_BIT
    	VirtualProtect( mbi.BaseAddress, mbi.RegionSize, mbi.Protect, &mbi.Protect );
    ASM_STATIC_BYTE
    	FlushInstructionCache( GetCurrentProcess( ), ( void* )pvAddress, stLen );
    ASM_STATIC_BYTE
    VM_END
    ASM_STATIC_BYTE
    }
    
    void cTools::WriteOpCode( void* pvAddress, void* pvBuffer, int len )
    {
    ASM_STATIC_BIT
    VM_START
    ASM_STATIC_BIT
    	if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
    		goto Skip;
    ASM_STATIC_BIT
    	this->MemCopy_s( pvAddress, pvBuffer, ( size_t )len );
    ASM_STATIC_BYTE
    Skip:
    VM_END
    }
    // 
    // void cTools::HideModule( HINSTANCE hModule )
    // {
    // 	DWORD dwPEB_LDR_DATA = 0;
    // 
    // 	_asm
    // 	{
    // 		pushad;
    // 		pushfd;
    // 		mov eax, fs:[30h]					// PEB
    // 		mov eax, [eax+0Ch]					// PEB->ProcessModuleInfo
    // 		mov dwPEB_LDR_DATA, eax				// Save ProcessModuleInfo
    // 
    // InLoadOrderModuleList:
    // 		mov esi, [eax+0Ch]					// ProcessModuleInfo->InLoadOrderModuleList[FORWARD]
    // 		mov edx, [eax+10h]					//  ProcessModuleInfo->InLoadOrderModuleList[BACKWARD]
    // 
    // LoopInLoadOrderModuleList: 
    // 		lodsd								//  Load First Module
    // 		mov esi, eax		    			//  ESI points to Next Module
    // 		mov ecx, [eax+18h]		    		//  LDR_MODULE->BaseAddress
    // 		cmp ecx, hModule		    		//  Is it Our Module ?
    // 		jne SkipA		    		    	//  If Not, Next Please (@f jumps to nearest Unamed Lable @@:)
    // 		mov ebx, [eax]						//  [FORWARD] Module 
    // 		mov ecx, [eax+4]    		    	//  [BACKWARD] Module
    // 		mov [ecx], ebx						//  Previous Module's [FORWARD] Notation, Points to us, Replace it with, Module++
    // 		mov [ebx+4], ecx					//  Next Modules, [BACKWARD] Notation, Points to us, Replace it with, Module--
    // 		jmp InMemoryOrderModuleList			//  Hidden, so Move onto Next Set
    // SkipA:
    // 		cmp edx, esi						//  Reached End of Modules ?
    // 		jne LoopInLoadOrderModuleList		//  If Not, Re Loop
    // 
    // InMemoryOrderModuleList:
    // 		mov eax, dwPEB_LDR_DATA				//  PEB->ProcessModuleInfo
    // 		mov esi, [eax+14h]					//  ProcessModuleInfo->InMemoryOrderModuleList[START]
    // 		mov edx, [eax+18h]					//  ProcessModuleInfo->InMemoryOrderModuleList[FINISH]
    // 
    // LoopInMemoryOrderModuleList: 
    // 		lodsd
    // 		mov esi, eax
    // 		mov ecx, [eax+10h]
    // 		cmp ecx, hModule
    // 		jne SkipB
    // 		mov ebx, [eax] 
    // 		mov ecx, [eax+4]
    // 		mov [ecx], ebx
    // 		mov [ebx+4], ecx
    // 		jmp InInitializationOrderModuleList
    // SkipB:
    // 		cmp edx, esi
    // 		jne LoopInMemoryOrderModuleList
    // 
    // InInitializationOrderModuleList:
    // 		mov eax, dwPEB_LDR_DATA				     //  PEB->ProcessModuleInfo
    // 		mov esi, [eax+1Ch]						 //  ProcessModuleInfo->InInitializationOrderModuleList[START]
    // 		mov edx, [eax+20h]						 //  ProcessModuleInfo->InInitializationOrderModuleList[FINISH]
    // 
    // LoopInInitializationOrderModuleList: 
    // 		lodsd
    // 		mov esi, eax		
    // 		mov ecx, [eax+08h]
    // 		cmp ecx, hModule		
    // 		jne SkipC
    // 		mov ebx, [eax] 
    // 		mov ecx, [eax+4]
    // 		mov [ecx], ebx
    // 		mov [ebx+4], ecx
    // 		jmp Finished
    // SkipC:
    // 		cmp edx, esi
    // 		jne LoopInInitializationOrderModuleList
    // 
    // Finished:
    // 		popfd;
    // 		popad;
    // 	}
    // }
    Last edited by Crash; 01-05-2011 at 07:32 PM.

  2. The Following 2 Users Say Thank You to Crash For This Useful Post:

    CABR_F371P3 (01-05-2011),luccss (01-05-2011)

  3. #2
    GodHack2's Avatar
    Join Date
    May 2010
    Gender
    male
    Posts
    644
    Reputation
    38
    Thanks
    762
    My Mood
    Amused
    Good Job





    beat this bitches ^^^^^^^

    Current Stats : Bored :/


    Respect list :
    Crash !
    Gordon'
    Markoj

  4. #3
    markoj's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    s
    Posts
    1,064
    Reputation
    60
    Thanks
    407
    My Mood
    Bored
    mmz how can i get a Static Close handle for int i = 0; i <= iWindowTextLength; i++
    if HWND TempWnd = GetForegroundWindow();
    Dont ban me

  5. #4
    Crash's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    JAville
    Posts
    2,881
    Reputation
    163
    Thanks
    3,291
    My Mood
    Sleepy
    Thx men
    here my menu file too
    Code:
    #include "menu.h"
    
    cMenu* menu  =  NULL;
    
    char *Speed[5]	    = { "Off", "Legit", "Fast", "Faster", "Super Fast" };
    char *RKILL[5]		= { "Off", "Head", "Chest", "Neck", "Pelvis" };
    char *Bones[4]		= { "Head", "Chest", "Neck", "Pelvis" };
    char *LinesEsp[4]	= { "Off", "Bottom", "Middle", "Top" };
    char *AimSpots[2]	= { "Distance", "Crosshair" };
    char *Esp[3]	    = { "Off", "Enemy", "All" };
    char *FOV[2]		= { "180",	"360" };
    char *OnOff[2]		= { "Off", "On" };
    char *NA			= "NA";
    
    //char *Speed[5]	    = { "0", "1", "2", "3", "4" };
    //char *LinesEsp[4]	= { "0", "1", "2", "3" };
    //char *Bones[4]		= { "0", "1", "2", "3" };
    //char *AimSpots[2]	= { "1", "2" };
    //char *Esp[3]	    = { "0", "1", "2" };
    //char *OnOff[2]		= { "0", "1" };
    //char *Telekill[3]   = { "0", "1", "2" };
    //char *FOV[2]		= { "180",	"360" };
    
    //Make a new Hotkey Method
    
    char *Keys[166] =
    {
    	"OFF", "LBUTTON", "RBUTTON", "CANCEL", "MBUTTON", "MOUSE3", "MOUSE4", NA, "BACK", "TAB", 
    	NA, NA, "CLEAR", "ENTER", NA, NA, "SHIFT", "CONTROL", "ALT", "PAUSE", 
    	"CAPITAL", "KANA", NA, "JUNJA", "FINAL", "HANJA", NA, "ESCAPE", "CONVERT", "NOCONVERT", 
    	"ACCEPT", "MODECHANGE", "SPACE", "PRIOR", "NEXT", "END", "HOME", "LEFT", "UP", "RIGHT",
    	"DOWN", "SELECT", "PRINT", "EXECUTE", "SNAPSHOT", "INSERT", "DELETE", "HELP", "0", "1",
    	"2", "3", "4", "5", "6", "7", "8", "9", NA, NA,
    	NA, NA, NA, NA, NA, "A", "B", "C", "D", "E", 
    	"F", "G", "H", "I", "J", "K", "L", "M", "N", "O", 
    	"P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y",
    	"Z", "LWIN", "RWIN", "APPS", NA, "SLEEP", "NUMPAD0", "NUMPAD1", "NUMPAD2", "NUMPAD3",
    	"NUMPAD4", "NUMPAD5", "NUMPAD6", "NUMPAD7", "NUMPAD8", "NUMPAD9", "MULTIPLY", "ADD", "SEPARATOR", "SUBTRACT", 
    	"DECIMAL", "DIVIDE", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", 
    	"F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18",
    	"F19", "F20", "F21", "F22", "F23", "F24", NA, NA, NA, NA,
    	NA, NA, NA, NA, "NUMLOCK", "SCROLL", NA, NA, NA, NA,
    	NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
    	"LSHIFT", "RSHIFT", "LCONTROL", "RCONTROL", "LALT", "RALT"
    };
    
    
    int cMenu::CheckTabs( float x, float y, float w, float h )
    {
    	if( Cur.x > x && Cur.x < x+w && Cur.y > y && Cur.y < y+h )
    	{
    		if( GetAsyncKeyState( VK_LBUTTON ) < 0 )
    		{
    			for( int i2 = 0; i2 < mSet.MaxTabs; i2++ )
    			{
    				if( i2 != mSet.TotalTabs )
    					Tab[i2].OnOff = false;
    			}
    			return 1;
    		}
    		return 2;
    	}
    	return 0;
    }
    
    int cMenu::GlobalCheck( int i, float x, float y, float w, float h, int speed, CTimer* timerList )
    {
    	if( Cur.x > x && Cur.x < x+w && Cur.y > y && Cur.y < y+h  )
    	{
    		if( GetAsyncKeyState( VK_LBUTTON ) < 0 )
    		{
    			if( !timerList[i]****nning() )
    			{
    				timerList[i].Start( (float)speed );
    				return 1;
    			}
    		}
    		return 2;
    	}
    	return 0;
    }
    
    // < OPTION > Cycle'r aka ArrowList ?
    int cMenu::ArrowList( int i, float x, float y, int max, char** Array, char *Title, int Speed )
    {
    	int Check1 = GlobalCheck( i, x, y - 1, 18, 18, Speed, AreaCheck ); 
    	int Check2 = GlobalCheck(  i, x + 119, y, 18, 18, Speed, AreaCheck );
    
    	if( Arr[i].Value == 0 )
    		if( Check1 == 1 )
    			Arr[i].Value = max + 1;
    
    	if( Arr[i].Value == max )
    		if( Check2 == 1 )
    			Arr[i].Value = -1;
    
    	if( Arr[i].Value > 0 )
    		if( Check1 == 1 )
    			Arr[i].Value -= 1;
    
    	if( Arr[i].Value < max )
    		if( Check2 == 1 )
    			Arr[i].Value += 1;
    
    	DWORD dwArrowColor1 = 0xFFFFFFFF;
    	DWORD dwArrowColor2 = 0xFFFFFFFF;
    
    	if( Check1 == 2 )
    		dwArrowColor1 = DarkOutline;
    	else if( Check2 == 2 )
    		dwArrowColor2 = DarkOutline;
    
    	//////////////////////////////////////////////////////////////////////////
    	//Left Button
    	//////////////////////////////////////////////////////////////////////////
    	d3d->DrawBorder( x, y, 15, 15, LightOutline, DarkOutline );
    	engine->RenderString( engine->GetMenuFont(), x + 4, y + 1, main->ToWideString( STRING_DECREASE ), dwArrowColor1 );
    
    	//////////////////////////////////////////////////////////////////////////
    	//Right Button
    	//////////////////////////////////////////////////////////////////////////
    	d3d->DrawBorder( x + 121, y, 15, 15, LightOutline, DarkOutline );
    	engine->RenderString( engine->GetMenuFont(), x + 125, y + 1, main->ToWideString( STRING_INCREASE ), dwArrowColor2 );
    
    	//////////////////////////////////////////////////////////////////////////
    	//Print Name From Array
    	//////////////////////////////////////////////////////////////////////////
    
    	char Final[64];
    
    	//Display List of Chars
    	if( Array != NULL )
    	{
    		if( Title == NULL )
    		{
    			engine->RenderString( engine->GetMenuFont(), x + 48, y + 2, main->ToWideString( Array[Arr[i].Value] ), White );
    		}
    		else
    		{
    			sprintf( Final, STRING_SS, Title, Array[Arr[i].Value] );
    			engine->RenderString( engine->GetSmallFont(), x + 21, y + 2, main->ToWideString( Final ), White );
    		}
    	}
    	else //Display INT
    	{
    		sprintf( Final, STRING_SI, Title, Arr[i].Value );
    		engine->RenderString( engine->GetSmallFont(), x + 21, y + 2, main->ToWideString( Final ), White );
    	}
    
    	return Arr[i].Value;
    }
    
    void cMenu::DrawCheckBox( int i, char *Text, float x, float y )
    {
    	cBox[i].name = Text;
    
    	int Check = GlobalCheck( i, x, y - 1, 145, 17, 170, ClickCheck );
    
    	if( Check == 1 )
    		cBox[i].OnOff =! cBox[i].OnOff;
    
    	if( cBox[i].OnOff )
    	{
    		d3d->DrawBorder( x, y, 15, 15, DarkOutline, LightOutline );
    		d3d->DrawCheck( 0xFFFFFFFF, x + 4, y + 7 );
    	}
    	else
    		d3d->DrawBorder( x, y, 15, 15, LightOutline, DarkOutline );
    
    	DWORD TextColor = White;
    
    	if( Check == 2 )
    		TextColor = DarkOutline;
    
    	engine->RenderString( engine->GetSmallFont(), x + 22, y + 2, main->ToWideString( Text ), TextColor );
    }
    
    void cMenu::DrawTabButton( char *Text, float w, float h, float x, float y )
    {
    	Tab[mSet.TotalTabs].name = Text;
    
    	if( CheckTabs( x, y, w, h ) == 1 )
    		if( Tab[mSet.TotalTabs].OnOff != true )		
    			Tab[mSet.TotalTabs].OnOff = true;	
    
    	if( Tab[mSet.TotalTabs].OnOff )
    		d3d->DrawBorderWithFill( x, y, w, h, DarkOutline, LightOutline, LightAvacado );
    	else
    		d3d->DrawBorderWithFill( x, y, w, h, LightOutline, DarkOutline, LightAvacado );
    
    	float TextX = strlen( Text ) * 2.5f;
    
    	engine->RenderString( engine->GetMenuFont(), ( x + 28 ) - (int)TextX, y + 3, main->ToWideString( Text ), White );
    
    	if( !Tab[mSet.TotalTabs].OnOff )
    		if( CheckTabs( x, y, w, h ) == 1 || CheckTabs( x, y, w, h ) == 2 )
    			engine->RenderString( engine->GetMenuFont(), ( x + 28 ) - (int)TextX, y + 3, main->ToWideString( Text ), DarkOutline );
    
    	mSet.TotalTabs++;
    }
    
    void cMenu::RenderMenu( float x, float y, float w, float h )
    {
    	if( !d3d->pDevice )
    		return;
    
    	if( GetAsyncKeyState( iMenuKey ) &1 )
    		mSet.Show = !mSet.Show;
    
    	if( mSet.Show )
    	{
    		mSet.TotalTabs = 0;
    
    		//////////////////////////////Main Gui Design/////////////////////////////
    		//Outline
    		d3d->DrawBorder( x - 1, y - 1, w + 1, h + 1, LightOutline, DarkOutline );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Outside Border
    		d3d->DrawFilledRectangle( x, y, w, h, LightAvacado );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Title Text
    		//engine->RenderString( engine->GetMenuFont(), ( w / 2 ) - 21, y + 4, main->ToWideString( STRING_MENU_TITLE ), OffYellow );
    		engine->RenderString( engine->GetSmallFont(), ( w / 2 ) - 21, y + 4, main->ToWideString( STRING_MENU_TITLE ), 0xFFFFFFFF );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Inside Outline
    		d3d->DrawBorder( x + 7, y + 21, w - 16, h - 30, DarkOutline, LightOutline );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Inside DarkerFill
    		d3d->DrawFilledRectangle( x + 8, y + 22, w - 17, h - 31, DarkInsideFill );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Option Outline
    		d3d->DrawBorder( x + 22, y + 51, w - 46, h - 71, DarkOutline, LightOutline );
    
    		//////////////////////////////////////////////////////////////////////////
    		//Option Light Fill
    		d3d->DrawFilledRectangle( x + 23, y + 52, w - 47, h - 72, LightAvacado );
    
    		//Unlock Cursor
    		//*(int*)ADDR_CURSORCENTER = 0;
    		engine->GetLTBase()->RunConsoleCommand( STRING_MENU_CCENTER );
    		
    		//GetCursor Pos
    		GetCursorPos( &Cur );
    
    		//////////////////////////////////////////////////////////////////////////
    		////////////////////////////// Tab Handling   ////////////////////////////
    		//////////////////////////////////////////////////////////////////////////
    
    		DrawTabButton( STRING_MENU_TAB_AIMBOT,	62, 20, x + 22, y + 26 );
    		DrawTabButton( STRING_MENU_TAB_ESP,		62, 20, x + 89, y + 26 );
    		DrawTabButton( STRING_MENU_TAB_MEMORY,	62, 20, x + 157, y + 26 );
    		DrawTabButton( STRING_MENU_TAB_OTHERS,	62, 20, x + 225, y + 26 );
    		DrawTabButton( STRING_MENU_TAB_CONFIG,	63, 20, x + 293, y + 26 );
    
    		float LeftButtonX = x + 40;
    		float RightButtonX = LeftButtonX + 160;
    
    		//////////////////////////////////////////////////////////////////////////
    		//Aimbot Settings
    		if( Tab[0].OnOff )
    		{
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side
    			DrawOptionGrouping( LeftButtonX - 11, y + 60, h - 90, STRING_MENU_GROUPING_AIMBOT, -2 );
    
    			DrawCheckBox( 4, STRING_MENU_CBOX_ACTIVATEBOT,  LeftButtonX, y + 70 );
    			DrawCheckBox( 1, STRING_MENU_CBOX_AUTOAIM,		LeftButtonX, y + 90 );
    			DrawCheckBox( 2, STRING_MENU_CBOX_AUTOFIRE,		LeftButtonX, y + 110 );
    			DrawCheckBox( 3, STRING_MENU_CBOX_VISIBLE_ONLY,	LeftButtonX, y + 130 );
    			DrawCheckBox( 6, STRING_MENU_CBOX_AIM_AT_TEAM,	LeftButtonX, y + 150 );
    			DrawCheckBox( 5, STRING_MENU_CBOX_SPAWN_CHECK,  LeftButtonX, y + 170 );
    
    			//////////////////////////////////////////////////////////////////////////
    			//Right Side
    			DrawOptionGrouping( RightButtonX - 7, y + 60, h - 90, STRING_MENU_GROUPING_AIMCONFIG, -2 );
    
    			AimBone = ArrowList( 0, RightButtonX + 3, y + 70, 3,  Bones,    STRING_MENU_CBOX_AIMBONE, 170 );
    			AimMode = ArrowList( 1, RightButtonX + 3, y + 90, 1,  AimSpots, STRING_MENU_CBOX_AIMMODE, 170 );
    			MaxFov  = ArrowList( 2, RightButtonX + 3, y + 110, 1, FOV,	    STRING_MENU_CBOX_MAXFOV,  170 );
    
    			DrawCheckBox( 29, STRING_MENU_CBOX_AUTOSWITCH,	  RightButtonX + 3,	y + 130 );
    			DrawCheckBox( 54, STRING_MENU_CBOX_FPSCORRECTION, RightButtonX + 3, y + 150 );
    			DrawCheckBox( 56, STRING_MENU_CBOX_PREDICTION,	  RightButtonX + 3, y + 170 );
    		}
    
    		//////////////////////////////////////////////////////////////////////////
    		//Esp Settings
    		if( Tab[1].OnOff )
    		{
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side
    			DrawOptionGrouping( LeftButtonX - 11, y + 60, h - 90, STRING_MENU_GROUPING_PLAYER, 4 );
    
    			NameEsp		= ArrowList( 3, LeftButtonX, y + 70,  2, Esp,	   STRING_MENU_CBOX_NAME,	  170 );
    			DistanceEsp	= ArrowList( 4, LeftButtonX, y + 90,  2, Esp,	   STRING_MENU_CBOX_DISTANCE, 170 );
    			HealthBars	= ArrowList( 5, LeftButtonX, y + 110, 2, Esp,	   STRING_MENU_CBOX_HEALTH,	  170 );
    			BoxEsp		= ArrowList( 6, LeftButtonX, y + 130, 2, Esp,	   STRING_MENU_CBOX_BOX,	  170 );
    			LineEsp		= ArrowList( 7, LeftButtonX, y + 150, 3, LinesEsp, STRING_MENU_CBOX_LINES,	  170 );
    
    			DrawCheckBox( 27, STRING_MENU_CBOX_VIS_CHECK,	LeftButtonX,  y + 170 );
    			DrawCheckBox( 24, STRING_MENU_CBOX_BEHINDYOU,	LeftButtonX,  y + 190 );
    			DrawCheckBox( 25, STRING_MENU_CBOX_VISBILEWARN, LeftButtonX,  y + 210 );
    			DrawCheckBox( 28, STRING_MENU_CBOX_NPC,		    LeftButtonX,  y + 230 );
    
    			//////////////////////////////////////////////////////////////////////////
    			//Right Side
    			DrawOptionGrouping( RightButtonX - 7, y + 60, h - 90, STRING_MENU_GROUPING_OBJECT, 4 );
    
    			DrawCheckBox( 18, STRING_MENU_CBOX_EXPLOSIVE_NAME,	RightButtonX + 3, y + 70 );
    			DrawCheckBox( 19, STRING_MENU_CBOX_EXP_OWNER,		RightButtonX + 3, y + 90 );
    			DrawCheckBox( 20, STRING_MENU_CBOX_EXP_DISTANCE,	RightButtonX + 3, y + 110 );
    			DrawCheckBox( 21, STRING_MENU_CBOX_EXP_WARNING,		RightButtonX + 3, y + 130 );
    			DrawCheckBox( 22, STRING_MENU_CBOX_PICKUP,			RightButtonX + 3, y + 150 );
    			DrawCheckBox( 23, STRING_MENU_CBOX_PICKUP_DISTANCE,	RightButtonX + 3, y + 170 );
    		}
    
    		//////////////////////////////////////////////////////////////////////////
    		//Memory Settings
    		if( Tab[2].OnOff )
    		{		
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side Memory Hacks
    			DrawOptionGrouping( LeftButtonX - 11, y + 60, h - 90, STRING_MENU_GROUPING_MEM, 3 );
    
    			DrawCheckBox( 0,  STRING_MENU_CBOX_2DRADAR,		  LeftButtonX, y + 70 );
    			DrawCheckBox( 48, STRING_MENU_CBOX_STATS,		  LeftButtonX, y + 90 );
    			DrawCheckBox( 58, STRING_MENU_CBOX_DRAWFPS,		  LeftButtonX, y + 110 );
    			DrawCheckBox( 50, STRING_MENU_CBOX_UNLIMITEDSTAM, LeftButtonX, y + 130 );
    			DrawCheckBox( 45, STRING_MENU_CBOX_CHAMS,		  LeftButtonX, y + 150 );
    			DrawCheckBox( 12, STRING_MENU_CBOX_EAGLE,		  LeftButtonX, y + 170 );
    			DrawCheckBox( 14, STRING_MENU_CBOX_FLY,			  LeftButtonX, y + 190 );
    
    			//////////////////////////////////////////////////////////////////////////
    			//Right Side Rage Hacks
    			DrawOptionGrouping( RightButtonX - 7, y + 60, h - 90, STRING_MENU_GROUPING_RAGE, 8 );
    
    			DrawCheckBox( 57, STRING_MENU_CBOX_SUPERBULLETS,  RightButtonX + 3, y + 70 );
    			DrawCheckBox( 44, STRING_MENU_CBOX_WEAPONRANGE,	  RightButtonX + 3,	y + 90 );
    			DrawCheckBox( 39, STRING_MENU_CBOX_SERVERCRASHER, RightButtonX + 3, y + 110 );
    			DrawCheckBox( 42, STRING_MENU_CBOX_SPAMMER,		  RightButtonX + 3, y + 130 );
    			DrawCheckBox( 59, STRING_MENU_CBOX_TELEKILL,	  RightButtonX + 3, y + 150 );
    			DrawCheckBox( 13, STRING_MENU_CBOX_ADISTANCE,	  RightButtonX + 3, y + 170 );
    
    			iSpeed	    = ArrowList( 11, RightButtonX + 3, y + 190, 4, Speed, STRING_MENU_CBOX_SPEED,  170 );
    			iRemoteKill = ArrowList( 12, RightButtonX + 3, y + 210, 1, RKILL, STRING_MENU_ARRR_REMOTEKILL, 170 ); //Limited to 1
    		}
    
    		//////////////////////////////////////////////////////////////////////////
    		//Other
    		if( Tab[3].OnOff )
    		{
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side Removals
    			DrawOptionGrouping( LeftButtonX - 11, y + 60, h - 90, STRING_MENU_GROUPING_REMOVALS, -2 );
    				
    			DrawCheckBox( 30, STRING_MENU_CBOX_AIMCORRECTION, LeftButtonX, y + 70 );
    			DrawCheckBox( 31, STRING_MENU_CBOX_SPREAD,		  LeftButtonX, y + 90 );
    			DrawCheckBox( 32, STRING_MENU_CBOX_NOFOG,	      LeftButtonX, y + 110 );
    			DrawCheckBox( 33, STRING_MENU_CBOX_NOCAMDAM,	  LeftButtonX, y + 130 );
    			//DrawCheckBox( 34, STRING_MENU_CBOX_NOSFX,		  LeftButtonX, y + 150 );
    			DrawCheckBox( 35, STRING_MENU_CBOX_NOGUN,	      LeftButtonX, y + 150 );
    			//DrawCheckBox( 37, no sway seperate,			  LeftButtonX, y + 190 );
    
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side MISC
    			DrawOptionGrouping( RightButtonX - 7, y + 60, h - 90, STRING_MENU_GROUPING_MISC, 9 );
    
    			DrawCheckBox( 7, STRING_MENU_CBOX_HULK,			RightButtonX + 3, y + 70 );
    			DrawCheckBox( 8, STRING_MENU_CBOX_WINDOWED,		RightButtonX + 3, y + 90 );
    			DrawCheckBox( 9, STRING_MENU_CBOX_TRACERS,		RightButtonX + 3, y + 110 );
    			DrawCheckBox( 10, STRING_MENU_CBOX_FULLBRIGHT,	RightButtonX + 3, y + 130 );
    			//DrawCheckBox( 11, STRING_MENU_CBOX_CROSSHAIR,	RightButtonX + 3, y + 150 );
    		}
    
    		//////////////////////////////////////////////////////////////////////////
    		//Config Settings
    		if( Tab[4].OnOff )
    		{
    			//////////////////////////////////////////////////////////////////////////
    			//Left Side
    			DrawOptionGrouping( LeftButtonX - 11, y + 60, h - 90, STRING_MENU_GROUPING_CONFIG, 10 );
    
    			iAimKey		= ArrowList( 8, LeftButtonX, y + 70, 165, Keys, STRING_MENU_CBOX_AIMKEY,	  170 );
    			iMenuKey	= ArrowList( 9, LeftButtonX, y + 90, 165, Keys, STRING_MENU_CBOX_MENUKEY,	  170 );
    			iTeleKey	= ArrowList( 10, LeftButtonX, y + 110, 165, Keys, STRING_MENU_CBOX_TELEKEY,	  170 );
    		}
    
    		if( !LockView )
    		{
    			Pitch = engine->GetPlayerMgr()->Pitch;
    			Yaw = engine->GetPlayerMgr()->Yaw;
    
    			LockView = true;
    		}
    
    		engine->GetPlayerMgr()->Pitch = Pitch;
    		engine->GetPlayerMgr()->Yaw = Yaw;
    
    		d3d->DrawMouse( White, Black );
    	}
    	else if( !mSet.Show )
    		LockView = false;
    }
    
    void cMenu::DrawGuiBox( float x, float y, float w, float h, char *Text )
    {
    	//Outline
    	d3d->DrawBorder( x - 1, y - 1, w + 1, h + 1, LightOutline, DarkOutline );
    
    	//Outside Border
    	d3d->DrawFilledRectangle( x, y, w, h, LightAvacado );
    
    	//Title Text
    	engine->RenderString( engine->GetMenuFont(), x + ( w / 2 ) - strlen( Text ) * 2.5, y + 4, main->ToWideString( Text ), 0xFFFFFFFF );
    
    	//Inside Outline
    	d3d->DrawBorder( x + 7, y + 21, w - 16, h - 30, DarkOutline, LightOutline );
    
    	//Inside DarkerFill
    	d3d->DrawFilledRectangle( x + 8, y + 22, w - 17, h - 31, DarkInsideFill );
    }
    
    void cMenu::DrawOptionGrouping( float x, float y, float h, char *Text, int TextXOffset )
    {
    	//Left Top Horizontal  
    	d3d->DrawFilledRectangle( x, y, 30, 2, DarkInsideFill );
    
    	//Left Vertical
    	d3d->DrawFilledRectangle( x, y, 2, h, DarkInsideFill );
    
    	//Right Top Horizontal 
    	d3d->DrawFilledRectangle( x + 127, y, 27, 2, DarkInsideFill );
    
    	//Bottom
    	d3d->DrawFilledRectangle( x, y + h, 157, 2, DarkInsideFill );
    
    	d3d->DrawFilledRectangle( x + 154, y, 2, h, DarkInsideFill );
    
    	engine->RenderString( engine->GetSmallFont(), ( x + 44 ) + TextXOffset, y - 7, main->ToWideString( Text ), 0xFFFFFFFF );
    }

  6. #5
    Synns's Avatar
    Join Date
    May 2007
    Gender
    male
    Posts
    5,174
    Reputation
    170
    Thanks
    2,557
    My Mood
    Bitchy
    I bet you $10 someone who has this base will start a VIP site by the end of next week.

    CA will be the new WarRock; people will start their own VIP site all having the same base.

  7. #6
    Crash's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    JAville
    Posts
    2,881
    Reputation
    163
    Thanks
    3,291
    My Mood
    Sleepy
    Quote Originally Posted by Tyrannus View Post
    I bet you $10 someone who has this base will start a VIP site by the end of next week.

    CA will be the new WarRock; people will start their own VIP site all having the same base.
    Need new game

    Too many seepluspluses here.

  8. The Following 5 Users Say Thank You to Crash For This Useful Post:

    ғᴜᴋᴏᴊʀ (01-06-2011),GodHack2 (01-05-2011),markoj (01-05-2011),whatup777 (01-06-2011),Xlilzoosk8rX (01-08-2011)

  9. #7
    GodHack2's Avatar
    Join Date
    May 2010
    Gender
    male
    Posts
    644
    Reputation
    38
    Thanks
    762
    My Mood
    Amused
    Quote Originally Posted by Crash View Post
    Need new game

    Too many seepluspluses here.
    how about MAT?





    beat this bitches ^^^^^^^

    Current Stats : Bored :/


    Respect list :
    Crash !
    Gordon'
    Markoj

  10. The Following User Says Thank You to GodHack2 For This Useful Post:

    ^...,^ (01-06-2011)

  11. #8
    Crash's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    JAville
    Posts
    2,881
    Reputation
    163
    Thanks
    3,291
    My Mood
    Sleepy
    Quote Originally Posted by GodHack2 View Post
    how about MAT?
    wat........

  12. #9
    GodHack2's Avatar
    Join Date
    May 2010
    Gender
    male
    Posts
    644
    Reputation
    38
    Thanks
    762
    My Mood
    Amused
    Quote Originally Posted by Crash View Post
    wat........
    MAT: Mission Against Terror





    beat this bitches ^^^^^^^

    Current Stats : Bored :/


    Respect list :
    Crash !
    Gordon'
    Markoj

  13. #10
    CABR_F371P3's Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    94
    Reputation
    10
    Thanks
    18
    My Mood
    Psychedelic
    Oh, nice code.

    Where are you seeplusplus? Are you in ban country?

  14. #11
    flayer669's Avatar
    Join Date
    Mar 2009
    Gender
    male
    Posts
    220
    Reputation
    19
    Thanks
    33
    My Mood
    Dead
    Lmfao, crash this isnt urs, give credits.


    why the fuck would you claim this as urs?
    Subscribe

    www.Youtube.com/XanaxEdits

    [IMG]https://img.photobucke*****m/albums/v739/gore_ridden/stroke.gif[/IMG]




    :yourock1:

  15. #12
    Crash's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    JAville
    Posts
    2,881
    Reputation
    163
    Thanks
    3,291
    My Mood
    Sleepy
    Quote Originally Posted by flayer669 View Post
    Lmfao, crash this isnt urs, give credits.


    why the fuck would you claim this as urs?
    100% MINE I MADE THIS DEFINITELY MINE MINE MINE MINE NOBODY ELSE MINE.

  16. #13
    markoj's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    s
    Posts
    1,064
    Reputation
    60
    Thanks
    407
    My Mood
    Bored
    Quote Originally Posted by Crash View Post
    100% MINE I MADE THIS DEFINITELY MINE MINE MINE MINE NOBODY ELSE MINE.
    I can confirm this, it really is his.
    Dont ban me

  17. #14
    flayer669's Avatar
    Join Date
    Mar 2009
    Gender
    male
    Posts
    220
    Reputation
    19
    Thanks
    33
    My Mood
    Dead
    No it really is, Gellins
    Subscribe

    www.Youtube.com/XanaxEdits

    [IMG]https://img.photobucke*****m/albums/v739/gore_ridden/stroke.gif[/IMG]




    :yourock1:

  18. #15
    whit's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Posts
    7,159
    Reputation
    490
    Thanks
    2,253
    Luls........

Page 1 of 3 123 LastLast