//Player Hacks
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PlayerPointer;
if(dwPlayerPtr != 0)
{
}
}
Why do you make a 'playerhacks' part if you let it empty?
else
{
*(int**)ADR_GlassWalls = 0;
}
}
Why do you use two ** instead of one?
void boneshot()
{
if(GetAsyncKeyState(VK_F5) &1) //ON
{
MessageBeep(MB_ICONINFORMATION);
*(float*)ADR_BoneShot = 1235;
}
}
void boneshotoff()
{
if(GetAsyncKeyState(VK_F6) &1) //OFF
{
MessageBeep(MB_ICONINFORMATION);
*(float*)ADR_BoneShot = 1237;
}
}
Why do you do both in two diffrent voids instead of in the same one?
void All()
{
*(double*)ADR_NoSpread = 0;
*(int*)ADR_NoBounds1 = 0;
*(int*)ADR_NoBounds2 = 0;
*(int*)ADR_NoBounds3 = 0;
}
void NoRecoil()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PlayerPointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr + OFS_NoRecoil1) = 0;
*(float*)(dwPlayerPtr + OFS_NoRecoil2) = 0;
*(float*)(dwPlayerPtr + OFS_NoRecoil3) = 0;
}
}
//-------------------------------------------------
void HackThread()
{
for(;; )
{
if(*ingame) Why do you check this if everyone of your functions already has a check?
{
All ();
PlayerHacks(); No need to include this since it's empty.
GlassWall();
Speedhack();
NoRecoil();
}
if(*outgame)
{
Why do you make this part? You don't use it.
}
Sleep(20); //prevent for overloading the cpu
20 may be a little to less, take atleast 120+
}
}
//--------------------------End HackThread--------------------------//
filled in the red what i should change or modify. Just giving tips.
No offense bro but your kinda annoying 'cuz if you really want to learn just pm someone you think can help you, you don't need to spam annoying duplicate threads.
Originally Posted by Alex_Agnew
filled in the red what i should change or modify. Just giving tips.
Ok thanks bro
@killallbosz boneshot memory is detected, you can bypass it or use a protection