Class [WeaponFX and ZombieFX]
as I'm not messing around in crossfire, so ...
Offsets:
Code:
#define OFFSET_CAICLIENTOBJECT 0x3DFF4 // aob: 8B ?? ?? ?? ?? ?? 56 50 E8 ?? ?? ?? ?? 8B ?? 85 ?? 75 ?? 5E 8B
#define OFFSET_CDROPPEDWEAPONFX 0x3E68C // aob: 89 ?? ?? ?? ?? ?? 8B ?? ?? ?? ?? ?? 3B ?? 74 ?? E8 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 3B ?? 8B ?? 74 ?? E8
Class:
Code:
class CDroppedWeaponFX
{
public:
char pad_0000[8]; //0x0000
__int32 ItemType; //0x0008
cObject* cObject0; //0x000C
cObject* cObject1; //0x0010
};
class WeaponDrop
{
public:
char pad_0000[8]; //0x0000
CDroppedWeaponFX* pCDroppedWeaponFX; //0x0008
};
class DropFX
{
public:
char pad_0000[28]; //0x0000
WeaponDrop* pDroppedFX; //0x001C
};
class AIClientObjectManager
{
public:
char pad_0000[164];
cObject* Object; // 0x00A4
};
class AIClass_2
{
public:
char pad_0000[4]; //0x0000
AIClientObjectManager* pAIClientMgr; //0x0004
};
class AIClass_1
{
public:
char pad_0000[16]; //0x0000
AIClass_2* pAIClass_2; //0x0010
};
class AIObject
{
public:
char pad_0000[60]; //0x0000
AIClass_1* pAIClass_1; //0x003C
};
Call:
Code:
AIObject* pAIFX = ( AIObject* ) ( pClientShell + OFFSET_CAICLIENTOBJECT );
pAIFX->pAIClass_1->pAIClass_2->pAIClientMgr->Object;
DropFX* pItemFX = ( DropFX* ) ( pClientShell + OFFSET_CDROPPEDWEAPONFX );
pItemFX->pDroppedFX->pCDroppedWeaponFX->cObject0;