That works fine, you must update some little things...
hello member MPGH.
yesterday i look for aimbot but i this source not working anymore ?
Please, Check it now. i hacking at Cross Fire Indonesia. Please PM me about to fix this source
#define LTClientShell 0x??????
#define LTClientPlayer 0x70
class cPlayerPos
{
public:
char _UnkSpace[0xDC];
D3DXVECTOR3 Position;
};
class cLTPlayerClient
{
public:
char _UnkSpace[0x350];
cPlayerPos* pPlayerPos;
char _UnkSpace2[12];
float Pitch;
float Yaw;
};
void SetMousePosition(LPDIRECT3DDEVICE9 pDevice, cPlayer* Me, cPlayer* pPlayer, D3DXVECTOR3 pos)
{
cLTPlayerClient* pClient = (cLTPlayerClient*)(*(DWORD*)(CShell + LTClientShell + LTClientPlayer));
if (pPlayer && pPlayer->Object && pPlayer->Health > 0 && pPlayer != Me)
{
D3DXMATRIX View, iView;
D3DXVECTOR3 fDist;
pDevice->GetTransform(D3DTS_VIEW, &View);
D3DXMatrixInverse(&iView, 0, &View);
D3DXVec3Subtract(&fDist,&pos,&D3DXVECTOR3(iView._4 1, iView._42, iView._43));
pClient->Pitch = (float)atan2(-fDist.y,sqrt(fDist.x * fDist.x + fDist.z * fDist.z));
pClient->Yaw = (float)atan2(fDist.x, fDist.z);
}
}
int GetNearestByCrossHair (LPDIRECT3DDEVICE9 pDevice)
{
int iAimAt = -1;
float MaxDistance = 0xFFFFFFF;
D3DVIEWPORT9 viewP;
pDevice->GetViewport(&viewP);
float ScreenX = viewP.Width / 2;
float ScreenY = viewP.Height / 2 ;
float PosX = 0.0f, PosY = 0.0f;
cPlayer* Me = GetPlayerByIndex(GetMyIndex());
for (int i=0; i<16; i++)
{
cPlayer* pPlayer = GetPlayerByIndex(i);
D3DXVECTOR3 pos = GetBonePosition(pPlayer->Object,6);
if (!isValidClient(pPlayer) && Me != pPlayer) continue;
if (IsTM(Me, pPlayer)) continue;
if(WorldToScreen(pDevice,&pos))
{
PosX = pos.x > ScreenX ? pos.x - ScreenX : ScreenX - pos.x;
PosY = pos.y > ScreenY ? pos.y - ScreenY : ScreenY - pos.y;
float Tmp = sqrt( PosX*PosX + PosY*PosY );
if(Tmp < MaxDistance)
{
MaxDistance = Tmp;
iAimAt = i;
}
}
}
return iAimAt;
}
void PlayerAimbot (LPDIRECT3DDEVICE9 pDevice)
{
DWORD pLTPlayerClient = *(DWORD*)(CShell + LTClientShell + LTClientPlayer);
cPlayer* Me = GetPlayerByIndex(GetMyIndex());
int i;
int BONE_ID;
switch(AimBone) {
case 1: BONE_ID = 6; break;//Head
case 2: BONE_ID = 5; break;//Neck
case 3: BONE_ID = 2; break;//Body
case 4: BONE_ID = 10; break;//LeftHand
case 5: BONE_ID = 17; break;//RightHand
case 6: BONE_ID = 23; break;//FeftFoot
case 7: BONE_ID = 28; break;//RightFoor
default: BONE_ID = 6;//HEAD
}
if(pLTPlayerClient != 0)
{
i = GetNearestByCrossHair(pDevice);
cPlayer* Target = GetPlayerByIndex(i);
D3DXVECTOR3 AimPos = GetBonePosition(Target->Object,BONE_ID);
if(Trigger)
{
for (int i=0; i<0x1FF; ++i)
{
if (*(float*)(pLTPlayerClient + 4*i) == 140)
{
if(*(float*)(pLTPlayerClient + ((4*i) + 0x3C)) > 0)
TriggerBot(pDevice,GetBonePosition(Target->Object,2),Me,Target);
else
*(float*)(pLTPlayerClient + ((4*i) + 0x560)) = 6;
}
}
}
if(VisibleCheck > 0)
{
if (IsVisible(GetBonePosition(Me->Object,BONE_ID), AimPos))
return;
switch (AimKey)
{
case 1: SetMousePosition(pDevice, Me, Target, AimPos); break;
case 2: if (GetAsyncKeyState(VK_LBUTTON)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 3: if (GetAsyncKeyState(VK_RBUTTON)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 4: if (GetAsyncKeyState(VK_SHIFT)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 5: if (GetAsyncKeyState(VK_MENU)) SetMousePosition(pDevice, Me, Target, AimPos); break;
}
}
else
{
switch (AimKey)
{
case 1: SetMousePosition(pDevice, Me, Target, AimPos); break;
case 2: if (GetAsyncKeyState(VK_LBUTTON)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 3: if (GetAsyncKeyState(VK_RBUTTON)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 4: if (GetAsyncKeyState(VK_SHIFT)) SetMousePosition(pDevice, Me, Target, AimPos); break;
case 5: if (GetAsyncKeyState(VK_MENU)) SetMousePosition(pDevice, Me, Target, AimPos); break;
}
}
}
}
That works fine, you must update some little things...
how to find Yaw and Pitch in aimbot ?
Thanks for information of hack aimbot on crossfire