#include <windows.h>
#define OneNoRecoil 0x37238E99
#define RECOIL1 0x3746CD60
#define RECOIL2 0x3745CB99
#define RECOIL3 0x3746CD74
#define RECOIL4 0x3746CD77
#define RECOIL5 0x3746CD80
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;
return false;
}
typedef bool (*IsConnected_t)(void);
bool IsIngame()
{
DWORD* LTBase = (DWORD*)0x3780CB90;
IsConnected_t pConnected = *(IsConnected_t*)(*LTBase + 0x8C);
return pConnected();
}
void main()
{
while(true)
{
bool CH_NoRecoil = false;
if(GetAsyncKeyState(VK_NUMPAD1)){
CH_NoRecoil = true;
if(CH_NoRecoil && IsIngame())
{
memcpy((LPVOID)OneNoRecoil , "\x90\x90\x90\x90", 4);
Sleep(200);
}else{
int CH_NoRecoil = false;
if(!IsIngame()){
memcpy((LPVOID)OneNoRecoil , "\9\x44\x24\x10", 4);
Sleep(200);
}
}
}
}
}

void cMisc::HEXMemory(PVOID address, void* val, int bytes)
{
DWORD d, ds;
VirtualProtect(address, bytes, PAGE_EXECUTE_READWRITE, &d);
memcpy(address, val, bytes);
VirtualProtect(address,bytes,d,&ds);
}
/////////////////////////////////////
if(NoRecoil.Enabled && Hack.Readys.IsIngame() && !NoRecoil.Check){
Hack.Misc.HEXMemory((void*)Hack.Addresses.Recoil,"\x90\x90\x90\x90",4);
NoRecoil.Check = true;
}else if(!Hack.Readys.IsIngame() && Hack.Readys.WasIngame || !NoRecoil.Enabled && NoRecoil.Check){
Hack.Misc.HEXMemory((void*)Hack.Addresses.Recoil,"\xD9\x44\x24\x10",4);
NoRecoil.Check = false;
}