Code:
enum eTypes
{
ET_GENERAL,
ET_PLAYER,
ET_PLAYER_CORPSE,
ET_ITEM,
ET_MISSILE,
ET_INVISIBLE,
ET_SCRIPTMOVER,
ET_SOUND_BLEND,
ET_FX,
ET_LOOP_FX,
ET_PRIMARY_LIGHT,
ET_TURRET,
ET_HELICOPTER,
ET_PLANE,
ET_VEHICLE,
ET_VEHICLE_COLLMAP,
ET_VEHICLE_CORPSE,
ET_VEHICLE_SPAWNER,
};
struct trace_t
{
float fraction;
char szUnknown0[44];
}; //size 0x2C
class CCGS
{
public:
char unknown0[8]; //0x0000
__int32 X; //0x0008
__int32 Y; //0x000C
char unknown16[12]; //0x0010
__int32 iSequence; //0x001C
__int32 iLocal; //0x0020
char GameType[4]; //0x0024
char unknown40[28]; //0x0028
char HostName[64]; //0x0044
char unknown132[196]; //0x0084
__int32 iMaxClients; //0x0148
char unknown332[4]; //0x014C
char MapName[64]; //0x0150
char unknown400[8]; //0x0190
};
class CClientInfo
{
public:
__int32 clientNum; //0x0000
__int32 Valid; //0x0004
char unknown8[4]; //0x0008
char Name[16]; //0x000C
__int32 iTeam; //0x001C
__int32 iTeam2; //0x0020
__int32 Rank; //0x0024
char unknown40[40]; //0x0028
char BodyName[32]; //0x0050
char unknown112[32]; //0x0070
char HeadName[32]; //0x0090
char unknown176[196]; //0x00B0
};
class CRefDef
{
public:
char unknown0[8]; //0x0000
__int32 x; //0x0008
__int32 y; //0x000C
float fov_x; //0x0010
float fov_y; //0x0014
vec3_t Location; //0x0018
vec3_t ViewAxis[3]; //0x0024
char unknown72[24]; //0x0048
__int32 iMenu; //0x0060
};
class cg_t
{
public:
char Unknown001[0x150]; // 0x0
int ClientNum; // 0x150
char Unknown002[0x6B000]; // 0x154
float frameInterpolation; // 0x6b154
char Unknown003[0x8]; // 0x6b158
int time; // 0x6b160
int oldTime; // 0x6b164
char Unknown004[0x1c]; // 0x6b168
refdef_t refdef; // 0x6B184
char Unknown005[0x4b38]; // 0x6b1a8
vec3 refdefViewAngle; // 0x6fce0
char Unknown006[0x738c]; // 0x6fdec
playerstate_t ps; // 0x77078
char Unknown007[0x86544]; // 0x77104
clientinfo_t clientInfo[64]; // 0xFD648
};
class CWeapon
{
public:
char unknown0[8];
char unknown2[1048];
float Spread0; //0420
float Spread1; //0424
float Spread2; //0428
float Spread3; //042C
float Spread4; //0430
float Spread5; //0434
float Spread6; //0438
float Spread7; //043C
float Spread8; //0440
float Spread9; //0444
char unknown3[356];
float Recoil1; //05AC
float Recoil2; //05B0
float Recoil3; //05B4
float Recoil4; //05B8
char unknown4[52];
float Recoil5; //05F0
float Recoil6; //05F4
float Recoil7; //05F8
float Recoil8; //05FC
};
enum //
{
EF_CROUCHED = 0x00000004, //
EF_PRONE = 0x00000008, //
EF_MENU_OPEN = 0x00000100, //
EF_DEAD = 0x00040000, //
EF_SCOPED = 0x00080000, //
EF_FIRING = 0x00800000, //
};
class CEntity
{
public:
char unknown0[20];
Vec3 vOrigin; //0014
char unknown3[72];
DWORD eFlags; //0068
char unknown4[12];
Vec3 vOldOrigin; //0078
char unknown7[24];
Vec2 vAngles; //009C
char unknown9[48];
__int32 Type; //00D4
char unknown10[16];
Vec3 vNewOrigin; //00E8
char unknown13[64];
BYTE m_Weapon2; //0134
char unknown16[99];
BYTE m_Weapon; //0198
char unknown19[55];
DWORD isAlive; //01D0
};
class CGame
{
public:
char unknown0[336];
__int32 localIndex; //0150
char unknown1[4];
float flPitch; //0158
float flYaw; //015C
};
enum eEvents
{
EV_NONE,
EV_FOLIAGE_SOUND,
EV_STOP_WEAPON_SOUND,
EV_SOUND_ALIAS,
EV_SOUND_ALIAS_AS_MASTER,
EV_STOPSOUNDS,
EV_STANCE_FORCE_STAND,
EV_STANCE_FORCE_CROUCH,
EV_STANCE_FORCE_PRONE,
EV_STANCE_INVALID,
EV_ITEM_PICKUP,
EV_AMMO_PICKUP,
EV_NOAMMO,
EV_EMPTYCLIP,
EV_EMPTY_OFFHAND_PRIMARY,
EV_EMPTY_OFFHAND_SECONDARY,
EV_OFFHAND_END_NOTIFY,
EV_RESET_ADS,
EV_RELOAD,
EV_RELOAD_FROM_EMPTY,
EV_RELOAD_START,
EV_RELOAD_END,
EV_RELOAD_START_NOTIFY,
EV_RELOAD_ADDAMMO,
EV_RAISE_WEAPON,
EV_FIRST_RAISE_WEAPON,
EV_PUTAWAY_WEAPON,
EV_WEAPON_ALT,
EV_WEAPON_SWITCH_STARTED,
EV_PULLBACK_WEAPON,
EV_FIRE_WEAPON,
EV_FIRE_WEAPON_LASTSHOT,
EV_FIRE_RICOCHET,
EV_RECHAMBER_WEAPON,
EV_EJECT_BRASS,
EV_FIRE_WEAPON_LEFT,
EV_FIRE_WEAPON_LASTSHOT_LEFT,
EV_EJECT_BRASS_LEFT,
EV_HITCLIENT_FIRE_WEAPON,
EV_HITCLIENT_FIRE_WEAPON_LASTSHOT,
EV_HITCLIENT_FIRE_WEAPON_LEFT,
EV_HITCLIENT_FIRE_WEAPON_LASTSHOT_LEFT,
EV_SV_FIRE_WEAPON,
EV_SV_FIRE_WEAPON_LASTSHOT,
EV_SV_FIRE_WEAPON_LEFT,
EV_SV_FIRE_WEAPON_LASTSHOT_LEFT,
EV_MELEE_SWIPE,
EV_FIRE_MELEE,
EV_PREP_OFFHAND,
EV_USE_OFFHAND,
EV_SWITCH_OFFHAND,
EV_MELEE_HIT,
EV_MELEE_MISS,
EV_MELEE_BLOOD,
EV_SV_FIRE_TURRET,
EV_FIRE_TURRET,
EV_FIRE_SENTRY,
EV_FIRE_QUADBARREL_1,
EV_FIRE_QUADBARREL_2,
EV_BULLET_HIT,
EV_BULLET_HIT_SHIELD,
EV_BULLET_HIT_EXPLODE,
EV_BULLET_HIT_CLIENT_SMALL,
EV_BULLET_HIT_CLIENT_LARGE,
EV_BULLET_HIT_CLIENT_EXPLODE,
EV_BULLET_HIT_CLIENT_SHIELD,
EV_BULLET_DESTROY_CLIENT_SHIELD,
EV_EXPLOSIVE_IMPACT_ON_SHIELD,
EV_EXPLOSIVE_SPLASH_ON_SHIELD,
EV_GRENADE_BOUNCE,
EV_GRENADE_STICK,
EV_GRENADE_REST,
EV_GRENADE_ROLL,
EV_GRENADE_EXPLODE,
EV_GRENADE_PICKUP,
EV_GRENADE_LETGO,
EV_ROCKET_EXPLODE,
EV_ROCKET_EXPLODE_NOMARKS,
EV_FLASHBANG_EXPLODE,
EV_CUSTOM_EXPLODE,
EV_CUSTOM_EXPLODE_NOMARKS,
EV_CHANGE_TO_DUD,
EV_DUD_EXPLODE,
EV_DUD_IMPACT,
EV_TROPHY_EXPLODE,
EV_BULLET,
EV_PLAY_FX,
EV_PLAY_FX_ON_TAG,
EV_STOP_FX_ON_TAG,
EV_PLAY_FX_ON_TAG_FOR_CLIENTS,
EV_PHYS_EXPLOSION_SPHERE,
EV_PHYS_EXPLOSION_CYLINDER,
EV_PHYS_EXPLOSION_JOLT,
EV_RADIUSDAMAGE,
EV_PHYS_JITTER,
EV_EARTHQUAKE,
EV_GRENADE_SUICIDE,
EV_DETONATE,
EV_NIGHTVISION_WEAR,
EV_NIGHTVISION_REMOVE,
EV_MISSILE_REMOTE_BOOST,
EV_VARIABLE_ZOOM_CHANGE,
EV_OBITUARY,
EV_NO_PRIMARY_GRENADE_HINT,
EV_NO_SECONDARY_GRENADE_HINT,
EV_TARGET_TOO_CLOSE_HINT,
EV_TARGET_NOT_ENOUGH_CLEARANCE_HINT,
EV_LOCKON_REQUIRED_HINT,
EV_VEHICLE_COLLISION,
EV_VEHICLE_SUSPENSION_SOFT,
EV_VEHICLE_SUSPENSION_HARD,
EV_FOOTSTEP_SPRINT,
EV_FOOTSTEP_RUN,
EV_FOOTSTEP_WALK,
EV_FOOTSTEP_PRONE,
EV_JUMP,
EV_LANDING_DEFAULT,
EV_LANDING_BARK,
EV_LANDING_BRICK,
EV_LANDING_CARPET,
EV_LANDING_CLOTH,
EV_LANDING_CONCRETE,
EV_LANDING_DIRT,
EV_LANDING_FLESH,
EV_LANDING_FOLIAGE,
EV_LANDING_GLASS,
EV_LANDING_GRASS,
EV_LANDING_GRAVEL,
EV_LANDING_ICE,
EV_LANDING_METAL,
EV_LANDING_MUD,
EV_LANDING_PAPER,
EV_LANDING_PLASTER,
EV_LANDING_ROCK,
EV_LANDING_SAND,
EV_LANDING_SNOW,
EV_LANDING_WATER,
EV_LANDING_WOOD,
EV_LANDING_ASPHALT,
EV_LANDING_CERAMIC,
EV_LANDING_PLASTIC,
EV_LANDING_RUBBER,
EV_LANDING_CUSHION,
EV_LANDING_FRUIT,
EV_LANDING_PAINTEDMETAL,
EV_LANDING_RIOTSHIELD,
EV_LANDING_SLUSH,
EV_LANDING_PAIN_DEFAULT,
EV_LANDING_PAIN_BARK,
EV_LANDING_PAIN_BRICK,
EV_LANDING_PAIN_CARPET,
EV_LANDING_PAIN_CLOTH,
EV_LANDING_PAIN_CONCRETE,
EV_LANDING_PAIN_DIRT,
EV_LANDING_PAIN_FLESH,
EV_LANDING_PAIN_FOLIAGE,
EV_LANDING_PAIN_GLASS,
EV_LANDING_PAIN_GRASS,
EV_LANDING_PAIN_GRAVEL,
EV_LANDING_PAIN_ICE,
EV_LANDING_PAIN_METAL,
EV_LANDING_PAIN_MUD,
EV_LANDING_PAIN_PAPER,
EV_LANDING_PAIN_PLASTER,
EV_LANDING_PAIN_ROCK,
EV_LANDING_PAIN_SAND,
EV_LANDING_PAIN_SNOW,
EV_LANDING_PAIN_WATER,
EV_LANDING_PAIN_WOOD,
EV_LANDING_PAIN_ASPHALT,
EV_LANDING_PAIN_CERAMIC,
EV_LANDING_PAIN_PLASTIC,
EV_LANDING_PAIN_RUBBER,
EV_LANDING_PAIN_CUSHION,
EV_LANDING_PAIN_FRUIT,
EV_LANDING_PAIN_PAINTEDMETAL,
EV_LANDING_PAIN_RIOTSHIELD,
EV_LANDING_PAIN_SLUSH,
EV_MANTLE,
};
To check if an entity is alive, check the EntFlag member (int, 0x1D0) of the Entity struct.