char GetMyIndex() {
DWORD pLTClientShell = *(DWORD*)ClientShell;
if (!pLTClientShell) return -1;
BYTE clients = *(BYTE*) (pLTClientShell + PlayerStart);
if (clients < 16)
return *(char*) (pLTClientShell + clients * PlayerSize + MeOffset);
return -1;
}
#define ClientShell 0x112c9e8 #define MeOffset 0x1ec #define PlayerSize 0xd78 #define PlayerStart 0x1e0
#define GetPlayerByIndex(LTClientShell, dwID) (CPlayer*)(LTClientShell + (dwID * dwCPlayerSize) + dwCPlayerStart)
char GetMyIndex(DWORD pLTCLientShell)
{
if (pLTCLientShell)
{
BYTE clients = *(BYTE*)(pLTCLientShell + dwCPlayerStart);
if (clients < 16)
return *(char*)(pLTCLientShell + clients * dwCPlayerSize + MEOffset);
}
return -1;
}
struct cObject
{
public:
char Spacer[4];
D3DXVECTOR3 Body;
D3DXVECTOR3 Foot;
D3DXVECTOR3 Head;
D3DXVECTOR3 Origin;
};
typedef bool(*ObjectFilterFn1)(cObject* hObj, void *pUserData);
struct CPlayer
{
char Spacer00[8];
cObject* Object;
char ClientID;
char Team;
char Name[12];
char Spacer01[2];
int SHIT;
int PlayerSlotTeam;
int unkstruct1;
bool Has_C4;
int State;
int Rank;
int unkstruct2;
int unkstruct3;
short Health;
short Kills;
__int32 Deaths;
__int32 HeadShots;
__int32 TeamID;
__int32 Ping;
};
void EspFunction(LPDIRECT3DDEVICE9 pDevice)
{
DWORD CShell = (DWORD)GetModuleHandleA(eCShell);
DWORD ClientFX = (DWORD)GetModuleHandleA(eClient);
if (CShell != NULL && ClientFX != NULL)
{
DWORD pLTClientShell = *(DWORD*)(CShell + dw_pLTClientShell);
CPlayer* LocalPlayer = GetPlayerByIndex(pLTClientShell, GetMyIndex(pLTClientShell));
if (LocalPlayer == NULL || strlen(LocalPlayer->Name) < 2 || LocalPlayer->Object == NULL) return;
for (int i = 0; i < 16; i++)
{
CPlayer* TargetPlayer = GetPlayerByIndex(pLTClientShell, i);
if (strlen(TargetPlayer->Name) > 2 && TargetPlayer->Team != LocalPlayer->Team){
//YOUR ESP HACKS HERE
}
}
}
}
lientShell::InitGame() espawn d_socialmotion_selfcam Player Válido Pegou tbody CCUPATION_EXIT_STANDBY_STATE Player Válido Pegou tbody WESLEYLONGBILL_BREAKUP_SETTINGC4_START_ACK Player Válido
cPlayer* LocalPlayer = GetPlayerByIndex(*(DWORD*)ClientShell, GetMyIndex(*(DWORD*)ClientShell));
Log(LocalPlayer->Name, NULL);
if (LocalPlayer == NULL || strlen(LocalPlayer->Name) < 2 || LocalPlayer->Object == NULL) return;
for(int i = 0; i < 16; i++) {
cPlayer* TargetPlayer = GetPlayerByIndex(*(DWORD*)ClientShell, i);
Log(TargetPlayer->Name, NULL);
if(!isValidClient(TargetPlayer) || LocalPlayer == TargetPlayer) continue;
Log("Player Válido", NULL);
D3DXVECTOR3 tBody = TargetPlayer->Object->Body;
Log("Pegou tbody", NULL);