Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Change overlay attached window by pressing F5");
            Console.WriteLine("It will attach to currently active window");
            Console.WriteLine("Trackbar can be controled with mouse wheel");
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
            input = new InputUtilities();
            var hWnd = WinAPI.GetForegroundWindow();

            using (SHDXOverlay = new SharpDXOverlay())
            {
                SHDXOverlay.Attach(hWnd);
                SHDXOverlay.TickEvent += overlay_TickEvent;
                InitializeComponents();
                SharpDXRenderer renderer  = SHDXOverlay.Renderer;
                TextFormat      smallFont = renderer.CreateFont("smallFont", "Century Gothic", 10f);
                TextFormat      largeFont = renderer.CreateFont("largeFont", "Century Gothic", 14f);
                TextFormat      heavyFont = renderer.CreateFont("heavyFont", "Century Gothic", 14f, SharpDX.DirectWrite.FontStyle.Normal, FontWeight.Heavy);
                windowMenu.Font         = smallFont;
                windowMenu.Caption.Font = largeFont;
                SHDXOverlay.ChildControls.Add(windowMenu);

                System.Windows.Forms.Application.Run(SHDXOverlay);
            }
        }
Example #2
0
        public static void Main(string[] args)
        {
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
            Console.Title = "SteamMonsterGame";

            Console.WriteLine("> Waiting for steam to start up...");
            while (!ProcUtils.ProcessIsRunning("Steam"))
                Thread.Sleep(250);

            proc = new ProcUtils("Steam", WinAPI.ProcessAccessFlags.QueryLimitedInformation);
            hWnd = IntPtr.Zero;

            Console.WriteLine("> Waiting for steam-window to start up...");
            do
                hWnd = WinAPI.FindWindowByCaption(hWnd, "Steam");
            while (hWnd == IntPtr.Zero);

            Console.WriteLine("> Initializing utils");
            keys = new KeyUtils();
            lastClickerPos = new Vector2();

            Console.WriteLine("> Initializing overlay");
            using (overlay = new SharpDXOverlay())
            {
                overlay.ChildControls.Clear();
                Console.WriteLine("> Attaching overlay");
                overlay.Attach(hWnd);
                overlay.TickEvent += overlay_TickEvent;
                overlay.DrawOnlyWhenInForeground = false;
                overlay.BeforeDrawingEvent += overlay_BeforeDrawingEvent;

                Console.WriteLine("> Setting up fonts");
                SharpDXRenderer renderer = overlay.Renderer;
                renderer.CreateFont("smallFont", "Century Gothic", 12f);
                renderer.CreateFont("tallFont", "Century Gothic", 16f);

                Console.WriteLine("> Initializing controls");
                InitializeComponent();

                Console.WriteLine("> Setting up controls");
                lblCaption.Font = renderer.GetFont("tallFont");
                lblDescription.Font = renderer.GetFont("smallFont");
                btnToggleMenu.Font = renderer.GetFont("smallFont");

                wndWindow.Font = renderer.GetFont("tallFont");
                lblAutomation.Font = renderer.GetFont("smallFont");
                chbAutoClicker.Font = renderer.GetFont("smallFont");
                chbMoveMouse.Font = renderer.GetFont("smallFont");
                rdbUsePost.Font = renderer.GetFont("smallFont");
                rdbUseSend.Font = renderer.GetFont("smallFont");
                lblVisuals.Font = renderer.GetFont("smallFont");
                chbVisDrawClicker.Font = renderer.GetFont("smallFont");
                lblPerformance.Font = renderer.GetFont("smallFont");
                lblFpsLogic.Font = renderer.GetFont("smallFont");
                lblFpsLogicAverage.Font = renderer.GetFont("smallFont");
                lblFpsDraw.Font = renderer.GetFont("smallFont");
                lblFpsDrawAverage.Font = renderer.GetFont("smallFont");

                pnlPanel.ChildControls.Clear();
                pnlPanel.AddChildControl(lblCaption);
                pnlPanel.AddChildControl(lblDescription);
                pnlPanel.InsertSpacer();
                pnlPanel.AddChildControl(btnToggleMenu);

                wndWindow.Panel.AddChildControl(lblAutomation);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(chbAutoClicker);
                wndWindow.Panel.AddChildControl(chbMoveMouse);
                wndWindow.Panel.AddChildControl(rdbUsePost);
                wndWindow.Panel.AddChildControl(rdbUseSend);

                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblVisuals);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(chbVisDrawClicker);

                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblPerformance);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblFpsLogic);
                wndWindow.Panel.AddChildControl(pgbFpsLogic);
                wndWindow.Panel.AddChildControl(lblFpsLogicAverage);
                wndWindow.Panel.AddChildControl(lblFpsDraw);
                wndWindow.Panel.AddChildControl(pgbFpsDraw);
                wndWindow.Panel.AddChildControl(lblFpsDrawAverage);

                overlay.ChildControls.Add(pnlPanel);
                overlay.ChildControls.Add(wndWindow);
                overlay.ChildControls.Add(clkWindow);

                Console.WriteLine("> Running overlay (close this console to terminate!)");
                System.Windows.Forms.Application.Run(overlay);
            }
        }
Example #3
0
        private static void overlay_TickEvent(object sender, SharpDXOverlay.DeltaEventArgs e)
        {
            keys.Update();
            pnlPanel.Y = overlay.Location.Y + overlay.Height / 2f - pnlPanel.Height;

            if (keys.KeyWentUp(WinAPI.VirtualKeyShort.INSERT))
                chbAutoClicker.Checked = !chbAutoClicker.Checked;
            if (keys.KeyWentUp(WinAPI.VirtualKeyShort.DELETE))
                chbMoveMouse.Checked = !chbMoveMouse.Checked;

            overlay.UpdateControls(e.SecondsElapsed, keys);

            if (keys.KeyIsDown(WinAPI.VirtualKeyShort.END))
                e.Overlay.Close();

            #region AutoClicker
            if (chbAutoClicker.Checked)
            {
                //Click-area
                ExternalUtilsCSharp.MathObjects.Vector2 areaSize = new ExternalUtilsCSharp.MathObjects.Vector2(clkWindow.GetSize().X, clkWindow.GetSize().Y);
                ExternalUtilsCSharp.MathObjects.Vector2 location = new ExternalUtilsCSharp.MathObjects.Vector2(clkWindow.GetAbsoluteLocation().X, clkWindow.GetAbsoluteLocation().Y);
                ExternalUtilsCSharp.MathObjects.Vector2 areaCenter = location + areaSize * 0.5f;
                bool sec = DateTime.Now.Second % 2 == 0;
                ExternalUtilsCSharp.MathObjects.Vector2 areaTop = new ExternalUtilsCSharp.MathObjects.Vector2(areaCenter.X, areaCenter.Y - areaSize.Y / (sec ? 2f : 4f));
                ExternalUtilsCSharp.MathObjects.Vector2 clickPoint = areaCenter;
                if (chbMoveMouse.Checked)
                {
                    clickPoint = MathUtils.RotatePoint(areaTop, areaCenter, DateTime.Now.Millisecond % 360);
                    WinAPI.SetCursorPos((int)(overlay.Location.X + clickPoint.X), (int)(overlay.Location.Y + clickPoint.Y));
                }
                int lParam = WinAPI.MakeLParam((int)clickPoint.X, (int)clickPoint.Y);
                lastClickerPos.X = clickPoint.X;
                lastClickerPos.Y = clickPoint.Y;
                Message(hWnd, (uint)WinAPI.WindowMessage.WM_LBUTTONDOWN, 0, lParam);
                Message(hWnd, (uint)WinAPI.WindowMessage.WM_LBUTTONUP, 0, lParam);
            }
            #endregion
            lblFpsLogic.Text = string.Format("FPS logic: {0}", overlay.LogicUpdater.LastFrameRate.ToString());
            lblFpsDraw.Text = string.Format("FPS draw: {0}", overlay.DrawUpdater.LastFrameRate.ToString());
            pgbFpsLogic.Value = overlay.LogicUpdater.LastFrameRate;
            pgbFpsDraw.Value = overlay.DrawUpdater.LastFrameRate;
            lblFpsDrawAverage.Text = string.Format("Average FPS: {0} ({1} ticks in {2}s)", overlay.DrawUpdater.GetAverageFPS(), MiscUtils.GetUnitFromNumber(overlay.DrawUpdater.TickCount, true), ((int)overlay.DrawUpdater.GetRuntime().TotalSeconds).ToString());
            lblFpsLogicAverage.Text = string.Format("Average FPS: {0} ({1} ticks in {2}s)", overlay.LogicUpdater.GetAverageFPS(), MiscUtils.GetUnitFromNumber(overlay.LogicUpdater.TickCount, true), ((int)overlay.LogicUpdater.GetRuntime().TotalSeconds).ToString());
        }
Example #4
0
 private static void overlay_BeforeDrawingEvent(object sender, SharpDXOverlay.OverlayEventArgs e)
 {
     if (chbAutoClicker.Checked && chbVisDrawClicker.Checked)
     {
         e.Overlay.Renderer.FillEllipse(Color.Red, lastClickerPos, new Vector2(16), true);
     }
 }
        public static void Main(string[] args)
        {
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

            while (!ProcUtils.ProcessIsRunning("Clicker Heroes"))
                Thread.Sleep(250);

            InitializeComponent();

            proc = new ProcUtils("Clicker Heroes", WinAPI.ProcessAccessFlags.QueryLimitedInformation);
            keys = new KeyUtils();
            lastClickerPos = new Vector2();
            using (overlay = new SharpDXOverlay())
            {
                overlay.ChildControls.Clear();
                overlay.Attach(proc.Process.MainWindowHandle);
                overlay.TickEvent += overlay_TickEvent;
                overlay.DrawOnlyWhenInForeground = false;
                overlay.BeforeDrawingEvent += overlay_BeforeDrawingEvent;

                SharpDXRenderer renderer = overlay.Renderer;
                renderer.CreateFont("smallFont", "Century Gothic", 12f);
                renderer.CreateFont("tallFont", "Century Gothic", 16f);

                lblCaption.Font = renderer.GetFont("tallFont");
                lblDescription.Font = renderer.GetFont("smallFont");
                btnToggleMenu.Font = renderer.GetFont("smallFont");

                wndWindow.Font = renderer.GetFont("tallFont");
                lblAutomation.Font = renderer.GetFont("smallFont");
                chbAutoClicker.Font = renderer.GetFont("smallFont");
                chbAutoSpells.Font = renderer.GetFont("smallFont");
                rdbUsePost.Font = renderer.GetFont("smallFont");
                rdbUseSend.Font = renderer.GetFont("smallFont");
                lblVisuals.Font = renderer.GetFont("smallFont");
                chbVisDrawClicker.Font = renderer.GetFont("smallFont");
                chbVisDrawLevels.Font = renderer.GetFont("smallFont");
                lblPerformance.Font = renderer.GetFont("smallFont");
                lblFpsLogic.Font = renderer.GetFont("smallFont");
                lblFpsLogicAverage.Font = renderer.GetFont("smallFont");
                lblFpsDraw.Font = renderer.GetFont("smallFont");
                lblFpsDrawAverage.Font = renderer.GetFont("smallFont");

                segments.Width = overlay.Width;
                segments.Height = overlay.Height;

                pnlPanel.ChildControls.Clear();
                pnlPanel.AddChildControl(lblCaption);
                pnlPanel.AddChildControl(lblDescription);
                pnlPanel.InsertSpacer();
                pnlPanel.AddChildControl(btnToggleMenu);

                wndWindow.Panel.AddChildControl(lblAutomation);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(chbAutoClicker);
                wndWindow.Panel.AddChildControl(chbAutoSpells);
                wndWindow.Panel.AddChildControl(rdbUsePost);
                wndWindow.Panel.AddChildControl(rdbUseSend);

                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblVisuals);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(chbVisDrawClicker);
                wndWindow.Panel.AddChildControl(chbVisDrawLevels);

                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblPerformance);
                wndWindow.Panel.InsertSpacer();
                wndWindow.Panel.AddChildControl(lblFpsLogic);
                wndWindow.Panel.AddChildControl(pgbFpsLogic);
                wndWindow.Panel.AddChildControl(lblFpsLogicAverage);
                wndWindow.Panel.AddChildControl(lblFpsDraw);
                wndWindow.Panel.AddChildControl(pgbFpsDraw);
                wndWindow.Panel.AddChildControl(lblFpsDrawAverage);

                overlay.ChildControls.Add(pnlPanel);
                overlay.ChildControls.Add(segments);
                overlay.ChildControls.Add(wndWindow);
                System.Windows.Forms.Application.Run(overlay);
            }
        }
        private static void overlay_TickEvent(object sender, SharpDXOverlay.DeltaEventArgs e)
        {
            keys.Update();

            overlay.UpdateControls(e.SecondsElapsed, keys);
            segments.Width = overlay.Width;
            segments.Height = overlay.Height;

            if (keys.KeyIsDown(WinAPI.VirtualKeyShort.INSERT))
                e.Overlay.Close();

            #region AutoClicker
            if (chbAutoClicker.Checked)
            {
                //Click-area
                ExternalUtilsCSharp.MathObjects.Vector2 areaSize = new ExternalUtilsCSharp.MathObjects.Vector2(overlay.Width / 2f * 0.6f, overlay.Width * 0.15f);
                ExternalUtilsCSharp.MathObjects.Vector2 location = new ExternalUtilsCSharp.MathObjects.Vector2(overlay.Width / 2f + overlay.Width / 4f, overlay.Width / 2f * 0.7f);
                ExternalUtilsCSharp.MathObjects.Vector2 areaCenter = location + areaSize * 0.5f;
                bool sec = DateTime.Now.Second % 2 == 0;
                ExternalUtilsCSharp.MathObjects.Vector2 areaTop = new ExternalUtilsCSharp.MathObjects.Vector2(areaCenter.X, areaCenter.Y - areaSize.Y / (sec ? 2f : 4f));
                ExternalUtilsCSharp.MathObjects.Vector2 clickPoint = MathUtils.RotatePoint(areaTop, areaCenter, DateTime.Now.Millisecond % 360) - areaSize * 0.5f;
                int lParam = WinAPI.MakeLParam((int)clickPoint.X, (int)clickPoint.Y);
                lastClickerPos.X = clickPoint.X;
                lastClickerPos.Y = clickPoint.Y;
                Message(proc.Process.MainWindowHandle, (uint)WinAPI.WindowMessage.WM_LBUTTONDOWN, 0, lParam);
                Message(proc.Process.MainWindowHandle, (uint)WinAPI.WindowMessage.WM_LBUTTONUP, 0, lParam);
            }
            #endregion
            #region Cast spells
            if (chbAutoSpells.Checked && overlay.LogicUpdater.TickCount % 10 == 0)
            {
                for (uint i = 0; i < 10; i++)
                {
                    uint key = (uint)WinAPI.VirtualKeyShort.KEY_0 + i;
                    uint scanCode = WinAPI.MapVirtualKey(key, 0);
                    uint lParam = lParam = (0x00000001 | (scanCode << 16));

                    Message(proc.Process.MainWindowHandle, (uint)WinAPI.WindowMessage.WM_KEYDOWN, (int)key, (int)lParam);
                    Message(proc.Process.MainWindowHandle, (uint)WinAPI.WindowMessage.WM_KEYUP, (int)key, (int)lParam);
                }
            }
            #endregion
            lblFpsLogic.Text = string.Format("FPS logic: {0}", overlay.LogicUpdater.LastFrameRate.ToString());
            lblFpsDraw.Text = string.Format("FPS draw: {0}", overlay.DrawUpdater.LastFrameRate.ToString());
            pgbFpsLogic.Value = overlay.LogicUpdater.LastFrameRate;
            pgbFpsDraw.Value = overlay.DrawUpdater.LastFrameRate;
            lblFpsDrawAverage.Text = string.Format("Average FPS: {0} ({1} ticks in {2}s)", overlay.DrawUpdater.GetAverageFPS(), MiscUtils.GetUnitFromNumber(overlay.DrawUpdater.TickCount, true), ((int)overlay.DrawUpdater.GetRuntime().TotalSeconds).ToString());
            lblFpsLogicAverage.Text = string.Format("Average FPS: {0} ({1} ticks in {2}s)", overlay.LogicUpdater.GetAverageFPS(), MiscUtils.GetUnitFromNumber(overlay.LogicUpdater.TickCount, true), ((int)overlay.LogicUpdater.GetRuntime().TotalSeconds).ToString());
        }
        public static void Main(string[] args)
        {
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

            PrintSuccess("[>]=-- Zat's CSGO-ESP");
            PrintEncolored("[www.unknowncheats.me - Leading the game hacking scene since 2000]", ConsoleColor.Cyan);
            Thread scroller = new Thread(new ThreadStart(LoopScroll));

            scroller.IsBackground = true;
            scroller.Start();
            KeyUtils    = new KeyUtils();
            ConfigUtils = new CSGOConfigUtils();

            //ESP
            ConfigUtils.BooleanSettings.AddRange(new string[] { "espEnabled", "espBox", "espSkeleton", "espName", "espHealth", "espAllies", "espEnemies" });
            //Aim
            ConfigUtils.BooleanSettings.AddRange(new string[] { "aimDrawFov", "aimEnabled", "aimToggle", "aimHold", "aimSmoothEnabled", "aimFilterSpotted", "aimFilterSpottedBy", "aimFilterEnemies", "aimFilterAllies", "aimFilterSpottedBy" });
            ConfigUtils.KeySettings.Add("aimKey");
            ConfigUtils.FloatSettings.AddRange(new string[] { "aimFov", "aimSmoothValue" });
            ConfigUtils.IntegerSettings.Add("aimBone");
            //RCS
            ConfigUtils.BooleanSettings.Add("rcsEnabled");
            ConfigUtils.FloatSettings.Add("rcsForce");
            //Trigger
            ConfigUtils.BooleanSettings.AddRange(new string[] { "triggerEnabled", "triggerToggle", "triggerHold", "triggerFilterEnemies", "triggerFilterAllies", "triggerBurstEnabled", "triggerBurstRandomize" });
            ConfigUtils.KeySettings.Add("triggerKey");
            ConfigUtils.FloatSettings.AddRange(new string[] { "triggerDelayFirstShot", "triggerDelayShots", "triggerBurstShots" });
            //Radar
            ConfigUtils.BooleanSettings.AddRange(new string[] { "radarEnabled", "radarAllies", "radarEnemies" });
            ConfigUtils.FloatSettings.AddRange(new string[] { "radarScale", "radarWidth", "radarHeight" });
            //Crosshair
            ConfigUtils.BooleanSettings.AddRange(new string[] { "crosshairEnabled", "crosshairOutline" });
            ConfigUtils.IntegerSettings.AddRange(new string[] { "crosshairType" });
            ConfigUtils.UIntegerSettings.AddRange(new string[] { "crosshairPrimaryColor", "crosshairSecondaryColor" });
            ConfigUtils.FloatSettings.AddRange(new string[] { "crosshairWidth", "crosshairSpreadScale", "crosshairRadius" });
            //Windows
            ConfigUtils.BooleanSettings.AddRange(new string[] { "windowSpectatorsEnabled", "windowPerformanceEnabled", "windowBotsEnabled", "windowEnemiesEnabled" });


            ConfigUtils.FillDefaultValues();

            if (!File.Exists("euc_csgo.cfg"))
            {
                ConfigUtils.SaveSettingsToFile("euc_csgo.cfg");
            }
            ConfigUtils.ReadSettingsFromFile("euc_csgo.cfg");

            PrintInfo("> Waiting for CSGO to start up...");
            while (!ProcUtils.ProcessIsRunning(GAME_PROCESS))
            {
                Thread.Sleep(250);
            }

            ProcUtils       = new ProcUtils(GAME_PROCESS, WinAPI.ProcessAccessFlags.VirtualMemoryRead | WinAPI.ProcessAccessFlags.VirtualMemoryWrite | WinAPI.ProcessAccessFlags.VirtualMemoryOperation);
            MemUtils        = new ExternalUtilsCSharp.MemUtils();
            MemUtils.Handle = ProcUtils.Handle;

            PrintInfo("> Waiting for CSGOs window to show up...");
            while ((hWnd = WinAPI.FindWindowByCaption(hWnd, GAME_TITLE)) == IntPtr.Zero)
            {
                Thread.Sleep(250);
            }

            ProcessModule clientDll, engineDll;

            PrintInfo("> Waiting for CSGO to load client.dll...");
            while ((clientDll = ProcUtils.GetModuleByName(@"bin\client.dll")) == null)
            {
                Thread.Sleep(250);
            }
            PrintInfo("> Waiting for CSGO to load engine.dll...");
            while ((engineDll = ProcUtils.GetModuleByName(@"engine.dll")) == null)
            {
                Thread.Sleep(250);
            }

            Framework = new Framework(clientDll, engineDll);

            PrintInfo("> Initializing overlay");
            using (SHDXOverlay = new SharpDXOverlay())
            {
                SHDXOverlay.Attach(hWnd);
                SHDXOverlay.TickEvent          += overlay_TickEvent;
                SHDXOverlay.BeforeDrawingEvent += SHDXOverlay_BeforeDrawingEvent;
                InitializeComponents();
                SharpDXRenderer renderer  = SHDXOverlay.Renderer;
                TextFormat      smallFont = renderer.CreateFont("smallFont", "Century Gothic", 10f);
                TextFormat      largeFont = renderer.CreateFont("largeFont", "Century Gothic", 14f);
                TextFormat      heavyFont = renderer.CreateFont("heavyFont", "Century Gothic", 14f, FontStyle.Normal, FontWeight.Heavy);

                windowMenu.Font               = smallFont;
                windowMenu.Caption.Font       = largeFont;
                windowGraphs.Font             = smallFont;
                windowGraphs.Caption.Font     = largeFont;
                windowSpectators.Font         = smallFont;
                windowSpectators.Caption.Font = largeFont;
                windowBots.Font               = smallFont;
                windowBots.Caption.Font       = largeFont;
                graphMemRead.Font             = smallFont;
                graphMemWrite.Font            = smallFont;

                for (int i = 0; i < ctrlPlayerESP.Length; i++)
                {
                    ctrlPlayerESP[i].Font = heavyFont;
                    SHDXOverlay.ChildControls.Add(ctrlPlayerESP[i]);
                }
                ctrlRadar.Font = smallFont;

                windowMenu.ApplySettings(ConfigUtils);

                SHDXOverlay.ChildControls.Add(ctrlCrosshair);
                SHDXOverlay.ChildControls.Add(ctrlRadar);
                SHDXOverlay.ChildControls.Add(windowMenu);
                SHDXOverlay.ChildControls.Add(windowGraphs);
                SHDXOverlay.ChildControls.Add(windowSpectators);
                SHDXOverlay.ChildControls.Add(windowBots);
                SHDXOverlay.ChildControls.Add(cursor);
                PrintInfo("> Running overlay");
                System.Windows.Forms.Application.Run(SHDXOverlay);
            }
            ConfigUtils.SaveSettingsToFile("euc_csgo.cfg");
        }
        public static void Main(string[] args)
        {
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

            PrintSuccess("[>]=-- Zat's CSGO-ESP");
            KeyUtils = new KeyUtils();
            ConfigUtils = new CSGOConfigUtils();

            ConfigUtils.SetValue("espEnabled", true);
            ConfigUtils.SetValue("espBox", false);
            ConfigUtils.SetValue("espSkeleton", true);
            ConfigUtils.SetValue("espName", false);
            ConfigUtils.SetValue("espHealth", true);

            ConfigUtils.SetValue("aimEnabled", true);
            ConfigUtils.SetValue("aimKey", WinAPI.VirtualKeyShort.XBUTTON1);
            ConfigUtils.SetValue("aimToggle", false);
            ConfigUtils.SetValue("aimHold", true);
            ConfigUtils.SetValue("aimFov", 30f);
            ConfigUtils.SetValue("aimSmoothEnabled", true);
            ConfigUtils.SetValue("aimSmoothValue", 0.2f);
            ConfigUtils.SetValue("aimFilterSpotted", false);
            ConfigUtils.SetValue("aimFilterSpottedBy", false);
            ConfigUtils.SetValue("aimFilterEnemies", true);
            ConfigUtils.SetValue("aimFilterAllies", false);

            ConfigUtils.SetValue("rcsEnabled", true);
            ConfigUtils.SetValue("rcsForce", 100f);

            ConfigUtils.ReadSettingsFromFile("euc_csgo.cfg");

            PrintInfo("> Waiting for CSGO to start up...");
            while (!ProcUtils.ProcessIsRunning("csgo"))
                Thread.Sleep(250);

            ProcUtils = new ProcUtils("csgo", WinAPI.ProcessAccessFlags.VirtualMemoryRead | WinAPI.ProcessAccessFlags.VirtualMemoryWrite | WinAPI.ProcessAccessFlags.VirtualMemoryOperation);
            MemUtils = new ExternalUtilsCSharp.MemUtils();
            MemUtils.Handle = ProcUtils.Handle;

            PrintInfo("> Waiting for CSGOs window to show up...");
            while ((hWnd = WinAPI.FindWindowByCaption(hWnd, "Counter-Strike: Global Offensive")) == IntPtr.Zero)
                Thread.Sleep(250);

            ProcessModule clientDll, engineDll;
            PrintInfo("> Waiting for CSGO to load client.dll...");
            while ((clientDll = ProcUtils.GetModuleByName(@"bin\client.dll")) == null)
                Thread.Sleep(250);
            PrintInfo("> Waiting for CSGO to load engine.dll...");
            while ((engineDll = ProcUtils.GetModuleByName(@"engine.dll")) == null)
                Thread.Sleep(250);

            Framework = new Framework(clientDll, engineDll);

            PrintInfo("> Initializing overlay");
            using (SHDXOverlay = new SharpDXOverlay())
            {
                SHDXOverlay.Attach(hWnd);
                SHDXOverlay.TickEvent += overlay_TickEvent;

                InitializeComponents();
                SharpDXRenderer renderer = SHDXOverlay.Renderer;
                TextFormat smallFont = renderer.CreateFont("smallFont", "Century Gothic", 10f);
                TextFormat largeFont = renderer.CreateFont("largeFont", "Century Gothic", 14f);
                TextFormat heavyFont = renderer.CreateFont("heavyFont", "Century Gothic", 14f, FontStyle.Normal, FontWeight.Heavy);

                windowMenu.Font = smallFont;
                windowMenu.Caption.Font = largeFont;
                windowGraphs.Font = smallFont;
                windowGraphs.Caption.Font = largeFont;
                windowSpectators.Font = smallFont;
                windowSpectators.Caption.Font = largeFont;
                graphMemRead.Font = smallFont;
                graphMemWrite.Font = smallFont;
                for (int i = 0; i < ctrlPlayerESP.Length; i++)
                {
                    ctrlPlayerESP[i].Font = heavyFont;
                    SHDXOverlay.ChildControls.Add(ctrlPlayerESP[i]);
                }
                ctrlRadar.Font = smallFont;

                windowMenu.ApplySettings(ConfigUtils);

                SHDXOverlay.ChildControls.Add(ctrlRadar);
                SHDXOverlay.ChildControls.Add(windowMenu);
                SHDXOverlay.ChildControls.Add(windowGraphs);
                SHDXOverlay.ChildControls.Add(windowSpectators);
                SHDXOverlay.ChildControls.Add(cursor);
                PrintInfo("> Running overlay");
                System.Windows.Forms.Application.Run(SHDXOverlay);
            }
            ConfigUtils.SaveSettingsToFile("euc_csgo.cfg");
        }
        private static void overlay_TickEvent(object sender, SharpDXOverlay.DeltaEventArgs e)
        {
            seconds += e.SecondsElapsed;
            KeyUtils.Update();
            Framework.Update();
            SHDXOverlay.UpdateControls(e.SecondsElapsed, KeyUtils);
            if (KeyUtils.KeyWentUp(WinAPI.VirtualKeyShort.DELETE))
                SHDXOverlay.Kill();
            if (KeyUtils.KeyWentUp(WinAPI.VirtualKeyShort.UP))
                ctrlRadar.Scaling -= 0.005f;
            if (KeyUtils.KeyWentUp(WinAPI.VirtualKeyShort.DOWN))
                ctrlRadar.Scaling += 0.005f;
            if (KeyUtils.KeyWentUp(WinAPI.VirtualKeyShort.INSERT))
                Framework.MouseEnabled = !Framework.MouseEnabled;
            cursor.Visible = !Framework.MouseEnabled;
            if (seconds >= 1)
            {
                seconds = 0;
                graphMemRead.AddValue(MemUtils.BytesRead);
                graphMemWrite.AddValue(MemUtils.BytesWritten);
            }

            ctrlRadar.X = SHDXOverlay.Width - ctrlRadar.Width;

            for (int i = 0; i < ctrlPlayerESP.Length; i++)
                ctrlPlayerESP[i].Visible = false;

            if (Framework.IsPlaying())
            {
                for (int i = 0; i < ctrlPlayerESP.Length && i < Framework.Players.Length; i++)
                {
                    ctrlPlayerESP[i].Visible = true;
                    ctrlPlayerESP[i].Player = Framework.Players[i].Item2;
                }
                if (Framework.LocalPlayer != null)
                {
                    var spectators = Framework.Players.Where(x => x.Item2.m_hObserverTarget == Framework.LocalPlayer.m_iID);
                    StringBuilder builder = new StringBuilder();
                    foreach (Tuple<int, CSPlayer> spec in spectators)
                    {
                        CSPlayer player = spec.Item2;
                        builder.AppendFormat("{0} [{1}]{2}", Framework.Names[player.m_iID], (SpectatorView)player.m_iObserverMode, builder.Length > 0 ? "\n" : "");
                    }
                    if (builder.Length > 0)
                        labelSpectators.Text = builder.ToString();
                    else
                        labelSpectators.Text = "<none>";
                }
                else
                {
                    labelSpectators.Text = "<none>";
                }
            }
            else
            {
                labelSpectators.Text = "<none>";
            }
        }
Example #10
0
        private static void overlay_TickEvent(object sender, SharpDXOverlay.DeltaEventArgs e)
        {
            var overlay = (SharpDXOverlay) sender;
            input.Update();
            if(input.Keys.KeyWentUp(WinAPI.VirtualKeyShort.F5))
            {
                overlay.ChangeHandle(WinAPI.GetForegroundWindow());
            }
            overlay.UpdateControls(e.SecondsElapsed, input);

            if (input.Keys.KeyIsDown(WinAPI.VirtualKeyShort.END))
                e.Overlay.Close();
               // e.Overlay.ShowInactiveTopmost();
        }
Example #11
0
        static void Main(string[] args)
        {
            Console.WriteLine("Change overlay attached window by pressing F5");
            Console.WriteLine("It will attach to currently active window");
            Console.WriteLine("Trackbar can be controled with mouse wheel");
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
            input = new InputUtilities();
            var hWnd = WinAPI.GetForegroundWindow();
            using (SHDXOverlay = new SharpDXOverlay())
            {
                SHDXOverlay.Attach(hWnd);
                SHDXOverlay.TickEvent += overlay_TickEvent;
                InitializeComponents();
                SharpDXRenderer renderer = SHDXOverlay.Renderer;
                TextFormat smallFont = renderer.CreateFont("smallFont", "Century Gothic", 10f);
                TextFormat largeFont = renderer.CreateFont("largeFont", "Century Gothic", 14f);
                TextFormat heavyFont = renderer.CreateFont("heavyFont", "Century Gothic", 14f, SharpDX.DirectWrite.FontStyle.Normal, FontWeight.Heavy);
                windowMenu.Font = smallFont;
                windowMenu.Caption.Font = largeFont;
                SHDXOverlay.ChildControls.Add(windowMenu);

                System.Windows.Forms.Application.Run(SHDXOverlay);
            }
        }