Code:
if(GetAsyncKeyState(VK_NUMPAD0)<0)
{
if(recoil)
{
byte NoRecoilOff[] = { 0xD8, 0x66, 0x54 };
byte NoRecoilOff2[] = { 0xD9, 0x46, 0x54 };
byte NoRecoilOff3[] = { 0xD9, 0x5E, 0x54, 0xD9, 0x46, 0x48 };
byte NoRecoilOff4[] = { 0xD9, 0x5E, 0x48 };
memcpy((PVOID)0x002E7F62, (void*)NoRecoilOff, sizeof(NoRecoilOff));
memcpy((PVOID)0x002E7F71, (void*)NoRecoilOff2, sizeof(NoRecoilOff2));
memcpy((PVOID)0x002E7F76, (void*)NoRecoilOff3, sizeof(NoRecoilOff3));
memcpy((PVOID)0x002E7F82, (void*)NoRecoilOff4, sizeof(NoRecoilOff4));
recoil = false;
}
else
{
byte NoRecoilOn[] = { 0x90, 0x90, 0x90 }; //# = number of bytes
byte NoRecoilOn2[] = { 0x90, 0x90, 0x90 };
byte NoRecoilOn3[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };
byte NoRecoilOn4[] = { 0x90, 0x90, 0x90 };
memcpy((PVOID)0x002E7F62, (void*)NoRecoilOn, sizeof(NoRecoilOn));
memcpy((PVOID)0x002E7F71, (void*)NoRecoilOn2, sizeof(NoRecoilOn2));
memcpy((PVOID)0x002E7F76, (void*)NoRecoilOn3, sizeof(NoRecoilOn3));
memcpy((PVOID)0x002E7F82, (void*)NoRecoilOn4, sizeof(NoRecoilOn4));
recoil = true;
}
}
That didnt work. So i tried this.
Code:
if(GetAsyncKeyState(VK_DELETE)&1)
{
if(recoil)
{
byte NoRecoilOff[] = { 0xD8, 0x66, 0x54 };
byte NoRecoilOff2[] = { 0xD9, 0x46, 0x54 };
byte NoRecoilOff3[] = { 0xD9, 0x5E, 0x54, 0xD9, 0x46, 0x48 };
byte NoRecoilOff4[] = { 0xD9, 0x5E, 0x48 };
DWORD dwProtect;
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F62, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F62, (void*)NoRecoilOff, sizeof(NoRecoilOff));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F62, 3, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F71, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F71, (void*)NoRecoilOff2, sizeof(NoRecoilOff2));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F71, 3, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F76, 6, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F76, (void*)NoRecoilOff3, sizeof(NoRecoilOff3));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F76, 6, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F82, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F82, (void*)NoRecoilOff4, sizeof(NoRecoilOff4));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F82, 3, dwProtect, &dwProtect);
recoil = false;
}
else
{
byte NoRecoilOn[] = { 0x90, 0x90, 0x90 }; //# = number of bytes
byte NoRecoilOn2[] = { 0x90, 0x90, 0x90 };
byte NoRecoilOn3[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };
byte NoRecoilOn4[] = { 0x90, 0x90, 0x90 };
DWORD dwProtect;
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F62, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F62, (void*)NoRecoilOn, sizeof(NoRecoilOn));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F62, 3, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F71, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F71, (void*)NoRecoilOn2, sizeof(NoRecoilOn2));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F71, 3, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F76, 6, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F76, (void*)NoRecoilOn3, sizeof(NoRecoilOn3));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F76, 6, dwProtect, &dwProtect);
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F82, 3, PAGE_READWRITE, &dwProtect);
memcpy((PVOID)0x002E7F82, (void*)NoRecoilOn4, sizeof(NoRecoilOn4));
BOOL WINAPI VirtualProtect((LPVOID)0x002E7F82, 3, dwProtect, &dwProtect);
recoil = true;
}
}
And that code gave me a shit load of errors.