Code:
#include "Base.h"
#include "Menu.h"
#include <d3dx9.h>
#pragma comment(lib, "d3dx9.lib")
//Menu Position
int menux = 20;
int menuy = 200;
//Hack Variables
int test1 = 0;
int test2 = 0;
int test3 = 0;
int test4 = 0;
int test5 = 0;
int test6 = 0;
int test7 = 0;
//Menu Groups
int player = 0;
int removals = 0;
int visual = 0;
void cMenu::RenderMenu(void)
{
AddItem(" [ Visuals ]", Opt_Folder, &visual, 2, MENUFOLDER);
if(visual){
AddItem("Nexon Chams" , Opt_on_off , &test1 , 2, MENUITEM);//
AddItem("Tracers" , Opt_on_off , &test2 , 2 , MENUITEM);//
}
AddItem(" [ Removals ]", Opt_Folder, &removals, 2, MENUFOLDER);
if (removals) {
AddItem("No Spread" , Opt_on_off , &test3 , 2, MENUITEM);//
AddItem("No Reload" , Opt_on_off , &test4 , 2, MENUITEM);//
AddItem("No Gun" , Opt_on_off , &test5 , 2, MENUITEM);//
}
AddItem(" [ Player ]", Opt_Folder, &player, 2, MENUFOLDER);
if(player){
AddItem("Speed" , Opt_times , &test6 , 5, MENUITEM);//
AddItem("Jump" , Opt_times , &test7 , 5, MENUITEM);//
}
}
cBase Base;
void __cdecl cBase::PushToConsole(const char* szCommand )
{
DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
if( dwCShell != NULL )
{
DWORD *LTClient = ( DWORD* )( 0x377F4930 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
}
void cBase::RenderFrame(LPDIRECT3DDEVICE9 pDevice)
{
if(Directx.pFont == NULL)
D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &Directx.pFont );
if (Mmax==0) Menu.RenderMenu();
//Visual
if( test1 == 1 ){
PushToConsole("SkelModelStencil -1" );
}else{
PushToConsole("SkelModelStencil 0");
}
if( test2 == 1 ){
PushToConsole("ShowFirePath 1" );
}else{
PushToConsole("ShowFirePath 0");
}
//Removals
if( test3 == 1 ){
PushToConsole("PerturbRotationEffect 0.000000" );
PushToConsole("PerturbIncreaseSpeed 0.000000" );
PushToConsole("PerturbWalkPercent 0.000000" );
PushToConsole("PerturbFiringIncreaseSpeed 0.000000" );
PushToConsole("PerturbRecoil 0.000000" );
PushToConsole("FireMovePerturb 0.000000" );
PushToConsole("ZoomedFireMoveDuckPerturb 0.000000" );
PushToConsole("ZoomedFireMovePerturb 0.000000" );
PushToConsole("ZoomedFireDuckPerturb 0.000000" );
}else{
PushToConsole("PerturbRotationEffect 5.000000" );
PushToConsole("PerturbIncreaseSpeed 5.000000" );
PushToConsole("PerturbWalkPercent 5.000000" );
PushToConsole("PerturbFiringIncreaseSpeed 5.000000" );
PushToConsole("PerturbRecoil 5.000000" );
PushToConsole("FireMovePerturb 5.000000" );
PushToConsole("ZoomedFireMoveDuckPerturb 5.000000" );
PushToConsole("ZoomedFireMovePerturb 5.000000" );
PushToConsole("ZoomedFireDuckPerturb 5.000000" );
}
if( test4 == 1 ){
PushToConsole("ReloadSpeed 0.000000" );
}else{
PushToConsole("ReloadSpeed 1.250000" );
}
if( test5 == 1 ){
PushToConsole("drawguns 0" );
}else{
PushToConsole("drawguns 1");
}
//Player//
if( test6 == 0){
PushToConsole("BaseMoveAccel 500.000000");
PushToConsole("StartAccel 2000.000000");
}
if( test6 == 1 ){
PushToConsole("BaseMoveAccel 1000.000000");
PushToConsole("StartAccel 3000.000000");
}
if( test6 == 2){
PushToConsole("BaseMoveAccel 1500.000000");
PushToConsole("StartAccel 3000.000000");
}
if( test6 == 3){
PushToConsole("BaseMoveAccel 2000.000000");
PushToConsole("StartAccel 3000.000000");
}
if( test6 == 4){
PushToConsole("BaseMoveAccel 2500.000000");
PushToConsole("StartAccel 3000.000000");
}
if( test6 == 5){
PushToConsole("BaseMoveAccel 3000.000000");
PushToConsole("StartAccel 3000.000000");
}
if( test7 == 0){
PushToConsole("JumpVel 100.000000" );
}
if( test7 == 1){
PushToConsole("JumpVel 200.000000" );
}
if( test7 == 2){
PushToConsole("JumpVel 300.000000" );
}
if( test7 == 3){
PushToConsole("JumpVel 400.000000" );
}
if( test7 == 4){
PushToConsole("JumpVel 500.000000" );
}
if( test7 == 5){
PushToConsole("JumpVel 600.000000" );
}
if(Mvisible){
//Do You Gui/Drawbox Here
}
Menu.MenuShow(menux,menuy,Directx.pFont);
Menu.MenuNav();
}
DWORD cBase::GetPointer(int index)
{
DWORD* devicePtr = ***(DWORD****)0x909EF8;
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;
}
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);
}
return TRUE;
}