CSGO: Aimbot spinning around (csgosimple)
So from the aimbot not functioning, it’s now spazzing, which is improvement!
void __stdcall hkOverrideMouseInput(float* _x, float* _y)
{
static auto oOverrideMouseInput = clientmode_hook.get_original(index::OverrideMouseInput);
oOverrideMouseInput(g_ClientMode, _x, _y);
if (!g_LocalPlayer)
return;
if (!g_LocalPlayer->IsAlive())
return;
if (!pEntity)
return;
if (!g_LocalPlayer->IsAlive())
return;
C_BaseCombatWeapon* pWeapon = (C_BaseCombatWeapon*)g_LocalPlayer->m_hActiveWeapon();
if (pWeapon->IsKnife())
return;
if (pWeapon->IsReloading())
return;
if (!pWeapon->CanFire())
return;
if (pWeapon->IsPlantedC4())
return;
QAngle qViewAngles;
g_EngineClient->GetViewAngles(qViewAngles);
Vector vLocalPos = g_LocalPlayer->GetRenderOrigin();
Vector vLocalEyePos = vLocalPos + g_LocalPlayer->GetEyePos();
Vector vAimBone = pEntity->GetHitboxPos(HITBOX_HEAD); //GetHitboxPos2(g_EntityList->GetClientEntity(3), HITBOX_HEAD); //pEntity->GetHitboxPos(HITBOX_HEAD)
QAngle qAimAngles = Math::CalcAngle(vLocalEyePos, vAimBone);
qViewAngles += g_LocalPlayer->m_aimPunchAngle() * 2.0f;
Math::ClampAngles(qAimAngles);
QAngle qDelta = qViewAngles - qAimAngles;
Math::ClampAngles(qDelta);
qDelta.yaw /= 0.022f;
qDelta.pitch /= 0.022f;
Vector vMouse = Vector(*(float*)_x, *(float*)_y, 0.0f);
Vector vDelta = Vector(-qDelta.yaw, qDelta.pitch, 0.0f);
bool visible = g_LocalPlayer->CanSeePlayer(pEntity, HITBOX_CHEST);
if (InputSys::Get().IsKeyDown(0x01))
{
if (visible)
{
*(float*)_x = vDelta.x;
*(float*)_y = vDelta.y;
Utils::ConsolePrint("Aiming...");
}
else
{
return;
}
}
}
QAngle CalcAngle(Vector src, Vector dst)
{
QAngle angles;
Vector delta = src - dst;
VectorAngles(delta, angles);
Math::NormalizeAngles(delta);
return angles;
}
So i’ve been using the CSGOSimple base as my first base of anything ever. And am loving it so far!
I wanted an aimbot that does not set the viewangles but rather “moves the mouse” so i came across this post: Internal soft aim assistance and it looks like what i need.
This is the code i have:
void __stdcall hkOverrideMouseInput(float* _x, float* _y)
{
static auto oOverrideMouseInput = clientmode_hook.get_original(index::OverrideMouseInput);
oOverrideMouseInput(g_ClientMode, _x, _y);
if (!g_LocalPlayer)
return;
if (!g_LocalPlayer->IsAlive())
return;
//auto pIndex = g_EngineClient->GetMaxClients();
//for (int f = 1; f < g_EntityList->GetHighestEntityIndex(); f++)
//{
// pIndex = C_BasePlayer::GetPlayerByIndex(f);
// break;
//}
// C_BasePlayer* pEntity = g_EntityList->GetClientEntity(pIndex);
C_BasePlayer* pEntity = (C_BasePlayer*) g_EntityList->GetClientEntity(3);
//Vector GetHitboxPos2(C_BaseEntity* pEntity, int Hitbox);
QAngle qViewAngles;
g_EngineClient->GetViewAngles(qViewAngles);
Vector vLocalPos = g_LocalPlayer->GetRenderOrigin();
Vector vLocalEyePos = vLocalPos + g_LocalPlayer->GetEyePos();
Vector vAimBone = pEntity->GetBonePos(8); //GetHitboxPos2(g_EntityList->GetClientEntity(3), HITBOX_HEAD); //pEntity->GetHitboxPos(HITBOX_HEAD)
QAngle qAimAngles = Math::CalcAngle(vLocalEyePos, vAimBone);
qViewAngles += g_LocalPlayer->m_aimPunchAngle() * 2.0f;
Math::ClampAngles(qAimAngles);
QAngle qDelta = qViewAngles - qAimAngles;
Math::ClampAngles(qDelta);
qDelta.yaw /= 0.022f;
qDelta.pitch /= 0.022f;
Vector vMouse = Vector(*(float*)_x, *(float*)_y, 0.0f);
Vector vDelta = Vector(qDelta.pitch, -qDelta.yaw, 0.0f);
if (InputSys::Get().IsKeyDown(0x01))
{
*(float*)_x = vDelta.x;
*(float*)_y = vDelta.y;
Utils::ConsolePrint("Aiming...");
}
}
}
As you can see im leaving out the for loop which cycle’s through the players since i first want to make sure the aimbot just aims at a fixed player.
|