Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void DoAimbot() const
- {
- float best_fov = g_Settings.bAimFOV;
- Vector view_angles;
- Vector engine_angles;
- Vector angles;
- Vector delta;
- float smoothness = g_Settings.bSmoothness;
- for (int it = 1; it <= g_pEngine->GetMaxClients(); ++it)
- {
- C_BaseEntity* pPlayerEntity = g_pEntityList->GetClientEntity(it);
- if (!pPlayerEntity || pPlayerEntity->IsDormant() || !pPlayerEntity->IsAlive() || pPlayerEntity == pLocal || pPlayerEntity->GetTeam() == pLocal->GetTeam() || !GetAsyncKeyState(VK_MENU))
- continue;
- g_pEngine->GetViewAngles(engine_angles);
- Vector angles;
- switch (g_Settings.bAimBone)
- {
- case 0: angles = MATH::NormalizeAngle(MATH::CalcAngle(pLocal->GetEyePosition(), pPlayerEntity->GetBonePosition(8))); break;
- case 1: angles = MATH::NormalizeAngle(MATH::CalcAngle(pLocal->GetEyePosition(), pPlayerEntity->GetBonePosition(6))); break;
- case 2: angles = MATH::NormalizeAngle(MATH::CalcAngle(pLocal->GetEyePosition(), pPlayerEntity->GetBonePosition(8))); break;
- }
- float fov = (engine_angles - angles).Length2D();
- delta = (engine_angles - angles);
- MATH::NormalizeAngle(delta);
- MATH::ClampAngles(delta);
- angles.x = engine_angles.x - delta.x / (smoothness); //smoothness is the speed at which the aimbot aims, lower = faster, higher = slower
- angles.y = engine_angles.y - delta.y / (smoothness);
- MATH::NormalizeAngle(angles);
- MATH::ClampAngles(angles);
- if (fov < best_fov)
- {
- best_fov = fov;
- view_angles = angles;
- }
- }
- if (best_fov != g_Settings.bAimFOV)
- {
- MATH::NormalizeAngle(view_angles);
- MATH::ClampAngles(view_angles);
- g_pEngine->SetViewAngles(view_angles);
- if (g_Settings.bAutoShoot)
- {
- pCmd->buttons |= IN_ATTACK;
- }
- }
- }
Add Comment
Please, Sign In to add comment