Tentando usar a esp da base anikya, atualizei os addresses e offsets....
Alguém dá uma olhada? (O jogo crasha ao tentar ativar)
Hacks.cpp
Code:
if(Line > 0) {
for (int i = 0; i < 87; i++) {
DWORD pModelNodeType = (DWORD)(pModelNode + ModelNodeType1 * i);
if (pModelNodeType)
{
if(HSp == NULL)
HSp = *(int*) (pModelNodeType + ModelNodeType2);
if (HS == 0) *(int*) (pModelNodeType + ModelNodeType2) = HSp;
if (HS == 1) *(int*) (pModelNodeType + ModelNodeType2) = NodeType::HeadshotSilver; // Silver
if (HS == 2) *(int*) (pModelNodeType + ModelNodeType2) = NodeType::HeadshotGold; // Gold
}
}
cPlayer* LocalPlayer = GetPlayerByIndex(GetMyIndex());
if (LocalPlayer == NULL || strlen(LocalPlayer->Name) < 2 || LocalPlayer->Object == NULL) return;
for(int i = 0; i < 16; i++) {
cPlayer* TargetPlayer = GetPlayerByIndex(i);
if(!isValidClient(TargetPlayer) || LocalPlayer == TargetPlayer) continue;
D3DXVECTOR3 tBody;
bool inimigo;
char nome[12];
char* TemC4 = "[C4]";
if(LocalPlayer->Team != TargetPlayer->Team) {
inimigo = true;
}else{
inimigo = false;
}
if (!MundoParaTela(pDevice, TargetPlayer->Object->Corpo, &tBody) || TargetPlayer->Vida <= 0) continue;
if((Line == 1) && (inimigo)) {
int CenterX = GetSystemMetrics( 0 ) / 2;
int CenterY = GetSystemMetrics( 1 ) / 2;
DrawLine(CenterX, CenterY, tBody.x, tBody.y, 1, VERDE);
}
if(Line == 2) {
int CenterX = GetSystemMetrics( 0 ) / 2;
int CenterY = GetSystemMetrics( 1 ) / 2;
DrawLine(CenterX, CenterY, tBody.x, tBody.y, 1, VERDE);
}
}
}
Classes.h
Code:
class cObjeto {
public:
char spacer00[4];
D3DXVECTOR3 Cabeca;
D3DXVECTOR3 Corpo;
char spacer01[196];
D3DXVECTOR3 Pe;
};
class cInfoJogadores {
public:
float Yaw;
float Pitch;
char Spacer00[408];
bool Morto;
char Spacer01[5703];
short ArmaCorrente;
char Spacer02[2];
bool Mutante;
};
class cPlayer
{
public:
unsigned int Indice;
cObjeto *Object;
unsigned char Indice2;
unsigned char Team;
char Name[12];
char Spacer01[2];
cInfoJogadores *InfoJogador;
char Spacer02[9];
bool C4;
int Estado;
int Rank;
char Spacer03[10];
short Vida;
short Matou;
short Morreu;
char Spacer04[1158];
};
As funções
Code:
bool isValidClient(cPlayer* Clients) {
if ((Clients != NULL) && (Clients->Vida > 0) && (strlen(Clients->Name) > 2) && (Clients->Object != NULL))
return true;
return false;
}
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;
}
cPlayer* GetPlayerByIndex(int PlayerID) {
DWORD pLTClientShell = *(DWORD*)ClientShell;
if (!pLTClientShell)
return 0;
return (cPlayer*) (pLTClientShell + (PlayerID * PlayerSize) + PlayerStart);
}
bool inGame() {
cPlayer* player = GetPlayerByIndex(GetMyIndex());
if ((player != NULL) && (strlen(player->Name) > 2) && (player->Object != NULL))
return true;
return false;
}
bool MundoParaTela(LPDIRECT3DDEVICE9 pDev, D3DXVECTOR3 vWorld, D3DXVECTOR3* Pos) {
D3DVIEWPORT9 viewPort = {0};
D3DXMATRIX projection, view, world;
pDev->GetTransform(D3DTS_VIEW, &view);
pDev->GetTransform(D3DTS_PROJECTION, &projection);
pDev->GetTransform(D3DTS_WORLD, &world);
pDev->GetViewport(&viewPort);
D3DXVec3Project(Pos, &vWorld, &viewPort, &projection, &view, &world);
if(Pos->z < 1)
return true;
return false;
}
Addresses
Code:
ClientShell: 0x110d470
MeOffset: 0x1ec
PlayerSize: 0xd78
PlayerStart: 0x1e0
aLTModel: 0x130cfb74
PS.: O inGame também não funciona, sempre retorna true