using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using ImGuiNET;
namespace AotForms
{
internal static class AimRageDOKOTEAM_MODS
{
// ==================== THREAD MANAGEMENT ====================
private static Thread _aimbotThread;
private static bool _isRunning = false;
private static readonly object _threadLock = new object();
// ==================== TARGET MANAGEMENT ====================
private static Entity _currentTarget = null;
private static Entity _lockedTarget = null; // লক করা টার্গেট
public static Entity CurrentTarget => _currentTarget;
// ==================== DRAG MODE VARIABLES ====================
private static bool _isDragging = false;
private static Vector2 _dragStartPos = [Link];
private static DateTime _dragStartTime;
private const float DRAG_THRESHOLD = 6f; // 6 পিক্সেল ড্র্যাগ থ্রেশহোল্ড
private const int DRAG_TIMEOUT_MS = 500; // 500ms টাইমআউট
private static bool _dragModeActive = false;
// ==================== SMOOTH PATCH SYSTEM ====================
private static bool _isPatched = false;
private static float _lastOriginalValue = 0f;
private static DateTime _patchTime;
private const int SMOOTH_DELAY_MS = 200; // 200ms পর রিস্টোর
// ==================== STATE TRACKING ====================
private static bool _wasInGame = false;
private static int _lastEntityCount = 0;
private static bool _wasAiming = false;
// ==================== SAFETY CONFIG ====================
private const float FOV_LIMIT = 120f; // 120 পিক্সেল FOV লিমিট
private const int MAX_RETRY_COUNT = 3;
// ==================== MAIN CONTROL METHODS ====================
internal static void Start()
{
lock (_threadLock)
{
if (_isRunning) return;
if (!Config.enableAimBotV1) return; // ← নতুন লাইন
_isRunning = true;
_aimbotThread = new Thread(Work)
{
IsBackground = true,
Priority = [Link]
};
_aimbotThread.Start();
}
}
public static void Stop()
{
lock (_threadLock)
{
if (!_isRunning) return;
_isRunning = false;
}
// রিস্টোর প্যাচ
RestorePatch();
_aimbotThread?.Join(2000);
_currentTarget = null;
_lockedTarget = null;
}
// ==================== DRAG MODE DETECTION ====================
private static bool IsDragging()
{
// ড্র্যাগ মোড বন্ধ থাকলে সবসময় true
if (![Link]) return true;
bool leftMousePressed = ([Link](0x01) & 0x8000) !=
0; // VK_LBUTTON
if (leftMousePressed && !_isDragging)
{
// ড্র্যাগ শুরু
_isDragging = true;
_dragStartPos = GetMousePosition();
_dragStartTime = [Link];
return false;
}
else if (leftMousePressed && _isDragging)
{
// ড্র্যাগ চলছে
Vector2 currentPos = GetMousePosition();
float dragDistance = [Link](_dragStartPos, currentPos);
// টাইমআউট চেক
if (([Link] - _dragStartTime).TotalMilliseconds >
DRAG_TIMEOUT_MS)
{
_isDragging = false;
_dragModeActive = false;
return false;
}
// থ্রেশহোল্ড চেক
if (dragDistance >= DRAG_THRESHOLD)
{
_dragModeActive = true;
return true;
}
return false;
}
else if (!leftMousePressed && _isDragging)
{
// ড্র্যাগ শেষ
_isDragging = false;
_dragModeActive = false;
return false;
}
return _dragModeActive;
}
private static Vector2 GetMousePosition()
{
[Link](out var point);
return new Vector2(point.X, point.Y);
}
// ==================== SMOOTH PATCH SYSTEM ====================
private static void ApplySmoothPatch(float newValue)
{
if (_isPatched) return;
try
{
// পুরোনো মান সংরক্ষণ
_lastOriginalValue = [Link]([Link] +
[Link]);
// প্যাচ প্রয়োগ
[Link]([Link] + [Link],
newValue);
_isPatched = true;
_patchTime = [Link];
}
catch { }
}
private static void RestorePatch()
{
if (!_isPatched) return;
try
{
// ২০০ ms পর রিস্টোর
if (([Link] - _patchTime).TotalMilliseconds >=
SMOOTH_DELAY_MS)
{
[Link]([Link] + [Link],
_lastOriginalValue);
_isPatched = false;
}
}
catch { }
}
// ==================== TARGET VALIDATION ====================
private static bool IsValidTarget(Entity entity)
{
if (entity == null) return false;
if (![Link]) return false;
if ([Link]) return false;
if ([Link] && [Link]) return false;
if ([Link]) return false;
// দূরত্ব চেক
float distance = [Link]([Link], [Link]);
if (distance > [Link]) return false;
return true;
}
private static bool IsTargetInScreen(Entity entity)
{
var screenPos = [Link](
[Link],
[Link],
[Link],
[Link]
);
return screenPos.X >= 1 && screenPos.Y >= 1 &&
screenPos.X <= [Link] && screenPos.Y <= [Link];
}
private static bool IsTargetAlive(Entity entity)
{
return ![Link];
}
// ==================== TARGET SELECTION ====================
private static Entity SelectBestTarget()
{
if ([Link] == null || [Link] == 0)
return null;
var screenCenter = new Vector2([Link] / 2f, [Link] / 2f);
Entity bestTarget = null;
float bestDistance = [Link];
foreach (var entity in [Link])
{
// টার্গেট ভ্যালিডেশন
if (!IsValidTarget(entity)) continue;
var target2D = [Link](
[Link],
[Link],
[Link],
[Link]
);
if (target2D.X < 1 || target2D.Y < 1) continue;
var x = target2D.X - screenCenter.X;
var y = target2D.Y - screenCenter.Y;
var crosshairDist = [Link](x * x + y * y);
// FOV লিমিট চেক
if ([Link] && crosshairDist > Config.Aimfov1)
continue;
// অতিরিক্ত FOV সুরক্ষা
if (crosshairDist > FOV_LIMIT)
continue;
if (crosshairDist < bestDistance)
{
bestDistance = crosshairDist;
bestTarget = entity;
}
}
return bestTarget;
}
// ==================== LOCKED TARGET MANAGEMENT ====================
private static void UpdateLockedTarget()
{
// লক করা টার্গেট থাকলে চেক করো
if (_lockedTarget != null)
{
// টার্গেট মারা গেছে কি না
if (!IsValidTarget(_lockedTarget) || !IsTargetAlive(_lockedTarget))
{
_lockedTarget = null;
return;
}
// টার্গেট স্ক্রিনের বাইরে চলে গেছে কি না
if (!IsTargetInScreen(_lockedTarget))
{
_lockedTarget = null;
return;
}
// লক করা টার্গেট এখনও বৈধ
_currentTarget = _lockedTarget;
return;
}
// নতুন টার্গেট নির্বাচন
var bestTarget = SelectBestTarget();
if (bestTarget != null)
{
_lockedTarget = bestTarget;
_currentTarget = bestTarget;
}
else
{
_currentTarget = null;
}
}
// ==================== GAME STATE CHECK ====================
private static bool IsInLobby()
{
if ([Link] == null || [Link] < 2)
return true;
if ([Link] != null && [Link]() <
10f)
return true;
return false;
}
private static bool HasGameStateChanged()
{
bool isInGame = !IsInLobby() && [Link] != null &&
[Link] > 1;
if (_wasInGame && !isInGame)
{
_wasInGame = isInGame;
return true;
}
if (_lastEntityCount > 10 && ([Link] == null ||
[Link] < 5))
{
_lastEntityCount = [Link]?.Count ?? 0;
return true;
}
_wasInGame = isInGame;
_lastEntityCount = [Link]?.Count ?? 0;
return false;
}
// ==================== AIMBOT CORE WORKER ====================
internal static void Work()
{
while (_isRunning)
{
try
{
// গেম স্টেট চেক
if (HasGameStateChanged())
{
_lockedTarget = null;
ClearTarget();
[Link](100);
continue;
}
// এমবট চালু আছে কিনা
if (!Config.enableAimBotV1)
{
ClearTarget();
[Link](1);
continue;
}
// ড্র্যাগ মোড চেক
if (!IsDragging())
{
ClearTarget();
RestorePatch();
[Link](1);
continue;
}
// স্ক্রিন সাইজ চেক
if ([Link] == -1 || [Link] == -1)
{
ClearTarget();
[Link](1);
continue;
}
// ম্যাট্রিক্স চেক
if (![Link])
{
ClearTarget();
[Link](1);
continue;
}
// এন্টিটি চেক
if ([Link] == null || [Link] == 0)
{
ClearTarget();
[Link](1);
continue;
}
// লক করা টার্গেট আপডেট
UpdateLockedTarget();
// টার্গেট আছে কিনা
if (_currentTarget == null)
{
RestorePatch();
[Link](1);
continue;
}
// টার্গেট স্পাইন পজিশন
Vector3 targetPosition = _currentTarget.Spine;
// টার্গেট স্ক্রিনে আছে কিনা
var target2D = [Link](
[Link],
targetPosition,
[Link],
[Link]
);
if (target2D.X < 1 || target2D.Y < 1)
{
_lockedTarget = null;
ClearTarget();
RestorePatch();
[Link](1);
continue;
}
// রোটেশন ক্যালকুলেট
var playerLook = [Link](
targetPosition,
0.1f,
[Link]
);
// স্মুথ প্যাচ প্রয়োগ
ApplySmoothPatch(playerLook);
// স্লিপ (CPU ব্যবহার কমানোর জন্য)
[Link]([Link]);
// প্যাচ রিস্টোর চেক
RestorePatch();
}
catch (Exception ex)
{
// এরর হলে ক্লিয়ার
ClearTarget();
[Link](10);
}
}
}
// ==================== HELPER METHODS ====================
private static void ClearTarget()
{
_currentTarget = null;
// লক করা টার্গেট শুধু তখনই ক্লিয়ার করো যদি মৃত হয়
if (_lockedTarget != null && (_lockedTarget.IsDead || !
IsValidTarget(_lockedTarget)))
{
_lockedTarget = null;
}
}
public static void ForceClearTarget()
{
ClearTarget();
_lockedTarget = null;
RestorePatch();
}
// ==================== RENDER METHOD ====================
internal static void Render()
{
if (!Config.enableAimBotV1 || [Link] == -1 || [Link] == -1)
return;
var target = _currentTarget;
if (target == null)
return;
if (IsInLobby())
{
ClearTarget();
return;
}
var spine2D = [Link](
[Link],
[Link],
[Link],
[Link]
);
if (spine2D.X < 1 || spine2D.Y < 1)
return;
var draw = [Link]();
// টার্গেট এফেক্ট (লক ইন্ডিকেটর)
float radius = 13f;
int segments = 64;
// লক ইফেক্ট (আগের চেয়ে বেশি ভিজিবল)
for (int i = 0; i < segments; i += 6)
{
float start = (i / (float)segments) * [Link] * 2f;
float end = ((i + 3) / (float)segments) * [Link] * 2f;
[Link]();
[Link](spine2D, radius, start, end);
// লক ইন্ডিকেটর কালার (লাল = লকড)
Vector4 color = _lockedTarget == target ?
new Vector4(1f, 0.2f, 0.2f, 1f) :
new Vector4(1f, 1f, 1f, 1f);
[Link](
ImGui.GetColorU32(color),
[Link],
2.5f
);
}
// ড্র্যাগ ইন্ডিকেটর (যদি ড্র্যাগ মোড সক্রিয় থাকে)
if (_dragModeActive)
{
[Link](spine2D, radius + 5, ImGui.GetColorU32(new
Vector4(0f, 1f, 0f, 0.5f)), 12, 2f);
}
}
// ==================== PUBLIC API ====================
public static bool IsTargetLocked()
{
return _lockedTarget != null && IsValidTarget(_lockedTarget);
}
public static Entity GetLockedTarget()
{
return _lockedTarget;
}
public static void UnlockTarget()
{
_lockedTarget = null;
ClearTarget();
}
}