Code:
void ESP(){
INT CenterX = GetSystemMetrics(0) / 2-1;
INT CenterY = GetSystemMetrics(1) / 2-1;
CHAR CName[50], CDistance[50];
if((*(BYTE *)ADDR_GAMESTATUS == 1) && (espNames || espLines || espDistances || espBoxes) || espWarning))
{
GetPlayerByIndex3 = (lpGetPlayerByIndex3)ADDR_PLAYERBYINDEX;
unsigned long ulThis = *(unsigned long *)ADDR_CLIENTINFOMGR;
GetLocalPlayer3 = (lpGetLocalPlayer3)ADDR_LOCALPLAYER;
for(int i = 0; i < 24; i++)
{
pPlayerInfo *pLocal = GetLocalPlayer3(ulThis);
pPlayerInfo *pPlayer = GetPlayerByIndex3(ulThis, i, 0);
if(pPlayer != 0 && pPlayer->Object != 0 && pPlayer->IsDead == 0)
{
D3DXVECTOR3 vPos, vFootScreen, vScreen;
vPos.x = pPlayer->Object->Pos.x;
vPos.y = pPlayer->Object->yBound2;
vPos.z = pPlayer->Object->Pos.z;
if(WorldToScreen(vPos, &vScreen))
{
if(pPlayer->Team != pLocal->Team) {
if(getESPTextIndex(Menu->espNames->GetText()) == 1 || getESPTextIndex(Menu->espNames->GetText()) == 3)
{
//sprintf(CName, "%s", pPlayer->Name);
Main->D3D->DrawTextA(vScreen.x, vScreen.y, Red, TCenter, pPlayer->Name);// TCenter, pFont, pPlayer->Name);
}
if(getESPTextIndex(Menu->espLines->GetText()) == 1 || getESPTextIndex(Menu->espLines->GetText()) == 3)
{
Main->D3D->DrawLine(CenterX, CenterY, vScreen.x, vScreen.y, 1, Red);
}
if(getESPTextIndex(Menu->espBoxes->GetText()) == 1 || getESPTextIndex(Menu->espBoxes->GetText()) == 3)
{
vPos.x = pPlayer->Object->Pos.x;
vPos.y = pPlayer->Object->yBound1;
vPos.z = pPlayer->Object->Pos.z;
if(WorldToScreen(vPos, &vFootScreen))
{
INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y , Red);
Main->D3D->DrawBox(vScreen.x - BoxDist, vFootScreen.y, BoxDist*2, 1, Red);
Main->D3D->DrawBox(vScreen.x + BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y, Red);
Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , BoxDist*2, 1, Red);
}
}
if(Menu->espWarning->Checkbox()->IsChecked())
{
if(GetDistance(pLocal->Object->Pos, pPlayer->Object->Pos) < 10.0f)
Main->D3D->DrawTextA(CenterX, 100, Red, TCenter, "Enemy under 10m");
}
}
if(pPlayer->Team == pLocal->Team) {
if(getESPTextIndex(Menu->espNames->GetText()) == 2 || getESPTextIndex(Menu->espNames->GetText()) == 3)
{
sprintf(CName, "%s", pPlayer->Name);
Main->D3D->DrawTextA(vScreen.x, vScreen.y, Blue, TCenter, CName);
}
if(getESPTextIndex(Menu->espLines->GetText()) == 2 || getESPTextIndex(Menu->espLines->GetText()) == 3)
{
Main->D3D->DrawLine(CenterX, CenterY, vScreen.x, vScreen.y, 1, Blue);
}
if(getESPTextIndex(Menu->espBoxes->GetText()) == 2 || getESPTextIndex(Menu->espBoxes->GetText()) == 3)
{
vPos.x = pPlayer->Object->Pos.x;
vPos.y = pPlayer->Object->yBound1;
vPos.z = pPlayer->Object->Pos.z;
if(WorldToScreen(vPos, &vFootScreen))
{
INT BoxDist = INT(0.2f * (vFootScreen.y - vScreen.y));
Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y , Blue);
Main->D3D->DrawBox(vScreen.x - BoxDist, vFootScreen.y, BoxDist*2, 1, Blue);
Main->D3D->DrawBox(vScreen.x + BoxDist, vScreen.y , 1, vFootScreen.y-vScreen.y, Blue);
Main->D3D->DrawBox(vScreen.x - BoxDist, vScreen.y , BoxDist*2, 1, Blue);
}
}
}
}
}
}
}
}
Now what I want you to tell me is, How my esp is more complex.
Code:
void esp_player_event_call(PlayerInfo_t* player, CharacterFX_t* fx, PlayerInfo_t* lplayer){
auto color = (player->iTeam == lplayer->iTeam) ? 0xFF00FF00 : 0xFFFF0000;
D3DXVECTOR3 vScreen, vFootScreen;
auto vPos = player->Object->RootPosition;
vPos.y = player->Object->MinRootPosition.y;
if (!WorldToScreen(vPos, &vScreen, pDevice))
return;
if (box)
{
vPos.y = player->Object->MaxRootPosition.y;
if (WorldToScreen(vPos, &vFootScreen, pDevice))
{
auto BoxDist = 0.2f * (vFootScreen.y - vScreen.y);
Graphics::DrawBorder(vScreen.x - BoxDist, vScreen.y, BoxDist * 2, vFootScreen.y - vScreen.y, 1, color);
}
}
if (name)
{
Graphics::DrawFont(vScreen.x, vScreen.y - 5, color, player->sName, D3DFONT_CENTERED);
}
if (healthbar)
{
if (fx)
{
DrawHealthBars(vScreen.x - 13, vScreen.y - 7, (int)fx->wHealth, fx->bSpawnSheild);
}
}
}
void HackManager::ESP(bool val){
if (!val)
return;
auto lPlayer = GetLocalPlayer();
if (!lPlayer)
return;
auto gcs = GetGameClientShell();
auto count = (gcs) ? gcs->GetSFXMgr()->SFXList[SFX_CHARACTER].Num : 24;
CharacterFX_t* fx = nullptr;
for (int i = 0; i < count; i++)
{
fx = nullptr;
if (gcs)
{
fx = (CharacterFX_t*)gcs->GetSFXMgr()->SFXList[SFX_CHARACTER].List[i];
}
auto player = GetPlayerByIndex(i);
if (!player || player->bIsDead != 0 || !player->Object || player->iIndex == lPlayer->iIndex)
continue;
esp_player_event_call(player, fx, lPlayer);
}
}
You say these things are complex... I call bullshit. You are just saying this hide your laziness and your ignorance. You live in this world where all of you pretend to be something you are not. You want to be respected by all and lie to our faces. You want something from someone and you play games with this person. What is wrong with you? Why must everything be a lie. Why cant you just ask me for what you want? Are you scared for how i might class you as a person? Why? Most of you don't even live in the same countries.