[Tutorial] Maintaining your auto on hack - Beginner's Guide
First you will need to read this guide by CoderNever - http://www.mpgh.net/forum/207-combat...arms-hack.html
You'll end up with a source code like this
As you can see it won't work as it's got an old LTC
A hack won't run without the LTC
The most current one is - 0x377ED910
With ever patch the LTC and other addresses will be changed.
You'll have to wait or ask another coder for the newly updated address
To update the LTClient you have to change this part of the code
With the newly updated LTC it will be
The whole source will then end up like this
After you've released your first hack or used for personal interest you'll want to add more features.
The full tutorial is here - http://www.mpgh.net/forum/207-combat...auto-hack.html
After you've read that you should get this.
If I wanted to add these features
- FPS
- No Fog
- Weapon Activation
- No Spread
I would have to change this in our first source
And add the PushToConsole sources
Which are
- FPS
- No Fog
- Weapon Activation
- No Spread
So in final our PushToConsole code's will end up like this
And in finally our whole source will end up like this
So in total all you need to do to update your hack is to update the latest LTC
Credit's
- Topblast
- Spook
- CoderNever
- DeadLinez
- CodeDemon
You'll end up with a source code like this
Code:
#include <windows.h>
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;
return false;
}
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x3778BFB0 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
void main()
{
while(true)
{
PushToConsole("SkelModelStencil 1");
}
}
DWORD WINAPI dwHackThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}
A hack won't run without the LTC
The most current one is - 0x377ED910
With ever patch the LTC and other addresses will be changed.
You'll have to wait or ask another coder for the newly updated address
To update the LTClient you have to change this part of the code
Code:
DWORD *LTClient = ( DWORD* )( 0x3778BFB0 );
Code:
DWORD *LTClient = ( DWORD* )( 0x377ED910 );
Code:
#include <windows.h>
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;
return false;
}
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x377ED910 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
void main()
{
while(true)
{
PushToConsole("SkelModelStencil 1");
}
}
DWORD WINAPI dwHackThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}
The full tutorial is here - http://www.mpgh.net/forum/207-combat...auto-hack.html
After you've read that you should get this.
If I wanted to add these features
- FPS
- No Fog
- Weapon Activation
- No Spread
I would have to change this in our first source
Code:
{
PushToConsole("SkelModelStencil 1");
}
}
Which are
- FPS
Code:
PushToConsole("ShowFps 1");
Code:
PushToConsole("FogEnable 1" );
Code:
PushToConsole("ActivationDistance 999999" );
Code:
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" );
Code:
{
PushToConsole("SkelModelStencil 1");
PushToConsole("ShowFps 1");
PushToConsole("FogEnable 1" );
PushToConsole("ActivationDistance 999999" )
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" );
}
}
Code:
#include <windows.h>
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;
return false;
}
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x377ED910 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
void main()
{
while(true)
{
PushToConsole("SkelModelStencil 1");
PushToConsole("ShowFps 1");
PushToConsole("FogEnable 1" );
PushToConsole("ActivationDistance 999999" )
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" );
}
}
DWORD WINAPI dwHackThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}
Code:
DWORD *LTClient = ( DWORD* )( 0x377ED910 );
- Topblast
- Spook
- CoderNever
- DeadLinez
- CodeDemon

