/// <summary> /// Called after dll has been injected /// </summary> public Core() { DebugHelper.ShowConsoleWindow(); CurrentProcess = Process.GetCurrentProcess(); Globals.Players = new Player[33]; GameFuncs.Init(); Blitzmax.Init(); Patches.Init(); ReadSignatures(); InitHooks(); }
void DoAimbot() { var player = Aimbot.GetClosestPlayer(); if (player != null && player.Distance <= 300 * 3) // TODO: FIX { var relativePoint = Aimbot.RelativePoint(Globals.LocalPlayer, player); var hitscanPos = Aimbot.GetHitscanPoint(player.Hitscan); relativePoint.X -= hitscanPos.X; relativePoint.Y -= hitscanPos.Y; if (Globals.MainForm.CheckBoxAutoShoot.Checked || (WinApi.GetAsyncKeyState(System.Windows.Forms.Keys.Space) & 0x8000) != 0) { var enemyAngle = Aimbot.PointToAngle(relativePoint); GameFuncs.OnRecoilShoot(Globals.LocalPlayer.Base, enemyAngle, 1, 0); } } }
/// <summary> /// Read all players /// </summary> void ReadPlayers() { Globals.LocalPlayer = new Player(Memory.ReadPointer(Globals.LocalPlayerPointer)); for (int i = 0; i <= 32; i++) { var playerBase = GameFuncs.GetPlayer(i); if (playerBase == IntPtr.Zero) { Globals.Players[i] = null; continue; } var player = new Player(playerBase); if (player.ID != Globals.LocalPlayer.ID && player.Team != Team.S && player.Health > 0) { if (player.Team != Globals.LocalPlayer.Team || Globals.MainForm.CheckBoxAimbotTeam.Checked) { player.Distance = Helper.CalcRange(Globals.LocalPlayer.PosX, Globals.LocalPlayer.PosY, player.PosX, player.PosY); if (player.Distance <= 300 * 3) // TODO: READ WEAPON DISTANCE { player.Hitscan = Aimbot.Hitscan(Globals.LocalPlayer.Base, player.PosX, player.PosY); } else { player.Hitscan = HitscanResult.None; } } Globals.Players[i] = player; } else { Globals.Players[i] = null; } } }