Code:
#define REFDEF 0x85B6F0
#define ENTITY 0x8F3CA8
#define CLIENTINFO 0x8E77B0
#define CG 0x7F0F78
#define CGS_T 0x7ED3B8
#define ISINGAME 0x7F0F88
#define VIEWANGLEY 0xB2F8D0
class MW2_View_Y
{
public:
Vector Recoil; // 0x0000
char _p00[24]; // 0x000C
Vector viewAngles; // 0x0024
char _p01[16]; // 0x0030
__int32 AngleY; // 0x0040
__int32 AngleX; // 0x0044
};
class MW2_CG_T
{
public:
char unknown0[260];
__int32 ClientNumber;
char unknown1[72];
__int32 Health;
};
class MW2_RefDef_T
{
public:
char unknown1[8];
__int32 ScreenX; //0x0000
__int32 ScreenY; //0x0004
float fov_x; //0x0008
float fov_y; //0x000C
Vector Origin; //0x0010
Vector ViewAxis[3]; //0x0014
char unknown24[16200]; //0x0018
Vector rdViewAngles; //0x3F60
};
class MW2_ClientInfo_T
{
public:
char Unknown1[12];
char Name[16]; //0x000C
__int32 Team; //0x001C
__int32 Team2; //0x0020
char unknown36[8]; //0x0024
__int32 perk; //0x002C
char unknown48[16]; //0x0030
char BodyModel[64]; //0x0040
char HeadModel[64]; //0x0080
char WeaponModel[64]; //0x00C0
char WeaponModel2[64]; //0x0100
char WeaponExplosive[64]; //0x0140
char unknown372[552]; //0x0180
__int32 Pose; //0x03A8
char unknown936[96]; //0x03AC
__int32 pose2; //0x040C
char unknown1028[284]; //0x0410
};
class MW2_Entity_T
{
public:
__int16 unknown0; //0x0000
__int8 Valid; //0x0002
char unknown4[21]; //0x0003
Vector Origin; //0x0018
char unknown36[72]; //0x0024
__int32 Pose; //0x006C
char unknown109[12]; //0x0070
float fPitch; //0x007C
float fYaw; //0x0080
float fRoll; //0x0084
char unknown136[84]; //0x0088
__int32 ClientNumber; //0x00DC
__int32 EntityType; //0x00E0
__int8 PlayerPose; //0x00E4
__int8 Shooting; //0x00E5
__int8 Zoomed; //0x00E6
char unknown231[193]; //0x00E7
__int16 WeaponNum; //0x01A8
char unknown426[50]; //0x01AA
__int32 IsAlive; //0x01DC
char unknown480[36]; //0x01E0
};
enum entity_type_t
{
ET_GENERAL = 0,
ET_PLAYER = 1,
ET_PLAYER_CORPSE = 2,
ET_ITEM = 3,
ET_EXPLOSIVE = 4,
ET_INVISIBLE = 5,
ET_SCRIPTMOVER = 6,
ET_SOUND_BLEND = 7,
ET_FX = 8,
ET_LOOP_FX = 9,
ET_PRIMARY_LIGHT = 10,
ET_TURRET = 11,
ET_HELICOPTER = 12,
ET_PLANE = 13,
ET_VEHICLE = 14,
ET_VEHICLE_COLLMAP= 15,
ET_VEHICLE_CORPSE = 16,
ET_VEHICLE_SPAWNER= 17
};
class cPlayerInfo
{
public:
COLORREF color;
};
int my_team;
cPlayerInfo player[PLAYERMAX];
DWORD IsInGame;
MW2_ClientInfo_T mw2_clientinfo[PLAYERMAX];
MW2_Entity_T mw2_entities[ENTITIESMAX];
MW2_View_Y mw2_view;
MW2_RefDef_T refdef;
MW2_CG_T CG_T;
inline void ReadGame()
{
ReadProcessMemory(mw2_process,(PVOID)ISINGAME,&IsInGame,4,NULL);
if (IsInGame)
{
ReadProcessMemory(mw2_process,(PVOID)(CG),&CG_T,sizeof(MW2_CG_T),NULL);
ReadProcessMemory(mw2_process,(PVOID)(REFDEF),&refdef,sizeof(MW2_RefDef_T),NULL);
ReadProcessMemory(mw2_process,(PVOID)(VIEWANGLEY-0x40),&mw2_view,sizeof(mw2_view), NULL);
viewangles = mw2_view.viewAngles;
ReadProcessMemory(mw2_process,(PVOID)ENTITY,mw2_entities,sizeof(mw2_entities),NULL);
ReadProcessMemory(mw2_process,(PVOID)CLIENTINFO,mw2_clientinfo,sizeof(mw2_clientinfo),NULL);
for(int i = 0; i < PLAYERMAX; i++)
{
if (CG_T.ClientNumber == mw2_entities[i].ClientNumber) {
my_team = mw2_clientinfo[i].Team;
break;
}
}
}
}