Code:
wallhack 0x6B87A0
DrawStretchPic 0x6CE2D0
RegisterFont 0x6CB8F0
RegisterShader 0x6CC8A0
DrawEngineText 0x6CE800
SendCommandToConsole 0x64DB40
new:
PHP Code:
wallhack 0x6B86B0
DrawStretchPic 0x6CE2E0
RegisterFont 0x6E8B70
RegisterShader 0x6CC7E0
DrawEngineText 0x6CE810
SendCommandToConsole 0x457290
RenderScene 0x6C15B0
Width 0x29d4c998
Height 0x29d4c99C
unlimited ammo 0x46A735 - 0x80 0x78 0x18 0x01 - cmp byte ptr [eax+18],01(works awesum)
unlimited ammo 0x46A749 - eb 43 - jmp 0046a78e(works also for explosives)
PHP Code:
class Camera
{
public:
Vec3 recoil; //0x0000
char unknown4[108]; //0x0004
float viewAngleY; //0x0078
float viewAngleX; //0x007C
}//Size=0x0080(128)
PHP Code:
class cEntity
{
public:
char unknown0[36];
Vec3 vOrigin; //0018
};
class CRefdef
{
public:
__int32 x; //0000
__int32 y; //0004
__int32 width; //0008
__int32 height; //000C
float FovX; //0010
float FovY; //0014
float TotalFov; //0018
Vec3 vOrigin; //001C
char unknown0[4];
Vec3 vAxis[3]; //002C
};//0x29d0a560
PHP Code:
DWORD GetWeaponInfoOffset(DWORD WeapNum)
{
DWORD dwCall = 0x485F90;
DWORD dwReturn;
__asm{
push WeapNum
call [dwCall]
mov dwReturn, eax
add esp,0x4
}
return dwReturn;
}
cEntity* GetEntByIndex(int Index)
{
DWORD dwStart = *(DWORD*)0x3061db0;
DWORD dwOffset = (dwStart + (Index*0x31C));
return (cEntity*)dwOffset;
}
DWORD GetType(cEntity* pEnt)
{
static DWORD dwReturn;
__asm mov esi, pEnt
__asm movsx eax, WORD PTR DS:[esi+0x222]
__asm mov dwReturn, eax
return dwReturn;
}
PHP Code:
void EntityLoop()
{
float ScreenX, ScreenY;
for(int i=0; i<1024; i++)
{
cEntity* Ent = GetEntByIndex(i);
DWORD dwType = GetType(Ent);
if((!Ent)||(dwType != 16))//for some reason players are 0x10
continue;
if(WorldToScreen(Ent->vOrigin, &ScreenX, &ScreenY))
{
cDrawText(ScreenX, ScreenY, 1.0f, 1.0f, tRed, "human");
}
}
}
PHP Code:
typedef void ( * Wallhack_ )();
Wallhack_ pWallhack;
void __declspec(naked) nWallhack()
{
__asm pushad
__asm cmp DWORD PTR [esp+0x20], 0x672A7D
__asm jne doJmp
__asm mov [esp+0x30], 0x12
doJmp:
__asm popad
__asm jmp[pWallhack]
}//detour @ 0x6B86B0
PHP Code:
void NoSpread()
{
cEntity* LocalEnt = GetEntByIndex(0);
cWeaponInfo* WeapInfo = (cWeaponInfo*)(GetWeaponInfoOffset(LocalEnt->WeaponNum));
if(WeapInfo)
{
WeapInfo->Spread1 = 0.0f;
WeapInfo->Spread2 = 0.0f;
WeapInfo->Spread3 = 0.0f;
WeapInfo->Spread4 = 0.0f;
WeapInfo->Spread5 = 0.0f;
WeapInfo->Spread6 = 0.0f;
WeapInfo->Spread7 = 0.0f;
WeapInfo->Spread8 = 0.0f;
}
}
PHP Code:
#define PLAYER_BASE 0x01A4AFD8
#define ENTITY_BASE 0x03061DB0
#define CAMERA_ADDRESS 0x028D1518
#define ROUNDINFO_ADDRESS 0x01BCD4D0 // For zombies
#define REFDEF_ADDRESS 0x29D0A560
struct Vec3 { union { struct { float x, y, z; }; float v[3]; }; };
struct FOV { float x; float y; float total;};
class Player;
class PlayerInfo;
class Camera;
class RoundInfo;
class RefDef;
class Player
{
public:
char unknown0[60]; //0x0000
float viewAngleY; //0x003C
float viewAngleX; //0x0040
char unknown68[24]; //0x0044
__int32 cameraMovingDirection; //0x005C
char unknown96[168]; //0x0060
float posX; //0x0108
float posZ1; //0x010C
char unknown272[4]; //0x0110
float posY; //0x0114
float posZ2; //0x0118 Possibly head height
char unknown284[8]; //0x011C
float posZ3; //0x0124
char unknown296[20]; //0x0128
PlayerInfo* playerInfo; //0x013C
char unknown320[4]; //0x0140
RoundInfo* roundInfo; //0x0144
char unknown328[60]; //0x0148
__int32 health; //0x0184
char unknown392[456]; //0x0188
}//Size=0x0350(848)
class PlayerInfo
{
public:
char unknown0[840]; //0x0000
__int32 primaryBullets; //0x0348
char unknown844[12]; //0x034C
__int32 secondaryBullets; //0x0358
char unknown860[100]; //0x035C
__int32 primaryClip; //0x03C0
char unknown964[4]; //0x03C4
__int32 grenadeCount; //0x03C8
char unknown972[4]; //0x03CC
__int32 secondaryClip; //0x03D0
char unknown980[5836]; //0x03D4
char name[32]; //0x1AA0
char unknown6848[120]; //0x1AC0
char name2[32]; //0x1B38
char unknown7000[48]; //0x1B58
__int32 money; //0x1B88
__int32 kills; //0x1B8C
char unknown7056[28]; //0x1B90
__int32 headshots; //0x1BAC
char unknown7088[100]; //0x1BB0
__int16 stance; //0x1C14
char unknown7190[292]; //0x1C16
}//Size=0x1D3A(7482)
class Camera
{
public:
Vec3 recoil; //0x0000
char unknown12[108]; //0x000C
float viewAngleY; //0x0078
float viewAngleX; //0x007C
}//Size=0x0080(128)
class RoundInfo
{
public:
Player* roundHost; //0x0000
char unknown4[36]; //0x0004
__int32 zombieCount; //0x0028
char unknown44[228]; //0x002C
__int16 ID0F1741D8; //0x0110
__int16 roundNumber; //0x0112
char unknown276[32]; //0x0114
}//Size=0x0134(308)
class RefDef
{
public:
char unknown0[8]; //0x0000
__int32 screenWidth; //0x0008
__int32 screenHeight; //0x000C
FOV fieldOfView; //0x0010
Vec3 playerOrigin; //0x001C
char unknown40[4]; //0x0028
Vec3 viewAxis[3]; //0x002C
}//Size=0x0050(80)
GetPlayerByIndex function, the index goes from 0 - 3 (Player 1 - 4)
PHP Code:
Player* GetPlayerByIndex(int index)
{
return (Player*)(PLAYER_BASE + (sizeof(Player) * index));
}
cardoow