its gellins base
also im not gunna relese because its realy just a private hack for me that i can keep updating
ty and i also need to know how to save it as a .dll and get the menu working
Code:
////////////////////////////////////////////////////
// Credits
//
// Gellin08 aka Gellin( Tha Base )
// tim0n and ****** (Getpointer and wait functions)
// Ghoster ( pro )
// Sinner ( Cdetour mods )
// z0mbie ( ADE32 )
// LanceVorigin ( original cdetour class )
// Micro ( original menu )
#include "Base.h"
#include "Menu.h"
cBase Base;
void __cdecl cBase::PushToConsole( const char* szCommand )
{
DWORD *L***ient = ( DWORD* )( 0x37775D68 );
void* CONoff = ( void* )*( DWORD* )( *L***ient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
//Every Frame
void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{
if( !Base.bSet.bInit )
{
D3DXCreateFont(pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &Directx.pFont);
Base.bSet.bInit = true;
}
if( Directx.pFont == NULL )
Directx.pFont->OnLostDevice();
else
{
Directx.DrawString(10, 22, D3DCOLOR_ARGB(255, 255, 0, 0), Directx.pFont, "[FU-CA]v2 By Gellin for www.*********.com");
Menu.RenderMenu();
}
if( Menu.mOpt[2].nopt > 0 )//Fly Hack
if( GetAsyncKeyState( FLYKEY ) < 0 )
this->PushToConsole( "PlayerGravity 800" );
else
this->PushToConsole( "PlayerGravity -800" );
if( Menu.mOpt[12].nopt > 0 )
Menu.PanicKey();
}
//4x Per Second
void cBase::Update(void)
{
while(1)
{
if( Menu.mOpt[1].nopt > 0 )//3D Box's
this->PushToConsole( "ModelDebug_DrawBoxes 1" );
else
this->PushToConsole( "ModelDebug_DrawBoxes 0" );
if( Menu.mOpt[3].nopt > 0 )//No Fog
this->PushToConsole( "FogEnable 0" );
else
this->PushToConsole( "FogEnable 1" );
Sleep(iRenderSpeed);
if( Menu.mOpt[4].nopt > 0 )//Speed Hack
{
this->PushToConsole("BaseMoveAccel 3000.000000");
this->PushToConsole("StartAccel 3000.000000");
this->PushToConsole("MaxAccel 3000.000000");
this->PushToConsole("AccelInc 3000.000000");
this->PushToConsole("WalkVel 3000.000000");
this->PushToConsole("FRunVel 3000.000000");
this->PushToConsole("BRunVel 3000.000000");
this->PushToConsole("SRunVel 3000.000000");
this->PushToConsole("JumpVel 3000.000000");
this->PushToConsole("DuckVel 3000.000000");
}else{
this->PushToConsole("BaseMoveAccel 3000.000000");
this->PushToConsole("StartAccel 500.000000");
this->PushToConsole("MaxAccel 3000.000000");
this->PushToConsole("AccelInc 6000.000000");
this->PushToConsole("WalkVel 70.000000");
this->PushToConsole("FRunVel 285.000000");
this->PushToConsole("BRunVel 285.000000");
this->PushToConsole("SRunVel 285.000000");
this->PushToConsole("JumpVel 330.000000");
this->PushToConsole("DuckVel 50.000000");
}
Sleep(iRenderSpeed);
if( Menu.mOpt[5].nopt > 0 )//Less Spread
{
this->PushToConsole("PerturbRotationEffect 0.000000");
this->PushToConsole("PerturbIncreaseSpeed 0.000000");
this->PushToConsole("PerturbWalkPercent 0.000000");
this->PushToConsole("PerturbFiringIncreaseSpeed 0.000000");
}else{
this->PushToConsole("PerturbRotationEffect 3.000000");
this->PushToConsole("PerturbIncreaseSpeed 3.000000");
this->PushToConsole("PerturbDecreaseSpeed 9.000000");
this->PushToConsole("PerturbWalkPercent 0.500000");
}
Sleep(iRenderSpeed);
switch ( Menu.mOpt[6].nopt )//This Doesnt move your player pos it moves your Cam Pos
{
case 0://Defualt
this->PushToConsole("CamMaxPosYOffset 200.000000");
this->PushToConsole("DuckDownCamOffSet -13.000000");
break;
case 1://Up in the Air after u hit CNTRL
this->PushToConsole("CamMaxPosYOffset 200.000000");
this->PushToConsole("DuckDownCamOffSet 1000.000000");
break;
case 2://Under the Map after u hit CNTRL
this->PushToConsole("CamMaxPosYOffset -1000.000000");
this->PushToConsole("DuckDownCamOffSet -13.000000");
break;
}
Sleep(iRenderSpeed);
if( Menu.mOpt[7].nopt > 0 )//Tracers
this->PushToConsole( "ShowFirePath 1" );
else
this->PushToConsole( "ShowFirePath 0" );
if( Menu.mOpt[8].nopt > 0 )//Windowed Mode
this->PushToConsole( "windowed 1" );
else
this->PushToConsole( "windowed 0" );
if( Menu.mOpt[9].nopt > 0 )//Fps
this->PushToConsole( "ShowFps 1");
else
this->PushToConsole( "ShowFps 0");
if( Menu.mOpt[10].nopt > 0 )// Unlock Cursor
this->PushToConsole( "CursorCenter 0");
else
this->PushToConsole( "CursorCenter 1");
if( Menu.mOpt[11].nopt > 0 )//No Guns
this->PushToConsole("drawguns 0");
else
this->PushToConsole("drawguns 0");
Sleep(iRenderSpeed);
}
}
DWORD cBase::GetPointer(int index)
{
DWORD* devicePtr = ***(DWORD****)0x9096F8;
if( devicePtr == NULL )
return 0;
return devicePtr[index];
}
bool cBase::IsGameReadyForHook(void)
{
if( GetModuleHandle( "d3d9.dll" ) != NULL
&& GetModuleHandle( "ClientFX.fxd" ) != NULL
&& GetModuleHandle( "CShell.dll" ) != NULL )
return true;
return false;
}
DWORD WINAPI dwMainThread(LPVOID)
{
while ( !Base.IsGameReadyForHook() )
Sleep(iWaitTime);
Directx.Hook();
return 0;
}
DWORD WINAPI dwHackThread(LPVOID)
{
while( !Base.IsGameReadyForHook() )
Sleep(iWaitTime);
Base.Update();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
#ifdef LOG
DeleteFile(LogPath);
#endif
CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}