Начинающий
-
Автор темы
- #1
Приветствую, хомосапиенс! Мой аимбот постоянно соскакивает с одного противника на другого, а когда прицел находится между двумя игрока, аим может просто залипнуть пытаясь довестись сразу до обоих. Мне нужно, чтобы он доводился до ближайшего к прицелу противника. Прошу вашей помощи и заранее благодарю.
C#:
if (EngineClient.IsInGame)
{
Entity LocalPlayer = new Entity(AltMemory.Read<int>(Game.Client + Offsets.dwLocalPlayer));
if (LocalPlayer.Address == 0) return;
Entity TargetEntity = new Entity(-1);
float MaxDist = float.MaxValue;
for (int i = 1; i < EngineClient.MaxPlayer; i++)
{
Entity entity = new Entity(AltMemory.Read<int>(Game.Client + Offsets.dwEntityList + (i * 0x10)));
if (entity.Address == 0 && entity.Address == LocalPlayer.Address && entity.Address == LocalPlayer.ObserverTarget) continue;
if (entity.Dormant) continue;
if (entity.Health == 0) continue;
if (entity.Team == Structs.Enums.Team.None || entity.Team == Structs.Enums.Team.Spectator) continue;
bool IsVisible = BSPParser.BSPParser.IsVisible(LocalPlayer.Bone(8), entity.Bone(TriggerBot.Bone));
if (Property.TriggerBot.Enabled && TriggerBot.Type == 2 && AltMemory.WorldToScreen(entity.Bone(TriggerBot.Bone), out Vector2 AimHead2D, EngineClient.ViewMatrix, (int)WindowSize.Width, (int)WindowSize.Height))
{
if (IsVisible && LocalPlayer.Team != entity.Team)
{
float CurrentDist = Vector2.Distance(Crosshair, AimHead2D);
if (CurrentDist <= Property.TriggerBot.FOV)
{
TargetEntity = entity;
MaxDist = CurrentDist;
}
}
}
if (TargetEntity.Address != -1 && GetAsyncKeyState(TriggerBot.Key) != 0)
{
if (AltMemory.WorldToScreen(TargetEntity.Bone(TriggerBot.Bone), out Vector2 Head2D, EngineClient.ViewMatrix, (int)WindowSize.Width, (int)WindowSize.Height))
{
Vector3 LocalPlayerHeadPos = AltMemory.Read<Vector3>(LocalPlayer.Address + Offsets.m_vecViewOffset) + AltMemory.Read<Vector3>(LocalPlayer.Address + Offsets.m_vecOrigin);
Vector3 AimPunch = AltMemory.Read<Vector3>(LocalPlayer.Address + Offsets.m_aimPunchAngle);
AimPunch *= Property.RCS.ScalingFactor;
Vector3 AimAngle = Structs.Math.CalcAngle(LocalPlayerHeadPos, TargetEntity.Bone(TriggerBot.Bone));
AimAngle -= AimPunch;
if (TriggerBot.Smooth > 0)
AimAngle = Structs.Math.SmoothAngle(EngineClient.ViewAngles, AimAngle, Property.TriggerBot.Smooth);
else
{
AimAngle = Structs.Math.NormalizeAngle(AimAngle);
if (RCS.Enabled && LocalPlayer.ShotsFired > 2)
AimAngle = Structs.Math.ClampAngle(AimAngle);
}
EngineClient.ViewAngles = AimAngle;
}
}
}
}