
class Object
{
public:
char unknown_1[4]; //0x0008
D3DXVECTOR3 Chest; //0x000C
D3DXVECTOR3 Foot; //0x0010
D3DXVECTOR3 Head; //0x0014
};//Size=0x0018
class PlayerInfo
{
public:
__int32 Unknown0;
__int32 index;
__int32 Unknown1;
__int32 Unknown2;
char Name[12];
char unknown3[12];
union
{
int IObject;
Object *PObject;
}
char unknown4[68];
__int32 Team;
__int32 unknown3;
__int8 IsDead;
};
VOID Draw2DBoxes( D3DXVECTOR3 HeadPosition, D3DXVECTOR3 FootPosition, D3DCOLOR Color, LPDIRECT3DDEVICE9 pDevice )
{
// Credits: Gellin.
D3DXVECTOR3 Box = HeadPosition - FootPosition;
if( Box.y < 0 )
Box.y *= -1;
INT BoxWidth = (INT)Box.y / 2;
INT DrawX = (INT)HeadPosition.x - ( BoxWidth / 2 );
INT DrawY = (INT)HeadPosition.y;
menu->DrawBorder( DrawX, DrawY, BoxWidth, (INT)Box.y, 1, Color, pDevice );
}
VOID DrawESP( LPDIRECT3DDEVICE9 pDevice )
{
// Desenvolvimento do código ...
DWORD BoxColor;
if( PPlayer->Team != PLocal->Team )
BoxColor = 0xFFFF0000
else
BoxColor = 0xFF0000FF
Draw2DBoxes( PPlayer->PObject->Head, PPlayer->PObject->Foot, BoxColor, pDevice );
}