Battlefield Play4Free Classes

Posts 1–10 of 10 · Page 1 of 1
Battlefield Play4Free Classes
Hi, here are the classes i reversed for BF Play4Free.

I havent fully tested them but my ESP and Aimbot is working.
Still need to finish up CRay for Visible checks( will post when its done ).
Virtual functions i havent checked either.

I also havent fully reversed CSkeleton, CScoreboard & CRender. CDeviation i dont think is fully correct.

The game runs the same engine for BFH which is the refractor engine.
Pretty much everything is the same..

Code:
class CArmor
{
public:
    char unknown0[16]; //0x0000
    float fHealth; //0x0010  
    char unknown20[44]; //0x0014
};//Size=0x0040(64)

class CPhysicsNode
{
public:
    char unknown0[72]; //0x0000
    D3DXVECTOR3 impulse_force; //0x0048  
    char unknown76[44]; //0x004C
    D3DXVECTOR3 position; //0x0078  
    D3DXVECTOR3 speed; //0x007C  
    char unknown128[64]; //0x0080
};//Size=0x00C0(192)


class CTemplate
{
public:
    virtual void Function0();
    virtual void Function1();
    virtual void Function2();
    virtual void Function3();
    virtual int GetTemplateType(void);
    virtual void Function5();
    virtual void Function6();
    virtual void Function7();
    virtual void Function8();
    virtual void Function9();
    virtual void Function10();
    virtual void Function11();
    virtual void Function12();
    virtual void Function13();
    virtual void Function14();
    virtual void Function15();
    virtual void Function16();
    virtual void Function17();
    virtual void Function18();
    virtual void Function19();
    virtual void Function20();
    virtual void Function21();
    virtual void Function22();
    char ID02997C78[28]; //0x0000  
    DWORD object_id; //0x0020  
    DWORD template_type; //0x0024  
    char unknown40[28]; //0x0028
    DWORD template_id; //0x0044  
    char unknown72[736]; //0x0048
    float weapon_velocity; //0x0328  
    char unknown812[1364]; //0x032C
};//Size=0x0304(772) 

class CWeapon
{
public:
    char unknown0[44]; //0x0000
    CTemplate* weapon_template; //0x002C  
    char unknown48[500]; //0x0030
    CDeviation* weapon_deviation; //0x0224  
    char unknown552[408]; //0x0228
};//Size=0x03C0(960)

class CDeviation
{
public:
    char unknown0[4]; //0x0000
    float total_deviation; //0x0004  
    char unknown8[12]; //0x0008
    float up_deviation_add; //0x0014  
    float right_deviation_add; //0x0018  
    char unknown28[36]; //0x001C
};//Size=0x0040(64)

class CMatrices
{
public:
    char unknown[323];
    __int32 matrices;
};

class CObject
{
public:
    char unknown0[28]; //0x0000
    __int32 flags; //0x001C  
    char unknown32[4]; //0x0020
    CObject* object_root; //0x0024  
    char unknown40[4]; //0x0028
    CTemplate* object_template; //0x002C  
    char unknown48[28]; //0x0030
    CArmor* Health; //0x004C  
    char unknown80[4]; //0x0050
    CPhysicsNode* object_physics; //0x0054  
    char unknown88[96]; //0x0058
    D3DXMATRIX Matrix; //0x00B8  
    char unknown188[4]; //0x00BC
};//Size=0x00C0(192)


class CPlayerInfo
{
public:
    char unknown0[32]; //0x0000
    CObject* object_root; //0x0020  
    char unknown36[8]; //0x0024
    CTemplate* object_template; //0x002C  
    char unknown48[28]; //0x0030
    CArmor* Armor; //0x004C  
    char unknown80[4]; //0x0050
    CPhysicsNode* Physics; //0x0054  
    char unknown88[96]; //0x0058
    D3DXMATRIX Matrix; //0x00B8  
    char unknown188[432]; //0x00BC
    CWeapon* player_weapon; //0x026C  
    char unknown624[92]; //0x0270
    DWORD SelectedWeapon; //0x02CC  
    char unknown720[100]; //0x02D0
    float bodyYaw; //0x0334  
    float strafeForce; //0x0338  
    float forwardForce; //0x033C  
    DWORD posture; //0x0340  
    DWORD posture_cur; //0x0344  
    float headPitch; //0x0348  
    float headPitchChange; //0x034C  
    float headYaw; //0x0350  
    float headYawChange; //0x0354  
    char unknown856[4]; //0x0358
    DWORD posture3; //0x035C  
    char unknown864[120]; //0x0360
    CSkeleton* Skeleton_3p; //0x03D8  
    char unknown988[36]; //0x03DC
    DWORD iStance; //0x0400  
};//Size=0x0480(1152)


class CSkeleton
{
public:
    char unknown0[16]; //0x0000
    CBone* bones; //0x0010  
    char unknown20[4]; //0x0014
    __int32 number_of_bones; //0x0018  
    char unknown28[8]; //0x001C
    D3DXMATRIX* matrices; //0x0024  
    char unknown40[24]; //0x0028
};//Size=0x0040(64)

class CBone
{
public:
    __int32 bone_num; //0x0000  
    __int16 bone_code; //0x0004  
    __int16 parent; //0x0006  
    __int32 unknown; //0x0008  
    float offset_x; //0x000C  
    float offset_y; //0x0010  
    float offset_z; //0x0014  
    float length; //0x0018  
    float radius; //0x001C  
    __int32 material; //0x0020  
};//Size=0x0024(36)

class CInfo
{
public:
    char unknown0[4]; //0x0000
    CObject* soldier_ptr; //0x0004  
};//Size=0x0040(64)

class CSoldierInfo
{
public:
    char unknown0[4]; //0x0000
    CPlayerInfo* soldier_ptr; //0x0004  
};//Size=0x0040(64)


class CViewMatrix
{
public:
    virtual void function0(); //
    virtual void function1(); //
    virtual void function2(); //
    virtual void function3(); //
    virtual void function4(); //
    virtual void function5(); //
    virtual void function6(); //
    virtual void function7(); //
    virtual void function8(); //
    virtual void function9(); //
    virtual void function10(); //
    virtual void function11(); //
    virtual void function12(); //
    virtual void function13(); //
    virtual void function14(); //
    virtual void function15(); //
    virtual void function16(); //
    virtual void function17(); //
    virtual void function18(); //
    virtual void function19(); //
    virtual void function20(); //
    virtual void function21(); //
    virtual void function22(); //
    virtual void function23(); //
    virtual float GetInsideFieldOfView(); //
    char unknown4[268]; //0x0004
    D3DXMATRIX Matrix; //0x0110  
    char unknown276[44]; //0x0114
};//Size=0x0140(320)

class CScoreBoard // Needs updating!
{
public:
    char unknown0[4]; //0x0000
    __int32 Score; //0x0004  
    __int32 TotalScore; //0x0008  
    char unknown12[36]; //0x000C
    __int32 Deaths; //0x0030  
    __int32 Kills; //0x0034  
    char unknown56[16]; //0x0038
    __int32 Rank; //0x0048  
};//Size=0x004C(76)

class CRenderer // Needs updating!
{
public:
    virtual void AddRef( void ); //
    virtual void GetRef( void ); //
    virtual void function2(); //
    virtual void function3(); //
    virtual void function4(); //
    virtual void function5(); //
    virtual void function6(); //
    virtual void function7(); //
    virtual void function8(); //
    virtual void function9(); //
    virtual void RenderScreen    (void* param1, void* param2, void* param3); //
    virtual void function11(); //
    virtual void function12(); //
    virtual void function13(); //
    virtual void function14(); //
    virtual void function15(); //
    virtual void function16(); //
    virtual void function17(); //
    virtual void function18(); //
    virtual void function19(); //
    virtual void function20(); //
    virtual void function21(); //
    virtual void function22(); //
    virtual void function23(); //
    virtual void function24(); //
    virtual  void DrawConsole( void ); //
    virtual void function26(); //
    virtual void function27(); //
    virtual void function28(); //
    virtual void function29(); //
    virtual void function30(); //
    virtual void function31(); //
    virtual void function32(); //
    virtual void function33(); //
    virtual void function34(); //
    virtual void function35(); //
    virtual void function36(); //
    virtual void function37(); //
    virtual void function38(); //
    virtual void function39(); //
    virtual void function40(); //
    virtual void function41(); //
    virtual void function42(); //
    virtual void function43(); //
    virtual void function44(); //
    virtual void function45(); //
    virtual void function46(); //
    virtual void function47(); //
    virtual void function48(); //
    virtual void function49(); //
    virtual void function50(); //
    virtual void function51(); //
    virtual void function52(); //
    virtual void function53(); //
    virtual BYTE DrawOverlay( void ); //
    virtual BYTE Present( int code ); //
    virtual void function56(); //
    virtual void function57(); //
    char unknown4[4]; //0x0004
    IDirect3D9* pDirect3D; //0x0008  
    IDirect3DDevice9* pDirect3Ddev; //0x000C  
    char unknown16[20]; //0x0010
    __int32 vid_width; //0x0024  
    __int32 vid_height; //0x0028  
};//Size=0x06C4(1732)


class CPlayerManager
{
public:
    virtual void AddRef();
    virtual int GetRef();
    virtual void Release();
    virtual void Function3();
    virtual void Function4();
    virtual void Function5();
    virtual void Function6();
    virtual void Function7();
    virtual CPlayer* GetPlayerByIndex(int Index);
    virtual void Function9();
    virtual void Function10();
    virtual void Function11();
    virtual CPlayer* GetLocalPlayer();
    char unknown0[32]; //0x0000
    DWORD amountOfPlayers; //0x0024  
    char unknown40[192]; //0x0028
    CPlayer* LocalPlayer; //0x00E8  
    char unknown236[24]; //0x00EC  
};//Size=0x0070(112)

class CPlayer
{
public:
    char unknown0[96]; //0x0000
    __int32 Kit; //0x0060  
    char unknown100[8]; //0x0064
    char Name[16]; //0x006C  
    char unknown124[40]; //0x007C
    CInfo* Soldier; //0x00A4  
    CViewMatrix* ViewMatrix; //0x00A8  
    char unknown172[156]; //0x00AC
    float zoom; //0x0148  
    float zoom2; //0x014C  
    char unknown336[4]; //0x0150
    CSoldierInfo* SoldierObj; //0x0154  
    char unknownrand[5]; //0x0158  
    BYTE Alive; //0x015D  
    char unknownrand2[6]; //0x015E  
    DWORD Team; //0x0164  
    char unknown360[28]; //0x0168
    DWORD Ping; //0x0184  
    char unknown392[212]; //0x0188
    DWORD InVehicle; //0x025C  
    char unknown608[12]; //0x0260
    DWORD Sprinting; //0x026C  
    char unknown624[680]; //0x0270
};//Size=0x0518(1304)


class CClassManager
{
public:
    virtual void function0(); //
    virtual void function1(); //
    virtual void function2(); //
    virtual void function3(); //
    virtual void function4(); //
    virtual void function5(); //
    virtual void function6(); //
    virtual void function7(); //
    virtual void function8(); //
    virtual void function9(); //
    virtual void function10(); //
    virtual void function11(); //
    virtual void function12(); //
    virtual void function13(); //
    virtual void function14(); //
    virtual void function15(); //
    virtual void function16(); //
    virtual void function17(); //
    virtual void* GetClassPointerByName(string* pszClassname); //
};//Size=0x0004(4)


class CActionBuffer
{
public:
    float InputFlags[64]; //0x0000  
};//Size=0x0040(64)


#endif
Other Stuff:
Code:
class CObject
{
public:
    char unknown0[28]; //0x0000
    __int32 flags; //0x001C  
    char unknown32[4]; //0x0020
    CObject* object_root; //0x0024  
    char unknown40[4]; //0x0028
    CTemplate* object_template; //0x002C  
    char unknown48[28]; //0x0030
    CArmor* Health; //0x004C  
    char unknown80[4]; //0x0050
    CPhysicsNode* object_physics; //0x0054  
    char unknown88[96]; //0x0058
    D3DXMATRIX Matrix; //0x00B8 
};//Size=0x00F8

class CSoldier : public CObject
{
public:
    char unknown0[360]; //0x00F8
    CWeapon* player_weapon; //0x0260  
    char unknown612[104]; //0x0264
    __int32 SelectedWeapon; //0x02CC  
    char unknown720[100]; //0x02D0
    float body_yaw; //0x0334  
    float LeftRightForce; //0x0338  
    float ForwardBackwardForce; //0x033C  
    __int32 Posture_Cur2; //0x0340  
    __int32 Posture; //0x0344  
    float head_pitch; //0x0348  
    float head_pitchChange; //0x034C  
    float head_yaw; //0x0350  
    float head_yawChange; //0x0354  
    char unknown856[4]; //0x0358
    __int32 Posture_Cur; //0x035C  
    char unknown864[56]; //0x0360
    CSkeleton* Skeleton_1p; //0x0398  
    char unknown924[4]; //0x039C
    CSkeleton* Skeleton_3p; //0x03A0  
    char unknown932[29]; //0x03A4
    BYTE IsLanding; //0x03C1  
    BYTE Jumping; //0x03C2  
    char unknown963[273]; //0x03C3
};//Size=0x04D4(1236)

class CWeapon : public CObject
{
public:
    char unknown48[300]; //0x0030
    CDeviation* weapon_deviation; //0x0224  
    char unknown552[408]; //0x0228
};//Size=0x03C0(960)
Code:
class CPlayer
{
public:
    char unknown0[96]; //0x0000
    __int32 Kit; //0x0060  
    char unknown100[8]; //0x0064
    char Name[16]; //0x006C  
    char unknown124[40]; //0x007C
    CInfo* Soldier; //0x00A4  
    CViewMatrix* ViewMatrix; //0x00A8  
    char unknown172[156]; //0x00AC
    float zoom; //0x0148  
    float zoom2; //0x014C  
    char unknown336[4]; //0x0150
    CSoldierInfo* SoldierObj; //0x0154  
    char unknownrand[5]; //0x0158  
    BYTE Alive; //0x015D  
    char unknownrand2[6]; //0x015E  
    DWORD Team; //0x0164  
    char unknown360[12]; //0x0168
    BYTE isDead; //0x0174  
    BYTE ID03B70998; //0x0175  
    BYTE ID088B6760; //0x0176  
    BYTE ID088B66E0; //0x0177  
    char unknown376[12]; //0x0178
    DWORD Ping; //0x0184  
    char unknown392[12]; //0x0188
    CScoreBoard* ScoreBoard; //0x0194  
    char unknown408[196]; //0x0198
    DWORD InVehicle; //0x025C  
    char unknown608[12]; //0x0260
    DWORD Sprinting; //0x026C  
    char unknown624[680]; //0x0270
};//Size=0x0518(1304)

class CScoreBoard
{
public:
    char unknown0[4]; //0x0000
    __int32 Score; //0x0004  
    char unknown8[48]; //0x0008
    __int32 Deaths; //0x0038  
    __int32 Kills; //0x003C  
    char unknown64[16]; //0x0040
    __int32 Rank; //0x0050  
    char unknown84[44]; //0x0054
};//Size=0x0080(128)


Credits to
P47R!CK - For his public SDK for BF2
Zoomgod - For his awesomness references
Winslow - For his other posts on classes on BFH
Jugga
& Others who reversed BF along the way and gave public info.
sorry im new but how to make these thing work?
should i put it in a file of Battlefield P4F folder or sumthin?
Quote Originally Posted by nerds123 View Post
sorry im new but how to make these thing work?
should i put it in a file of Battlefield P4F folder or sumthin?
Ummm dude these are used to aid you in making hacks they are not a hack ready to use themselves. You need to know how to code hacks to use these.
TYTYTYTYTYTY
Already posted :P
I used to live in this section xD
Quote Originally Posted by user590177 View Post
Already posted :P
I used to live in this section xD
Well then there back I guess
Quote Originally Posted by xCYANIDEx_Aveng View Post
Woah. That seems just a bit complicated.
Yeah just a bit
LoL nice Ima get started..
Quote Originally Posted by 1wizz View Post
LoL nice Ima get started..
Good luck to you bro.
Posts 1–10 of 10 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us