Real Slow Aim (Internal)
Tired of seeing all these 'incross' based slow aims so I quickly wrote up one that uses trace rays. I guess it's no good for anyone that is doing external cheats but if you are internal here it is.
There's always room for improvement and you have the source so go have fun but slow aim is pretty useless to be honest.
Should be really self-explanatory as it functions the same as a triggerbot.
There's always room for improvement and you have the source so go have fun but slow aim is pretty useless to be honest.
Should be really self-explanatory as it functions the same as a triggerbot.
Code:
// FUNCTION DEFINITION
// SUBTLE ANTI-PASTE :asskiss:
bool SlowAim(CInput::CUserCmd* pCmd, CBaseEntity* pLocal)
{
// SAVE YOUR ANGLES AND COMPENSATE PUNCH ANGLES
Vector vecTraceAngle;
class_interfaces::g_pEngine->GetViewAngles(vecTraceAngle);
vecTraceAngle += pLocal->GetPunchAngles() * 2.0f;
// CONVERTING PLAYER ANGLES TO VECTORS
Vector vecTraceStart, vecTraceEnd;
g_pMath.AngleVectors(vecTraceAngle, vecTraceEnd);
// SETTING THE PATH TO TRACE
vecTraceStart = pLocal->EyePosition();
vecTraceEnd = vecTraceStart + (vecTraceEnd * 8192.0f);
// SHIT FOR TRACE RAY
CTrace::CTraceFilter filter;
filter.pSkip = pLocal;
CTrace::trace_t tr;
CTrace::ray_t ray;
// INITIALIZE AND CAST THE RAY
ray.Init(vecTraceStart, vecTraceEnd);
g_pEngineTrace->TraceRay(ray, 0x46004003, &filter, &tr);
// ENTITY FILTERS
if (!tr.m_pEntity)
return false;
if (tr.m_pEntity->GetIndex() == pLocal->GetIndex())
return false;
if (tr.m_pEntity->GetClientClass()->GetClassID() != CCSPlayer)
return false;
if (tr.m_pEntity->GetTeam() == pLocal->GetTeam())
return false;
if (tr.m_pEntity->IsProtected())
return false;
// RETURN TRUE IF THE TRACE RAY INTERSECTS WITH A HITGROUP
if (tr.hitgroup < 10 && tr.hitgroup > 0)
return false;
// RETURN FALSE IF NOTHING HAPPENED
return true;
}
Code:
// IDEALLY CALL IN YOUR CREATEMOVE HOOK
if (g_pCvar.SlowAim)
{
if (pWeapon->IsValidWeapon())
{
static float fSensitivity = *(float*)((DWORD)CMain::dwClientBase + 0xA85CD4);
if (fSensitivity)
{
if (g_pMisc.SlowAim(pCmd, pLocal))
{
// CLIENT.DLL + SENSITIVITY OFFSET
*(float*)((DWORD)dwClientBase + 0xA85CD4) = fSensitivity * (g_pCvar.SlowAim_Rate / 100);
}
else
{
// CLIENT.DLL + SENSITIVITY OFFSET
*(float*)((DWORD)dwClientBase + 0xA85CD4) = fSensitivity;
}
}
}
}