#include<windows.h>
#define WeaponMgr 0xA0F338 // Weapon Pointer , Outdated
#define NoReload 0x2420 // Our No Reload function offset
DWORD WINAPI Hacks(LPVOID)
{
bool reload = false; // Make it true; if you want it to be auto on
while(1)
{
DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
DWORD pWeaponMgr = *(DWORD*)(CShell + WeaponMgr);
if(reload)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++) // Weapon Loop. 445 = the number of the weapons
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i))) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i))) + NoReload) = 100; // 100 is the value for no reload
}
}
}
Sleep(100);
}
}
bool Ready2Hook()
{
if(GetModuleHandleA("CShell.dll") != NULL
&& GetModuleHandleA("ClientFx.fxd") != NULL)
return 1;
return 0;
}
DWORD WINAPI Wait(LPVOID)
{
while(!Ready2Hook()) Sleep(200);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Hacks, NULL, NULL, NULL);
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
//================================== OPTIONAL =========================================\\
MessageBoxA(0, "Message Test","Message Title", 0);
system("start www.mpgh.net")
\\====================================================================================//
CreateThread(0,0,(LPTHREAD_START_ROUTINE)Wait,0,0,0);
}
return 1;
}
ReloadAnimRatio - Weapon Reload (No Reload) ChangeWeaponAnimRatio - Weapon change delay (No weapon change delay) AmmoDamage - Weapon Damage (One hit kill) LowerAnimRate - Weapon Recoil (Less Recoil not full No Recoil) CharacterHiddenAlpha - See Ghost CharacterHiddenWalkAlpha - See Ghost CharacterHiddenRunAlpha - See Ghost MovementHiddenRate - See Ghost C4PlantTime - Obviously C4 Plant time C4DefuseTime - Obviously C4 Defuse time MaxCanDefuseDistance - Distance that you can defuse the bomb Range -Weapon Range ShotsPerAmmo - Shotgun Spread EdgeShotEnabled - Shoot Through Wall WallShotEnabled - Shoot Through Wall PerfectWallShotEnabled - Shoot Through Wall More coming soon ...
/* First define No Reload's Offset & Weapon Pointer */
#define WeaponPointer 0x000000 (You have to find the Pointer)
#define NoReload 0x0000 (You have to find the Offset)
/*If you want to make your hack Auto On put this before it */
bool noreload = true; // Dont make it the same name with the defined one.
/* Then add these */
DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll"); // When CShell word will be used , it will understand it is CShell.dll
DWORD pWeaponMgr = *(DWORD*)(CShell + WeaponPointer); // Wehn pWeaponMgr word will be used , it will understand that it is CShell with Weapon Pointer
/* Then add this */
if(noreload)
{
if (pWeaponMgr) // Look above if you dont remember what it is ;p
{
for(int i=0; i<445; i++) // Weapon Loop. 445 = the number of the weapons
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i))) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i))) + NoReload) = 100; // 100 is the value for no reload
}
}
}
/* You are done. Add this to your base or you can simply make it on your own way */
/* First define No Weapon Change Delay's Offset & Weapon Pointer */
#define WeaponPointer 0x000000 (You have to find the Pointer)
#define WeaponChangeDelay 0x0000 (You have to find the Offset)
/*If you want to make your hack Auto On put this before it */
bool nochange = true; // Dont make it the same name with the defined one.
/* Then add these */
DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll"); // When CShell word will be used , it will understand it is CShell.dll
DWORD pWeaponMgr = *(DWORD*)(CShell + WeaponPointer); // Wehn pWeaponMgr word will be used , it will understand that it is CShell with Weapon Pointer
/* Then add this */
if(nochange)
{
if (pWeaponMgr) // You already know what this is
{
for(int i=0; i<445; i++) // You already know what this is
{
if((*(DWORD*)((*(DWORD*)(CShell+pWeaponMgr))+(4*i))) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+pWeaponMgr))+(4*i))) + WeaponChangeDelay) = 100; // You already know what this is
}
}
}
/* You are done. Add this to your base or you can simply make it on your own way */


None

