Guys i've been trying to much to develop my hack
every time i try to develop a hack, i give up and go format my PC
but this time i want to develop a hack and will never give up
even my back started to pain
but
Look at the code

my main thread doesn't work
help me identify the problem please

CODE:

#include<windows.h>

#define grenades ((i==6)||(i==7)||(i==8)||(i==64)||(i==100)||(i==12 6)||(i==135)||(i==209)||(i==210)||(i==240)||(i==26 3)||(i==272)||(i==338)||(i==382)||(i==383)||(i==38 4))

#define WeaponMgr 0xA2A7E8



#define NoReload 0x2424
#define WeaponDamage 0x7F8
#define Shotspread 0x0834
#define WeaponChange 0x2428
#define WeaponWeight 0x21D8
#define WeaponRange 0x07EC
#define spread 0x2428



DWORD WINAPI Hacks(LPVOID)
{

bool onehit = true;
bool reload = true;
bool fragdmg = true;
bool shotgun = true;
bool change = true;
bool weight = true;
bool range = true;
bool nospread = true;


while(1)
{
DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
DWORD pWeaponMgr = *(DWORD*)(CShell + WeaponMgr);
//DWORD dwPlayerPointer = *(DWORD*)( CShell + PlayerPointer);



if(onehit)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + WeaponDamage) = 99999;
}
}
}


if(reload)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + NoReload) = 0;
}
}
}

if(fragdmg)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL && (grenades))
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + WeaponDamage) = 0;
}
}
}

if(weight)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + WeaponWeight) = 0;
}
}
}


if(shotgun)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(BYTE*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + Shotspread) = 5;
}
}
}

if(WeaponChange)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + change) = 9999;
}
}
}

if(range)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + WeaponRange) = 99999;
}
}
}

if(spread)
{
if (pWeaponMgr)
{
for(int i=0; i<445; i++)
{
if((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr))+(4*i)) ) != NULL)
*(float*)((*(DWORD*)((*(DWORD*)(CShell+WeaponMgr)) +(4*i))) + nospread) = 0;
}
}
}

BYTE nop = 0x90;
DWORD d, ds;

VirtualProtect((LPVOID)(CShell+0x85723), 17, PAGE_EXECUTE_READWRITE, &d);

for (int i=0; i<17;i++)
memcpy((LPVOID)(CShell+0x85723+i), &nop, 1);

VirtualProtect((LPVOID)(CShell+0x85723), 17, d, &ds);

Sleep(100);
}
}

bool IsGameReadyForHook()
{
if(GetModuleHandleA("CShell.dll") != NULL
&& GetModuleHandleA("ClientFx.fxd") != NULL)
return true;
return false;
}

DWORD WINAPI Wait(LPVOID)
{
while(!IsGameReadyForHook()) Sleep(200);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Hacks, NULL, NULL, NULL);
return false;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);

if ( dwReason == DLL_PROCESS_ATTACH )
{
MessageBoxA(0, "Made by MightySaa0d, Special thanks to: Takari" , "Cross Fire NA Hack" ,0);

CreateThread(0,0,(LPTHREAD_START_ROUTINE)Wait,0,0, 0);
}
return true;
}







Whats the problem?? when i compile it
i get the DLL
i inject it
i get the message BOX
when i join a game
i don't get any features