Updated some more items in Player Manager.
With CMoveMgr, you can manipulate players gravity through this (Latest patch saw nexon remove loading the value of the old RCC Constant (VarTrack) PlayerGravity)
comparison between old and recent (22/5/14) patch.
took some of the enums from TO2, may or may not be accurate.
Code:
enum CameraState
{
SOUTH,
SOUTHEAST,
EAST,
NORTHEAST,
NORTH,
NORTHWEST,
WEST,
SOUTHWEST,
MLOOK,
HOLD
};
enum CameraMode
{
FIRSTPERSON,
CHASE,
GOINGFIRSTPERSON,
CIRCLING,
SCRIPT
};
enum CameraPoint
{
AT_POSITION,
IN_DIRECTION,
AUTOMATIC
};
class CPlayerCamera
{
public:
CObject* hTarget; //0x0000
CLTClient* pLTClient; //0x0004
LTRotation ltRot;//0x0008
D3DXVECTOR3 vPos; //0x0018
D3DXVECTOR3 vLastTargetPos; //0x0024
D3DXVECTOR3 vLastOptPos; //0x0030
LTRotation ltLastRot; //0x003C
CameraState eOrientation; //0x004C
CameraState eSaveOrientation; //0x0050
CameraMode eCameraMode; //0x0054
CameraMode eSaveCameraMode; //0x0058
CameraPoint ePointType; //0x005C
float fOptX; //0x0060
float fOptY; //0x0064
float fPOptZ; //0x0068
float fCamDistback; //0x006C
float fCamDistUp; //0x0070
float fCamDistDiag; //0x0074
BOOL bSlide; //0x0078
D3DXVECTOR3 vTargetChaseOffset; //0x007C
D3DXVECTOR3 vTartegPointAtOffset; //0x0088
float fCircleHightOffset; //0x0094
float fCircleRadius; //0x0098
char _0x009C[44];
D3DXVECTOR3 vTargetFirstPersonOffset; //0x00C8
char _0x00D4[12];
float fThirdPersonCameraRadiusOut; //0x00E0
};//Size=0x00E4
enum SurfaceType
{
ST_UNKNOWN = 0, // Unknown value
ST_AIR = 1, // Not a surface, but not the sky either
ST_FLESH = 2, // Human flesh
ST_ARMOR = 3, // Armored Human
ST_SKY = 110, // Sky poly
ST_LADDER = 200, // Ladder volume brush
ST_LIQUID = 201, // Liquid volume brush
ST_INVISIBLE = 202, // Invisible surface
};
class CMoveMgr
{
public:
char _0x0000[24];
D3DXVECTOR3 vWantedDimensions; //0x0018
DWORD dwControlFlags; //0x0024
DWORD dwLastControlFlags; //0x0028
char _0x002C[4];
BOOL bBodyOnLadder; //0x0030
CObject* hLadderObject; //0x0034
char _0x0038[24];
SurfaceType eStandingSurfaceType; //0x0050
D3DXVECTOR3 vGroundNormal; //0x0054
BOOL bOnGround; //0x0060
char _0x0064[4];
BOOL bFalling; //0x0068
char _0x006C[16];
float fLastOnGroundY; //0x007C
BOOL bJumped; //0x0080
char _0x0084[28];
float fGravity; //0x00A0
};//Size=0x00A4
class cPlayerMgr
{
public:
char _0x0000[16];
CMoveMgr* pMoveMgr; //0x0010
char _0x0014[4];
CClientWeaponMgr* pWeaponMgr; //0x0018
char _0x001C[12];
BOOL bLastSent3rdPerson; //0x0028
DWORD dwPlayerFlags; //0x002C
DWORD dwPlayerState; //0x0030 PS_UNKNOWN=0, PS_ALIVE=1, PS_DEAD=2, PS_DYING=3, PS_GHOST=4
char _0x0034[8];
LTRotation ltRot; //0x003C
float fPitch; //0x004C
float fYaw; //0x0050
float fRoll; //0x0054
float fFireJitterPitch; //0x0058
float fFireJitterYaw; //0x005C
char _0x0060[168];
BOOL bStartedDuckingDown; //0x0108
BOOL bStartedDuckingUp; //0x010C
float fCamDuck; //0x0110
float fDuckDownV; //0x0114
float fDuckUpV; //0x0118
float fMaxDuckDist; //0x011C
float fStartDuckTime; //0x0120
BOOL bCamera; //0x0124
D3DXVECTOR3 vSSLightScale; //0x0128 super spy light scale
CObject* CameraObject; //0x0134
CPlayerCamera* pPlayerCamera; //0x0138
BOOL bCameraOnHead; //0x013C
BOOL bFirstUpdate; //0x0140
BOOL b********dated; //0x0144
BOOL bStrafing; //0x0148
BOOL bHoldingMouseLook; //0x014C
__inline CClientWeapon *GetCurrentWeapon()
{
if (pWeaponMgr && pWeaponMgr->CurrentWeapon)
return pWeaponMgr->CurrentWeapon;
else
return NULL;
}
};//Size=0x0150
updated fly hack:
Code:
if(flyhack && spacedown)
PlayerMgr->pMoveMgr->fGravity = 1000;
else
PlayerMgr->pMoveMgr->fGravity = -1000;