Tutorial Call Of Duty 4 MP Structs/Addresses

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

iMoD1998

PPC Haxor
Trump Tier Donator
Dank Tier Donator
Full Member
Nobleman
Jul 10, 2020
66
3,668
3
Game Name
Call Of Duty 4
How long you been coding/hacking?
6 Years
Coding Language
Yes
Since I want to setup some HvH servers on COD 4 first people need some cheats.

Shiton of structs to get you started:
C++:
enum team_t
{
    TEAM_FREE = 0x0,
    TEAM_AXIS = 0x1,
    TEAM_ALLIES = 0x2,
    TEAM_SPECTATOR = 0x3,
    TEAM_NUM_TEAMS = 0x4,
};

enum entityType_t
{
    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_MG42,
    ET_HELICOPTER,
    ET_PLANE,
    ET_VEHICLE,
    ET_VEHICLE_COLLMAP,
    ET_VEHICLE_CORPSE,
    ET_EVENTS
};

enum entityFlags_t
{
    EF_CROUCHING = 0x4,
    EF_PRONE = 0x8,
    EF_FIRING = 0x40,
    EF_ADS = 0x40000,
    EF_ISPLAYING = 0x200000,
};

enum perksEnum
{
    PERK_JAMRADAR = 0x0,
    PERK_ACCURACY = 0x1,
    PERK_FASTRELOAD = 0x2,
    PERK_RATEOFFIRE = 0x3,
    PERK_EXTRABREATH = 0x4,
    PERK_EXTRABP = 0x5,
    PERK_GRENADEDEATH = 0x6,
    PERK_PISTOLDEATH = 0x7,
    PERK_QUIETMOVE = 0x8,
    PERK_PARABOLIC = 0x9,
    PERK_LONGERSPRINT = 0xA,
    PERK_DETECTEXPLOSIVE = 0xB,
    PERK_EXPLOSIVEDMG = 0xC,
    PERK_EXPOSEENEMY = 0xD,
    PERK_BULLETDMG = 0xE,
    PERK_EXTRAAMMO = 0xF,
    PERK_TWOPRIMARIES = 0x10,
    PERK_ARMORVEST = 0x11,
    PERK_FRAGGRENADE = 0x12,
    PERK_SPECIALGRENADE = 0x13,
    PERK_COUNT = 0x14,
    PERK_UNKNOWN = 0x14,
};

enum weapType_t
{
    WEAPTYPE_BULLET = 0x0,
    WEAPTYPE_GRENADE = 0x1,
    WEAPTYPE_PROJECTILE = 0x2,
    WEAPTYPE_BINOCULARS = 0x3,
    WEAPTYPE_NUM = 0x4,
};

enum weapClass_t
{
    WEAPCLASS_RIFLE = 0,
    WEAPCLASS_MG = 1,
    WEAPCLASS_SMG = 2,
    WEAPCLASS_SPREAD = 3,
    WEAPCLASS_PISTOL = 4,
    WEAPCLASS_GRENADE = 5,
    WEAPCLASS_ROCKETLAUNCHER = 6,
    WEAPCLASS_TURRET = 7,
    WEAPCLASS_NON_PLAYER = 8,
    WEAPCLASS_ITEM = 9,
    WEAPCLASS_NUM = 10
};

enum weaponstate_t
{
    WEAPON_READY = 0x0,
    WEAPON_RAISING = 0x1,
    WEAPON_RAISING_ALTSWITCH = 0x2,
    WEAPON_DROPPING = 0x3,
    WEAPON_DROPPING_QUICK = 0x4,
    WEAPON_FIRING = 0x5,
    WEAPON_RECHAMBERING = 0x6,
    WEAPON_RELOADING = 0x7,
    WEAPON_RELOADING_INTERUPT = 0x8,
    WEAPON_RELOAD_START = 0x9,
    WEAPON_RELOAD_START_INTERUPT = 0xA,
    WEAPON_RELOAD_END = 0xB,
    WEAPON_MELEE_INIT = 0xC,
    WEAPON_MELEE_FIRE = 0xD,
    WEAPON_MELEE_END = 0xE,
    WEAPON_OFFHAND_INIT = 0xF,
    WEAPON_OFFHAND_PREPARE = 0x10,
    WEAPON_OFFHAND_HOLD = 0x11,
    WEAPON_OFFHAND_START = 0x12,
    WEAPON_OFFHAND = 0x13,
    WEAPON_OFFHAND_END = 0x14,
    WEAPON_DETONATING = 0x15,
    WEAPON_SPRINT_RAISE = 0x16,
    WEAPON_SPRINT_LOOP = 0x17,
    WEAPON_SPRINT_DROP = 0x18,
    WEAPON_NIGHTVISION_WEAR = 0x19,
    WEAPON_NIGHTVISION_REMOVE = 0x1A,
};

enum statIndex_t
{
    STAT_HEALTH = 0x0,
    STAT_DEAD_YAW = 0x1,
    STAT_MAX_HEALTH = 0x2,
    STAT_IDENT_CLIENT_NUM = 0x3,
    STAT_SPAWN_COUNT = 0x4,
    MAX_STATS = 0x5,
};

struct trajectory_t
{
    int Type; //0x0000
    int Time; //0x0004
    int Duration; //0x0008
    Vector3 Base; //0x000C
    Vector3 Delta; //0x0018
}; //Size=0x0024

struct cpose_t
{
    short LightingHandle; //0x0000
    unsigned char EType; //0x0002
    unsigned char ETypeUnion; //0x0003
    char _0x0004[ 0x18 ]; //0x0004
    Vector3 Origin; //0x001C
    Vector3 Angles; //0x0028
    char _0x0034[ 0x30 ]; //0x0034
}; //Size=0x0064

struct LerpEntityState
{
    unsigned int EntityFlags; //0x0000
    trajectory_t Postion; //0x0004
    trajectory_t APostion; //0x0028
    char _0x004C[ 0x1C ]; //0x004C
}; //Size=0x0068

struct entityState_t
{
    int Number; //0x0000
    int EType; //0x0004
    LerpEntityState Lerp; //0x0008
    int Time2; //0x0070
    int OtherEntityNum; //0x0074
    int AttackerEntityNum; //0x0078
    int GroundEntityNum; //0x007C
    int LoopSound; //0x0080
    int SurfaceType; //0x0084
    int Index; //0x0088
    int ClientNum; //0x008C
    int IHeadIcon; //0x0090
    int IHeadIconTeam; //0x0094
    int Solid; //0x0098
    int EventParam; //0x009C
    int EventSequence; //0x00A0
    int Events[ 4 ]; //0x00A4
    int EventParams[ 4 ]; //0x00B4
    int Weapon; //0x00C4
    int WeaponModel; //0x00C8
    int LegsAnim; //0x00CC
    int TorsoAnim; //0x00D0
    int Union1; //0x00D4
    int Union2; //0x00D8
    float TorsoPitch; //0x00DC
    float WaistPitch; //0x00E0
    int PartBits[ 4 ]; //0x00E4
}; //Size=0x00F4

struct centity_t
{
    cpose_t Pose;
    LerpEntityState CurrentState; //0x0064
    entityState_t NextState; //0x00CC
    int Tree; //0x01C0
    char _0x01C4[ 0x18 ]; //0x01C4
}; //Size=0x01DC

struct SprintState
{
    int SprintButtonUpRequired; //0x0000
    int SprintDelay; //0x0004
    int LastSprintStart; //0x0008
    int LastSprintEnd; //0x000C
    int SprintStartMaxLength; //0x0010
}; //Size=0x0014

struct MantleState
{
    float Yaw; //0x0000
    int Timer; //0x0004
    int TransIndex; //0x0008
    int Flags; //0x000C
}; //Size=0x0010

struct playerState_t
{
    int CommandTime; //0x0000
    int PM_Type; //0x0004
    int BobCycle; //0x0008
    int PM_Flags; //0x000C
    int WeaponFlags; //0x0010
    int OtherFlags; //0x0014
    int PM_Time; //0x0018
    Vector3 Origin; //0x001C
    Vector3 Velocity; //0x0028
    Vector2 OldVelocity; //0x0034
    int WeaponTime; //0x003C
    int WeaponDelay; //0x0040
    int GrenadeTimeLeft; //0x0044
    int ThrowbackGrenadeOwner; //0x0048
    int ThrowbackGrenadeTimeLeft; //0x004C
    int WeaponRestrictKickTime; //0x0050
    int FoliageSoundTime; //0x0054
    int Gravity; //0x0058
    float Lean; //0x005C
    int Speed; //0x0060
    Vector3 DeltaAngles; //0x0064
    int GroundEntityNum; //0x0070
    Vector3 LadderVec; //0x0074
    int JumpTime; //0x0080
    float JumpOriginZ; //0x0084
    int LegsTimer; //0x0088
    int LegsAnim; //0x008C
    int TorsoTimer; //0x0090
    int TorsoAnim; //0x0094
    int LegsAnimDuration; //0x0098
    int TorsoAnimDuration; //0x009C
    int DamageTimer; //0x00A0
    int DamageDuration; //0x00A4
    int FlinchYawAnim; //0x00A8
    int MovementDir; //0x00AC
    int EFlags; //0x00B0
    int EventSequence; //0x00B4
    int Events[ 4 ]; //0x00B8
    int EventParams[ 4 ]; //0x00C8
    int OldEventSequence; //0x00D8
    int ClientNum; //0x00DC
    int OffHandIndex; //0x00E0
    int OffhandSecondary; //0x00E4
    int Weapon; //0x00E8
    int WeaponState; //0x00EC
    int WeaponShotCount; //0x00F0
    float WeaponPosFraction; //0x00F4
    int ADSDelayTime; //0x00F8
    int SpreadOverride; //0x00FC
    int SpreadOverrideState; //0x0100
    int ViewModelIndex; //0x0104
    Vector3 ViewAngles; //0x0108
    int ViewHeightTarget; //0x0114
    float ViewHeightCurrent; //0x0118
    int ViewHeightLerpTime; //0x011C
    int ViewHeightLerpTarget; //0x0120
    int ViewHeightLerpDown; //0x0124
    Vector2 ViewAngleClampBase; //0x0128
    Vector2 ViewAngleClampRange; //0x0130
    int DamageEvent; //0x0138
    int DamageYaw; //0x013C
    int DamagePitch; //0x0140
    int DamageCount; //0x0144
    int Stats[ 5 ]; //0x0148
    int Ammo[ 128 ]; //0x015C
    int AmmoInClip[ 128 ]; //0x035C
    int Weapons[ 4 ]; //0x055C
    int WeaponsOld[ 4 ]; //0x056C
    int WeaponRechamber[ 4 ]; //0x057C
    float ProneDirection; //0x058C
    float ProneDirectionPitch; //0x0590
    float ProneTorsoPitch; //0x0594
    int ViewLocked; //0x0598
    int ViewLockedEntNum; //0x059C
    int CursorHint; //0x05A0
    int CursorHintString; //0x05A4
    int CursorHintEntIndex; //0x05A8
    int ICompassPlayerInfo; //0x05AC
    int RadarEnabled; //0x05B0
    int LocationSelectionInfo; //0x05B4
    SprintState SprintState; //0x05B8
    float TorsoPitch; //0x05CC
    float WaistPitch; //0x05D0
    float HoldBreathScale; //0x05D4
    int HoldBreathTimer; //0x05D8
    float MoveSpeedScaleMultiplier; //0x05DC
    MantleState MantleState; //0x05E0
    float MeleeChargeYaw; //0x05F0
    int MeleeChargeDistance; //0x05F4
    int MeleeChargeTime; //0x05F8
    int Perks; //0x05FC
    int ActionSlotType[ 4 ]; //0x0600
    int ActionSlotParam[ 4 ]; //0x0610
    int EntityEventSequence; //0x0620
    int WeaponAnim; //0x0624
    float AimSpreadScale; //0x0628
    int ShellShockIndex; //0x062C
    int ShellShockTime; //0x0630
    int ShellShockDuration; //0x0634
    float DOFNearStart; //0x0638
    float DOFNearEnd; //0x063C
    float DOFFarStart; //0x0640
    float DOFFarEnd; //0x0644
    float DOFNearBlur; //0x0648
    float DOFFarBlur; //0x064C
    float DOFViewModelStart; //0x0650
    float DOFViewModelEnd; //0x0654
    char _0x0658[ 0x1C4 ]; //0x0658
    char WeaponModels[ 128 ]; //0x81C
    int DeltaTime; //0x089C
    int KillCamEntity; //0x08A0
    char _0x08A4[ 0x26C0 ]; //hudelems cba to reverse rn
}; //Size=0x2F64

struct WeaponDef
{
    char* InternalName; //0x0000
    char* DisplayName; //0x0004
    char _0x0008[ 0x124 ]; //0x0008
    int WeaponType; //0x012C
    int WeaponClass; //0x0130
    int PenetrationType; //0x0134
    char _0x0138[ 0x204 ]; //0x0138
    int ShotCount; //0x033C
    char _0x0340[ 0xC ];
    int Damage; //0x034C
    int PlayerDamage; //0x0350
    char _0x0354[ 0xE4 ]; //0x0354
    int OverlayReticle; //0x0438
    char _0x043C[ 0xA4 ]; //0x043C
    int RifleBullet; //0x04E0
    int ArmorPiercing; //0x04E4
    int AimDownSight; //0x04E8
    char _0x04EC[ 0x44 ];
    int SegmentedReload; //0x0530
    char _0x0534[ 0x1E8 ]; //0x0534
    float ADSSpread; //0x71C
    char _0x0720[ 0xEC ];
    float MinDamageRange; //0x80C
};

#pragma pack(push, 4)
struct usercmd_t
{
    int   ServerTime;
    int   Buttons;
    int   ViewAngles[ 3 ];
    char  Weapon;
    char  OffHandIndex;
    char  ForwardMove;
    char  SideMove;
    float MeleeChargeYaw;
    char  MeleeChargeDist;
};
#pragma pack(pop)

struct clientState_s
{
    int ClientIndex; //0x0000
    team_t Team; //0x0004
    int Modelindex; //0x0008
    int AttachModelIndex[ 6 ]; //0x000C
    int AttachTagIndex[ 6 ]; //0x0024
    char Name[ 16 ]; //0x003C
    float MaxSprintTimeMultiplier; //0x004C
    int Rank; //0x0050
    int Prestige; //0x0054
    int Perks; //0x0058
    int AttachedVehEntNum; //0x005C
    int AttachedVehSlotIndex; //0x0060
}; //Size: 0x64

struct snapshot_t
{
    int Flags; //0x0000
    int Ping; //0x0004
    int ServerTime; //0x0008
    playerState_t PlayerState; //0x000C
    int  NumEntities; //0x2F70
    int  NumClients; //0x2F74
    entityState_t Entities[ 512 ]; //0x2F78
    clientState_s Clients[ 64 ]; //0x21778
    int ServerCommandSequence; //0x23078
}; //Size = 0x2307C

struct ClientArchiveData
{
    int ServerTime; //0x0000
    Vector3 Origin; //0x0004
    Vector3 Velocity; //0x0010
    int BobCycle; //0x001C
    int MovementDirection; //0x0020
    Vector3 ViewAngles; //0x0024
}; //Size: 0x30

struct clSnapshot_t
{
    BOOL Valid; //0x0000
    int SnapFlags; //0x0004
    int ServerTime; //0x0008
    int MessageNumber; //0x000C
    int DeltaNum; //0x0010
    int Ping; //0x0014
    int CmdNum; //0x0018
    playerState_t PlayerState; //0x001C
    int NumnerOfEntities; //0x2F80
    int NumberOfClients; //0x2F84
    int ParseEntitiesNumber; //0x2F88
    int ParseClientsNumber; //0x2F8C
    int ServerCommandNumber; //0x2F90
}; //Size = 0x2F94

struct gameState_t
{
    int StringOffsets[ 2442 ]; //0x00000
    char StringData[ 0x20000 ]; //0x02628
    int DataCount; //0x22628
}; //Size: 0x2262C

struct outPacket_t
{
    int CommandNumber; //0x0000
    int ServerTime; //0x0004
    int Realtime; //0x0008
}; //Size: 0xC

struct clientActive_t
{
    BOOL IsADS; //0x0000
    int TimeoutCount; //0x0004
    clSnapshot_t Snapshot; //0x0008
    BOOL AlwaysFalse; //0x2F9C
    int ServerTime; //0x2FA0
    int OldServerTime; //0x2FA4
    int OldFrameServerTime; //0x2FA8
    int ServerTimeDelta; //0x2FAC
    int OldSnapServerTime; //0x2FB0
    BOOL ExtrapolatingSnapshot; //0x2FB4
    BOOL NewSnapshots; //0x2FB8
    gameState_t GameState; //0x2FBC
    char MapName[ 64 ]; //0x255E8
    int ParseEntitiesNum; //0x25628
    int ParseClientsNum; //0x2562C
    int MouseDX[ 2 ]; //0x25630
    int MouseDY[ 2 ]; //0x25638
    int MouseIndex; //0x25640
    BOOL StanceHeld; //0x25644
    BOOL Stance; //0x25648
    int StancePosition; //0x2564C
    int StanceTime; //0x25650
    int CGameUserCmdWeapon; //0x25654
    int CGameUserCmdOffHandIndex; //0x25658
    float CGameFOVSensitivityScale; //0x2565C
    float CGameMaxPitchSpeed; //0x25660
    float CGameMaxYawSpeed; //0x25664
    Vector3 CGameKickAngles; //0x25668
    Vector3 CGameOrigin; //0x25674
    Vector3 CGameVelocity; //0x25680
    Vector3 CGameViewAngles; //0x2568C
    int CGameBobCycle; //0x25698
    int CGameMovementDir; //0x2569C
    int CGameExtraButtons; //0x256A0
    int CGamePredictedDataServerTime; //0x256A4
    Vector3 ViewAngles; //0x256A8
    int ServerID; //0x256B4
    int SkeletonTimestamp; //0x256B8
    int SkeletonMemoryPosition; //0x256BC
    char SkeletonMemory[ 0x40000 ]; //0x256C0
    int SkeletonMemoryStart; //0x656C0
    BOOL AllowedAllocSkeleton; //0x656C4
    usercmd_t Commands[ 128 ]; //0x656C8
    int CommandNumber; //0x666C8
    ClientArchiveData ClientArchive[ 256 ]; //0x666CC
    int ClientArchiveIndex; //0x696CC
    outPacket_t OutPackets[ 32 ]; //0x696D0
    clSnapshot_t Snapshots[ 32 ]; //0x69850
    entityState_t EntityBaselines[ 1024 ]; //0xC8AD0
    entityState_t ParseEntities[ 2048 ]; //0x105AD0
    clientState_s ParseClients[ 2048 ]; //0x17FAD0
    int CorruptedTranslationFile; //0x1B1AD0
    char TranslationVersion[ 256 ]; //0x1B1AD4
    float VehicleViewYaw; //0x1B1BD4
    float VehicleViewPitch; //0x1B1BD8
}; //Size: 0x1B1BDC

struct clientControllers_t
{
    Vector3 Angles[ 6 ]; //0x0000
    Vector3 TagOriginAngles; //0x0048
    Vector3 TagOriginOffset; //0x0054
};

struct lerpFrame_t
{
    float YawAngle; //0x0000
    int Yawing; //0x0004
    float PitchAngle; //0x0008
    int Pitching; //0x000C
    int AnimationNumber; //0x0010
    void* Animation; //0x0014
    int AnimationTime; //0x0018
    Vector3 OldFramePosition; //0x001C
    float AnimSpeedScale; //0x0028
    int OldFrameSnapshotTime; //0x002C
}; //Size: 0x30

#pragma pack(push, 4)
struct clientinfo_t
{
    int IsValid; //0x000
    int NextValid; //0x004
    int ClientNumber; //0x008
    char Name[ 16 ]; //0x000C
    team_t Team; //0x01C
    team_t OldTeam; //0x020
    int Rank; //0x0024
    int Prestige; //0x0028
    unsigned int Perks; //0x002C
    int Score; //0x0030
    int Location; //0x0034
    int Health; //0x0038
    char BodyModel[ 64 ]; //0x003C
    char AttachedModels[ 6 ][ 64 ]; //0x007C
    char AttachedTags[ 6 ][ 64 ]; //0x01FC
    lerpFrame_t Legs; //0x37C
    lerpFrame_t Torso; //0x3AC
    float LerpMoveDirection; //0x3DC
    float LerpLean; //0x3E0
    Vector3 ViewAngles; //0x3E4
    BOOL LeftHandGun; //0x3F0
    BOOL DObjDirty; //0x3F4
    clientControllers_t Control; //0x3F8
    char _0x0458[ 0x50 ];
    void* AnimationTree; //0x4A8
    int DObjWeapon; //0x4AC
    int WeaponModel; //0x4B0
    int StanceTransitionTime; //0x4B4
    int TurnAnimationTime; //0x4B8
    bool TurnAnimationType; //0x4BC
    int AttachedVehicleEntityNumber; //0x4C0
    int AttachedVehicleSlotIndex; //0x4C4
    bool HideWeapon; //0x4C8
    bool UsingKnife; //0x4C9
}; //Size=0x04CC
#pragma pack(pop)

struct refdef_t
{
    int ScreenX; //0x0000
    int ScreenY; //0x0004
    int ScreenWidth; //0x0008
    int ScreenHeight; //0x000C
    Vector2 FOV; //0x0010
    Vector3 Origin; //0x0018
    Vector3 ViewAxis[ 3 ]; //0x0024
    Vector3 ViewOffset; //0x0048
};

struct cg_t
{
    int ClientNum; //0x0000
    char _0x0004[ 0x1C ]; //0x0004
    snapshot_t* CurrentSnap; //0x0020
    snapshot_t* NextSnap; //0x0024
    char _0x0028[ 0x460FC ]; //0x0028
    int FrameTime; //0x46124
    int Time; //0x46128
    int OldTime; //0x4612C
    int PhysicsTime; //0x46130
    int MapRestart; //0x46134
    int RenderingThirdPerson; //0x46138
    playerState_t PredictedPlayerState; //0x4613C
    char _0x490A0[ 0x228 ];
    refdef_t Refdef; //0x492C8
}; //Size=0xFE7F0

struct cgs_t
{
    int ScreenX; //0x0000
    int ScreenY; //0x0004
    int ScreenWidth; //0x0008
    int ScreenHeight; //0x000C
    float AspectRatio; //0x0010
    char _0x0014[ 0x8 ]; //0x0014
    int LocalServer; //0x001C
    char GameMode[ 32 ]; //0x0020
    char ServerName[ 256 ]; //0x0040
    int MaxClients; //0x0140
    char MapName[ 64 ]; //0x0144
    int GameEndTime; //0x0184
    int VoteTime; //0x0188
    int VoteYes; //0x018C
    int VoteNo; //0x0190
    char _0x0194[ 0x3890 ]; //0x0194
}; //Size=0x3A24

enum DvarType
{
    DVAR_TYPE_BOOL = 0x0,
    DVAR_TYPE_FLOAT = 0x1,
    DVAR_TYPE_VECTOR_2 = 0x2,
    DVAR_TYPE_VECTOR_3 = 0x3,
    DVAR_TYPE_VECTOR_4 = 0x4,
    DVAR_TYPE_INT = 0x5,
    DVAR_TYPE_ENUM = 0x6,
    DVAR_TYPE_STRING = 0x7,
    DVAR_TYPE_COLOR = 0x8,
    DVAR_TYPE_COUNT = 0x9,
};

union DvarLimits
{
    struct
    {
        int StringCount;
        char** Strings;
    } Enumeration;

    struct
    {
        int Min;
        int Max;
    } Integer;

    struct
    {
        float Min;
        float Max;
    } Float;

    struct
    {
        float min;
        float max;
    } Vector;
};

union DvarValue
{
    bool Enabled;
    int Integer;
    unsigned int UnsignedInteger;
    float Float;
    float Vector[ 4 ];
    const char* String;
    unsigned char Color[ 4 ];
};

struct dvar_s
{
    const char* Name; //0x0000
    const char* Description; //0x0004
    unsigned short Flags; //0x0008
    char Type; //0x000A
    bool Modified; //0x000B
    DvarValue Current; //0x000C
    DvarValue Latched; //0x001C
    DvarValue Reset; //0x002C
    DvarLimits Domain; //0x003C
    dvar_s* Next; //0x0044
    dvar_s* HashNext; //0x0048
};

enum TraceHitType
{
    TRACE_HITTYPE_NONE = 0x0,
    TRACE_HITTYPE_ENTITY = 0x1,
    TRACE_HITTYPE_DYNENT_MODEL = 0x2,
    TRACE_HITTYPE_DYNENT_BRUSH = 0x3,
};

#pragma pack(push, 2)
struct trace_t
{
    float Fraction; //0x0000
    Vector3 Normal; //0x0004
    int SurfaceFlags; //0x0010
    int Contents; //0x0014
    const char* Material; //0x0018
    TraceHitType HitType; //0x001C
    unsigned short HitId; //0x0020
    unsigned short ModelIndex; //0x0022
    unsigned short PartName; //0x0024
    unsigned short PartGroup; //0x0026
    bool AllSolid; //0x0028
    bool StartSolid; //0x0029
    bool Walkable; //0x002A
};
#pragma pack(pop)
Addresses:
1.7:
cg_t - 0x0074E338
cgs_t - 0x0074A908
centity_t - 0x0084F2D8
clientActive_t - 0x00C5F930
clientinfo_t - 0x00839270 (inside bg_t but bite me)
WeaponDef - 0x00736DB8
1.8 ( Non-COD4X ):
cg_t - 0x00746338
cgs_t -  0x00742908
centity_t - 0x008472D8
clientActive_t - 0x00C57930
clientinfo_t - 0x00831270 (inside bg_t but bite me)
WeaponDef - 0x0072EDB8
 
Last edited:

Ahegao

Possibly a weeb
Dank Tier Donator
Full Member
Nobleman
Jul 9, 2020
108
3,353
1
You stole these from me :( ... Jk great job man now imma go hit P P
 
  • Like
Reactions: iMoD1998

Petko123

Biggest paster
Dank Tier VIP
Trump Tier Donator
Feb 19, 2018
127
9,068
8
Woow, thank you very much. This will help out a lot of people.
 
  • Like
Reactions: iMoD1998

iMoD1998

PPC Haxor
Trump Tier Donator
Dank Tier Donator
Full Member
Nobleman
Jul 10, 2020
66
3,668
3
My cod4 cheat from 4 years ago desperately needs half of these structs, it's a shit show
What mine started out like 🤣. Then I just decided to reverse everything just so I can understand it. Now my IDB has become a PDB at this point xD So if you need anything specific just lemme know. (except for the juicy stuff) 😎
 
  • Love
Reactions: Ahegao

Ahegao

Possibly a weeb
Dank Tier Donator
Full Member
Nobleman
Jul 9, 2020
108
3,353
1
What mine started out like 🤣. Then I just decided to reverse everything just so I can understand it. Now my IDB has become a PDB at this point xD So if you need anything specific just lemme know. (except for the juicy stuff) 😎
What a nice lady you are
 
  • Like
Reactions: iMoD1998

iMoD1998

PPC Haxor
Trump Tier Donator
Dank Tier Donator
Full Member
Nobleman
Jul 10, 2020
66
3,668
3
Added dvar structs.

If you want to get the dvar by name you can use this:

C++:
dvar_s* Dvar_FindMalleableVar( const char* Name )
{
    DWORD Address = 0x0056B5D0; // 1.7
    dvar_s* Return = 0;

    __asm {
        mov edi, Name
        call Address
        mov Return, eax
    }

    return Return;
}

// use it like this

auto ThirdPerson = Dvar_FindMalleableVar( "cg_thirdperson" );

ThirdPerson->Current.Enabled = true;
 
  • Like
Reactions: Rake

X2i

Dank Tier Donator
Sep 29, 2020
2
208
0
Y'all want some data structs? Here ya go [Hastebin]
Note, not all of these are 100% functional, but most fall in line where they need to be.
They're pulled from the IDB, which wasn't fully up-to-date with the current build anyway.

Enjoy

EDIT: Forgot to include some of the definitions, but OP has most of them already.
There are multiple re-def's due to some of them not matching up but still working...probably didn't realize where I was at the time and was just bangin' it out.
hastebin
 
Last edited:

omegaweapontmod

I Know Nothing
Trump Tier Donator
Dank Tier Donator
Nobleman
Aug 21, 2020
86
1,323
2
Y'all want some data structs? Here ya go [Hastebin]
Note, not all of these are 100% functional, but most fall in line where they need to be.
They're pulled from the IDB, which wasn't fully up-to-date with the current build anyway.

Enjoy

EDIT: Forgot to include some of the definitions, but OP has most of them already.
There are multiple re-def's due to some of them not matching up but still working...probably didn't realize where I was at the time and was just bangin' it out.
hastebin
These are COD 4 structs? The WeaponInfo_t looks more recent but I may be mistaken.

Also, I'm not familiar with the IDB acronym (I know... git gud noob lol) -- what does it stand for?
 

X2i

Dank Tier Donator
Sep 29, 2020
2
208
0
These are COD 4 structs? The WeaponInfo_t looks more recent but I may be mistaken.

Also, I'm not familiar with the IDB acronym (I know... git gud noob lol) -- what does it stand for?
It definitely is. One is incorrectly named (never found the real name) used for weapon data and the other (weapon_t I think it was) is used for displaying other player weapons.
It was all put together a long time ago and I've honestly never went back to fix any of it. I hope you can see why :D

IDB: IDA DataBase...basically an IDA storage type. It's from the leaked COD4 debug file from the console version and dumped into IDA.
 
  • Like
Reactions: omegaweapontmod

omegaweapontmod

I Know Nothing
Trump Tier Donator
Dank Tier Donator
Nobleman
Aug 21, 2020
86
1,323
2
It definitely is. One is incorrectly named (never found the real name) used for weapon data and the other (weapon_t I think it was) is used for displaying other player weapons.
It was all put together a long time ago and I've honestly never went back to fix any of it. I hope you can see why :D

IDB: IDA DataBase...basically an IDA storage type. It's from the leaked COD4 debug file from the console version and dumped into IDA.
That was the only place I've seen IDB before but I was just making sure. Thanks for clarifying!
 
  • Like
Reactions: X2i
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods