Code:
class PlayerPos
{
public:
char pad_0000[132]; //0x0000
int32_t WIA; //0x0084
char pad_0088[48]; //0x0088
float WTW1; //0x00B8
float WTW2; //0x00BC
float WTW3; //0x00C0
char pad_00C4[28]; //0x00C4
D3DXVECTOR3 Position; //0x00E0
char pad_00EC[20]; //0x00EC
int32_t JumpMode; //0x0100
char pad_0104[80]; //0x0104
int32_t IsPlayerInAir1; //0x0154
float IsPlayerInAir2; //0x0158
char pad_015C[752]; //0x015C
}; //Size: 0x044C
class PlayerViewManager
{
public:
char _0x0000[4];
class CObjectWeapon* pObjectWeapon; //0x0004
char _0x0008[48];
__int32 pCurrentWeaponID; //0x0038
};
enum eCurrentWeaponSlot
{
CWS_PRIMARY,
CWS_SECONDARY,
CWS_KNIFE,
CWS_GRENADE,
CWS_C4
};
class CPlayerClntBase
{
public:
char pad_0000[700]; //0x0000
int32_t BulletBalance; //0x02BC
int32_t BulletReserved; //0x02C0
int32_t BulletMaxMagazine; //0x02C4
int32_t WeaponSlot; //0x02C8
char pad_02CC[4]; //0x02CC
class PlayerViewManager* pPlayerViewManager; //0x02D0
char pad_02D4[24]; //0x02D4
int32_t BulletMaxMagazine2; //0x02EC
char pad_02F0[60]; //0x02F0
int32_t Crosshair5_OLD; //0x032C
char pad_0330[4]; //0x0330
int32_t PlayerState; //0x0334
char pad_0338[432]; //0x0338
class PlayerPos* pPlayerPos_OLD; //0x04E8
char pad_04EC[8]; //0x04EC
float Pitch_OLD; //0x04F4
float Yaw_OLD; //0x04F8
float Roll_OLD; //0x04FC
char pad_0500[36]; //0x0500
int32_t Crosshair1_NEW; //0x0524
int32_t Crosshair2_NEW; //0x0528
int32_t Crosshair3_NEW; //0x052C
char pad_0530[8]; //0x0530
int32_t Crosshair4_NEW; //0x0538
char pad_053C[28]; //0x053C
int32_t Jump2_NEW; //0x0558
char pad_055C[4]; //0x055C
int32_t Jump3_NEW; //0x0560
char pad_0564[16]; //0x0564
int32_t IsPlayerInAir_NEW_01; //0x0574
char pad_0578[44]; //0x0578
float WalkThroughWall1; //0x05A4
float WalkThroughWall2; //0x05A8
float WalkThroughWall3; //0x05AC
char pad_05B0[64]; //0x05B0
int32_t CurrentWeaponID_NEW; //0x05F0
char pad_05F4[16]; //0x05F4
int32_t NoReload_NEW_WeaponState; //0x0604
char pad_0608[12]; //0x0608
int32_t Crosshair1_OLD; //0x0614
int32_t WeaponState_NEW/*_Crosshair2_OLD*/; //0x0618
int32_t Crosshair3_OLD; //0x061C
char pad_0620[8]; //0x0620
float Crosshair4_OLD; //0x0628
int32_t CurrentWeaponIDSlot1_NEW; //0x062C
int32_t CurrentWeaponIDSlot2_NEW; //0x0630
int32_t CurrentWeaponIDSlot3_NEW; //0x0634
int32_t CurrentWeaponIDSlot4_NEW; //0x0638
char pad_063C[12]; //0x063C
int32_t Jump2_OLD; //0x0648
int32_t Jump3_OLD; //0x064C
char pad_0650[20]; //0x0650
int32_t IsPlayerInAir_OLD_01; //0x0664
char pad_0668[116]; //0x0668
int32_t CurrentWeaponID_OLD; //0x06DC
char pad_06E0[20]; //0x06E0
int32_t NoReload_OLD_WeaponState; //0x06F4
char pad_06F8[16]; //0x06F8
int32_t WeaponState_OLD; //0x0708
char pad_070C[16]; //0x070C
int32_t CurrentWeaponIDSlot1_OLD; //0x071C
int32_t CurrentWeaponIDSlot2_OLD; //0x0720
int32_t /*CurrentWeaponIDSlot3_OLD_*/GameTypeNew; //0x0724
int32_t CurrentWeaponIDSlot4_OLD; //0x0728
int32_t IsPlayerInAir_NEW; //0x072C
char pad_0730[236]; //0x0730
int32_t IsPlayerInAir_OLD; //0x081C
char pad_0820[28]; //0x0820
int32_t Copy_NEW_2; //0x083C
int32_t Copy_NEW; //0x0840
char pad_0844[232]; //0x0844
int32_t Copy_OLD_2; //0x092C
int32_t Copy_OLD; //0x0930
char pad_0934[40]; //0x0934
float ShiftSpeed_NEW; //0x095C
float CrouchSpeed_NEW; //0x0960
char pad_0964[4]; //0x0964
float SizeStepSpeed_NEW; //0x0968
float HighJump_NEW; //0x096C
char pad_0970[4]; //0x0970
float Gravity_NEW; //0x0974
char pad_0978[184]; //0x0978
float ShiftSpeed_OLD; //0x0A30
float CrouchSpeed_OLD; //0x0A34
char pad_0A38[4]; //0x0A38
float SizeStepSpeed_OLD; //0x0A3C
float HighJump_OLD; //0x0A40
char pad_0A44[4]; //0x0A44
float Gravity_OLD; //0x0A48
char pad_0A4C[238]; //0x0A4C
int16_t Jump1_NEW; //0x0B3A
char pad_0B3C[196]; //0x0B3C
int32_t IsPlayerInAir_NEW_2560; //0x0C00
char pad_0C04[10]; //0x0C04
int16_t Jump1_OLD; //0x0C0E
char pad_0C10[196]; //0x0C10
int32_t IsPlayerInAir_OLD_2560; //0x0CD4
char pad_0CD8[124]; //0x0CD8
class PlayerPos* pPlayerPos_NEW; //0x0D54
char pad_0D58[16]; //0x0D58
float Pitch_NEW; //0x0D68
float Yaw_NEW; //0x0D6C
float Roll_NEW; //0x0D70
}; //Size: 0x0D74
class CNanoPVScreen
{
public:
char pad_0000[368]; //0x0000
uint32_t ZSlot1; //0x0170
uint32_t ZSlot2; //0x0174
uint32_t ZSlot3; //0x0178
uint32_t ZSlot4; //0x017C
uint32_t ZSlot5; //0x0180
uint32_t ZSlot6; //0x0184
char pad_0188[12]; //0x0188
uint32_t Dialog; //0x0194
}; //Size: 0x0198
class CGameUI // aCLTPlayerClient + 0x1C8
{
public:
char _0x0000[26608];
CSpectateInfo* pCSpectateInfo;
char _0x67F4[2244];
CNanoPVScreen* pCNanoPVScreen;
class GameUIEscape* pGameUIEscape;
char _0x70C0[16];
class SkillPVScreen* pSkillPVScreen;
char _0x70D4[876];
};//Size=0x7440
enum MapType
{
OLD = 0,
NEW = 1065353216
};
enum ePlayerPOSWIA
{
WIA_OFF = 405506,
WIA_ON_1 = 131072,
WIA_ON_2 = 0
};
enum ePlayerState
{
PS_IDLE,
PS_MOVING,
PS_WALK_SHIFT,
PS_CROUCH,
PS_WALK_CROUCH,
PS_JUMP
};
enum eWeaponStateReload
{
WSR_SWITCHING = 1,
WSR_IDLE = 2,
WSR_FIRING_SINGLESHOT = 3,
WSR_FIRING_MULTISHOT = 4,
WSR_RELOADING = 5,
WSR_WALKING = 8,
WSR_KNIFE_SHOT1 = 12,
WSR_KNIFE_SHOT2 = 13,
WSR_KNIFE_BIGSHOT = 16,
WSR_RIFLE_KNIFEBIGSHOT = 17,
WSR_JEJEGUN_FIRING1 = 21,
WSR_JEJEGUN_FIRING2 = 22,
WSR_RELOADING2 = 27
};
enum eWeaponState
{
WS_SWITCHING,
WS_IDLE,
WS_GRENADE_REMOVE_KEY,
WS_GRENADE_HANDLING,
WS_FIRING,
WS_UNKNOWN,
WS_RELOADING,
WS_COPY = 100,
WS_COPY_2 = 256
};
enum /*class*/ eBagState
{
BS_OFF = 17581767,
BS_ON = 804551
};
enum /*class*/ eGameState
{
GSC_LOGIN = 1,
GSC_SERVER = 17,
GSC_CHANNEL = 3,
GSC_ROOM = 8,
GSC_MEGALOTTO = 22,
GSC_STORAGE = 4,
GSC_ITEMSHOP = 18,
GSC_MILEAGE = 33,
GSC_CLAN = 28,
GSC_TOURNAMENT = 30,
GSC_INROOM = 13,
GSC_LOADING85 = 0,
GSC_INGAME = 11,
GSC_AFTERINGAMERECORDLIST = 14
};
class CGameFlow
{
public:
eGameState eGameState; //0x0000
__forceinline bool InGame() {
return eGameState == eGameState::GSC_INGAME;
}
__forceinline bool InRoom() {
return eGameState == eGameState::GSC_ROOM;
}
__forceinline bool InLogin() {
return eGameState == eGameState::GSC_LOGIN;
}
__forceinline bool InServer() {
return eGameState == eGameState::GSC_SERVER;
}
__forceinline bool InLoading85() {
return eGameState == eGameState::GSC_LOADING85;
}
}; //Size: 0x000C
enum cGameMode // check this
{
//==========================
//TRAINING
TRAINING_CAMP = 48,
//==========================
//ZA Mode
ZA_Mode = 9,
ZA2_Mode = 23,
ZA3_Mode = 31,
//==========================
//Shadow Mode
Shadow_Mode = 16,
//==========================
//Regular Modes
TDM = 1,
DM = 0,
Weapon_Master = 35,
Bombing_Mode = 29,
Rapid_Surge_Mode = 20,
Ghost_Mode = 2,
Wipe_Out = 6,
Free_For_All = 3,
Escape_Mode = 8,
Spy_Mode = 21,
Captain_Mode = 22,
//==========================
//Zombie Mode
Hero_Mode_eXtreme = 12,
Zombie_Knight_Mode = 18,
Zombie_vs_Ghost = 17,
Zombie_Mode = 4,
Hero_Mode = 10,
//==========================
//Wave Mode
Wave_Mode = 14,
//==========================
//Super Soldier
Super_Soldier_TD = 19,
Super_Soldier_DM = 24,
//==========================
//AI Bot Match
AI_Bot_Destruction = 30,
AI_Bot_TD = 25,
//==========================
//Event Mode
Cops_and_Robbers = 40,
//==========================
//BattleRoyale
BattleRoyale_Solo = 41, //Solod 160
BattleRotale_Squad = 42, //Squad 161
BattleRoyale_Duo = 43 //Duo 162
};
enum cGameID
{
BATTLE_ROYALE_SOLO = 160,
BATTLE_ROYALE_SQUAD = 161,
BATTLE_ROYALE_DUO = 162
};
class cRoomInfo
{
public:
char _0x0000[276];
cGameID g_cGameID; // __int32 MapId; //0x0114
char _0x0118[20];
cGameMode g_cGameMode; //__int32 Mode; //0x012C
char _0x0130[8];
__int32 GameRules; //0x0138
__int32 Objective; //0x013C
__int32 WeaponType; //0x0140
char _0x0144[4];
__int32 RespawnTime; //0x0148
__int32 PlayersCount; //0x014C
__int32 PlayerView; //0x0150
__forceinline bool IsPlayerIn_AIBOT() {
return ((g_cGameMode == cGameMode::AI_Bot_Destruction) ||
(g_cGameMode == cGameMode::AI_Bot_TD));
}
__forceinline bool IsPlayerIn_BattleRoyale_Duo() {
return ((g_cGameMode == cGameMode::BattleRoyale_Duo) &&
(g_cGameID == cGameID::BATTLE_ROYALE_DUO));
}
__forceinline bool IsPlayerIn_BattleRoyale_Squad() {
return ((g_cGameMode == cGameMode::BattleRotale_Squad) &&
(g_cGameID == cGameID::BATTLE_ROYALE_SQUAD));
}
__forceinline bool IsPlayerIn_BattleRoyale_Solo() {
return ((g_cGameMode == cGameMode::BattleRoyale_Solo) &&
(g_cGameID == cGameID::BATTLE_ROYALE_SOLO));
}
__forceinline bool IsPlayerIn_BattleRoyale_Mode() {
return ((g_cGameMode == cGameMode::BattleRoyale_Solo) ||
(g_cGameMode == cGameMode::BattleRotale_Squad) ||
(g_cGameMode == cGameMode::BattleRoyale_Duo));
}
__forceinline bool IsPlayerIn_HoppingSpace_Room() {
return ((g_cGameMode == cGameMode::TDM) &&
(g_cGameID == 2));
}
__forceinline bool IsPlayerIn_AIMode() {
return ((g_cGameMode == cGameMode::ZA_Mode) ||
(g_cGameMode == cGameMode::ZA2_Mode) ||
(g_cGameMode == cGameMode::ZA3_Mode));
}
__forceinline bool IsPlayerIn_WeaponMaster() {
return (g_cGameMode == cGameMode::Weapon_Master);
}
__forceinline bool IsPlayerIn_AIModeOld() {
return ((g_cGameMode == cGameMode::ZA_Mode) ||
(g_cGameMode == cGameMode::ZA2_Mode));
}
__forceinline bool IsPlayerIn_WaveMode() {
return (g_cGameMode == cGameMode::Wave_Mode);
}
__forceinline bool IsPlayerIn_ZombieMode() {
return ((g_cGameMode == cGameMode::Hero_Mode_eXtreme) ||
(g_cGameMode == cGameMode::Zombie_Knight_Mode) ||
(g_cGameMode == cGameMode::Zombie_vs_Ghost) ||
(g_cGameMode == cGameMode::Zombie_Mode) ||
(g_cGameMode == cGameMode::Hero_Mode));
}
__forceinline bool IsPlayerIn_TrainingCamp() {
return (g_cGameMode == cGameMode::TRAINING_CAMP);
}
__forceinline bool IsPlayerIn_FFA() {
return (g_cGameMode == cGameMode::Free_For_All);
}
};//Size=0x0154
class cRoom
{
public:
char _0x0000[12];
cRoomInfo* pRoomInfo; //0x000C
};//Size=0x0010