- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 754
- Reaction score
- 457
If you are still messing with the Steam version of Black Ops 2, you are doing it wrong. Plutonium is the only way to play, but it's its own beast when it comes to memory layouts. This is a collection of the essential structs and offsets for T6 Plutonium, covering both Multiplayer (MP) and Zombies (ZM).
Technical Note: Do not try to use Steam offsets here. The client differences are massive, and you will just end up with a heap of access violations. These have been verified for the current Plutonium build.
Reversing Tip: Weapon Display Names
Handling internals for weapons in T6 requires some string cleanup since Plutonium handles identifiers differently than the retail builds. Here is a logic snippet for normalizing weapon strings:
Credits go to EFKMODZ and MONSTRATA for the initial struct mapping and Akolinnn for the Zombies legwork.
While others are struggling to find broken base pointers on Steam, we're building actual tools for the client that people actually play. If you've got more offsets for the ZM mode, especially for specific maps like Origins or Mob of the Dead, drop them here.
anyone found the updated viewmatrix offset for the latest build?
Technical Note: Do not try to use Steam offsets here. The client differences are massive, and you will just end up with a heap of access violations. These have been verified for the current Plutonium build.
RefDef Struct
Essential for WorldToScreen and FOV calculations.
CEntity Struct
For your entity loop and ESP logic.
ClientInfo Struct
Player-specific metadata like team, rank, and XUID.
Essential for WorldToScreen and FOV calculations.
Code:
struct sRefDef {
int iX;
int iY;
int iWidth;
int iHeight;
char _0x10[0x10];
float flFovX;
float flFovY;
char _0x28[0x8];
float flFov;
Vector3 vViewOrigin;
char _0x40[0x4];
Vector3 vViewAxis[3];
};
CEntity Struct
For your entity loop and ESP logic.
Code:
struct sCEntity {
char _0x0[0x2];
short wValid;
short wUsedForPlayerMesh;
char _0x6[0x26];
Vector3 vOrigin;
Vector3 vViewAngles;
char _0x44[0x11C];
sLerpEntityState CurrentEntityState;
sEntityState NextEntityState;
char _0x2D4[0xA4];
int iAlive;
char _0x37C[0x4];
};
ClientInfo Struct
Player-specific metadata like team, rank, and XUID.
Code:
struct sClientInfo {
int iInfoValid;
int iNextValid;
int iClientNum;
char szName[32];
int iTeam1;
int iTeam2;
int iFFATeam;
char _0x38[0x28];
int iRank;
char _0x64[0x14];
unsigned __int64 qwXuid;
char szClan[8];
char _0x88[0x7];
bool bDead;
char _0x90[0x4];
int iScore;
char _0x98[0x58];
char szPlayerModel[32];
};
Trajectory & Entity State
Crucial for predicting movement and handling weapon IDs.
Dvar Control
Useful for manipulating gamecvars via memory.
Crucial for predicting movement and handling weapon IDs.
Code:
struct sTrajectory {
int trType;
int trTime;
int trDuration;
Vector3 trBase;
Vector3 trDelta;
};
struct sLerpEntityState {
int eFlags1;
int eFlags2;
sTrajectory PositionTrajectory;
sTrajectory AngleTrajectory;
char _0x50[0xC];
int iWeaponID1;
int iWeaponID2;
char _0x64[0x18];
};
Dvar Control
Useful for manipulating gamecvars via memory.
Code:
struct sDvar {
char* szName;
char _0x4[0x14];
union {
bool bValue;
int iValue;
unsigned int dwValue;
float flValue;
char* szValue;
} Current;
};
Reversing Tip: Weapon Display Names
Handling internals for weapons in T6 requires some string cleanup since Plutonium handles identifiers differently than the retail builds. Here is a logic snippet for normalizing weapon strings:
Code:
std::string GetWeaponDisplayName(const char* internalName) {
std::string raw = internalName;
bool isDualWield = raw.find("dw") != std::string::npos;
std::string clean = raw;
size_t plus = clean.find('+');
if (plus != std::string::npos) clean = clean.substr(0, plus);
size_t mp = clean.find("_mp");
if (mp != std::string::npos) clean = clean.substr(0, mp);
// Map implementation follows...
}
Credits go to EFKMODZ and MONSTRATA for the initial struct mapping and Akolinnn for the Zombies legwork.
While others are struggling to find broken base pointers on Steam, we're building actual tools for the client that people actually play. If you've got more offsets for the ZM mode, especially for specific maps like Origins or Mob of the Dead, drop them here.
anyone found the updated viewmatrix offset for the latest build?