Пример #1
0
 private static void SoundESPLoop()
 {
     while (Memory.IsProcessRunning)
     {
         Thread.Sleep(10);
         SoundESP.Run();
     }
 }
 public CSGOGameController(frmOverlay form)
     : base((int)(1000f / 60f), "csgo", form)
 {
     MemoryUpdater = new MemoryUpdater();
     MemoryUpdater.StartUpdater();
     AimBot = new AimBot();
     AimBot.StartUpdater();
     TriggerBot = new TriggerBot();
     TriggerBot.StartUpdater();
     RecoilControl = new RecoilControl();
     RecoilControl.StartUpdater();
     PerformanceUpdater = new CPUUpdater();
     PerformanceUpdater.StartUpdater();
     SoundESP = new SoundESP();
     SoundESP.StartUpdater();
 }
        protected override void OnDraw(SharpDX.Direct2D1.WindowRenderTarget device)
        {
            csgo = (CSGOImplementation)Program.GameImplementation;

            //Draw background
            FillRectangle(device, CSGOTheme.BackColor, X, Y, Width, Height);
            if (csgo.SignOnState < SignOnState.SIGNONSTATE_NEW || csgo.SignOnState > SignOnState.SIGNONSTATE_FULL)
            {
                DrawText(device, this.Theme.ForeColor * (0.75f + 0.25f * GetColorMultiplier()), this.X + this.Width / 2f - 50f, this.Y + this.Height / 2f + 8f, 200, 20, "Not connected", this.Font);
                return;
            }

            Player currentPlayer = csgo.GetCurrentPlayer();

            if (csgo.Players == null)
            {
                return;
            }

            //Check validity
            if (csgo.Players == null)
            {
                return;
            }
            if (csgo.Players.Length == 0)
            {
                return;
            }
            if (currentPlayer == null)
            {
                return;
            }
            if (csgo.GetValue <YesNo>("radarEnabled") == YesNo.No)
            {
                return;
            }
            resolution = csgo.GetValue <float>("radarZoom");
            Vector2 screenMid = new Vector2(X + Width / 2f, Y + Height / 2f);
            float   scale     = 2f / resolution;

            #region SoundESP
            if (csgo.GetValue <YesNo>("soundEspEnabled") == YesNo.Yes)
            {
                //float maxSpan = csgo.GetValue<float>("soundEspInterval");
                float maxRange = csgo.GetValue <float>("soundEspRange");
                maxRange /= 0.01905f;
                if ((maxRange * scale * 2f) <= this.Width)
                {
                    DrawEllipse(device, CSGOTheme.Line, screenMid.X, screenMid.Y, maxRange * scale * 2f, maxRange * scale * 2f, true, 1f);
                }
                SoundESP sEsp = ((CSGOGameController)Program.GameController).SoundESP;
                if (((maxRange * scale * 2f) / 100f * sEsp.LastPercent) <= this.Width)
                {
                    DrawEllipse(device, CSGOTheme.Line, screenMid.X, screenMid.Y, (maxRange * scale * 2f) / 100f * sEsp.LastPercent, (maxRange * scale * 2f) / 100f * sEsp.LastPercent, true, 1f);
                }
            }
            #endregion

            //Draw other players
            try
            {
                foreach (Player player in csgo.Players)
                {
                    if (player != null)
                    {
                        DrawPlayer(device, currentPlayer, player, screenMid, scale);
                    }
                }
            }
            catch { }
            //foreach (Entity entity in csgo.Entities)
            //{
            //    DrawEntity(device, currentPlayer, entity, screenMid, scale);
            //}

            //Draw "view"
            DrawText(device, CSGOTheme.ForeColor, X + 4, Y + 4, 100, 20, "Zoom: x" + Math.Round(1 / resolution, 2), FactoryManager.GetFont("smallSegoe"));
            FillPolygon(device, CSGOTheme.ViewColor, screenMid.X, screenMid.Y, screenMid.X - viewX * scale, screenMid.Y - viewY * scale, screenMid.X + viewX * scale, screenMid.Y - viewY * scale);
            DrawPolygon(device, CSGOTheme.ViewColorOutline, screenMid.X, screenMid.Y, screenMid.X - viewX * scale, screenMid.Y - viewY * scale, screenMid.X + viewX * scale, screenMid.Y - viewY * scale);

            //Draw player
            FillEllipse(device,
                        currentPlayer.InTeam == Team.CounterTerrorists ? CSGOTheme.TeamCT : CSGOTheme.TeamT,
                        screenMid.X,
                        screenMid.Y,
                        dotSize * scale,
                        dotSize * scale,
                        true);
        }