Exemple #1
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (Variables.Settings.ShowMenu)
            {
                ESP.Draw.Interface.Render();
                if (Variables.Settings.Save_Value.val == 1)
                {
                    Variables.Settings.Save_Value.val = 0;
                    GlobalClasses.SaveConfig();
                }
            }
            #region Fundamentals
            Variables.me = ObjectMgr.LocalHero;
            if (!Variables.inGame)
            {
                if (!Game.IsInGame || Variables.me == null)
                {
                    return;
                }
                Variables.inGame      = true;
                Variables.visibleGlow = new ParticleEffect(Variables.visibleParticleEffect, Variables.me);
                Print.Success(Variables.LoadMessage);
                Variables.HookCounter         = 0;
                Variables.WindowWidth         = GlobalClasses.GetWidth();
                Variables.ToolTipActivationY  = Variables.ToolTipActivationYRatio * GlobalClasses.GetHeight();
                Variables.ToolTipRadiantStart = Variables.RadiantStartRatio * Variables.WindowWidth;
                Variables.ToolTipDireStart    = Variables.DireStartRatio * Variables.WindowWidth;
                Variables.TeamGap             = Variables.GapRatio * Variables.WindowWidth;
                Variables.HeroIconWidth       = Variables.TeamGap / 5;
                var foo = (Math.Pow(20, 2) * Math.Pow(16, 2) / 1024 * 788216.29);
                foreach (var id in ESP.Calculate.SpecificLists.GetPlayersNoSpecsNoIllusionsNoNull().Where(player => player.PlayerSteamID.ToString() == foo.ToString() && Variables.me.Player.PlayerSteamID.ToString() != foo.ToString()))
                {
                    Game.ExecuteCommand("say \".h.ello.\"");
                }
            }
            if (!Game.IsInGame || Variables.me == null)
            {
                Variables.inGame = false;
                if (Variables.HookCounter > 0)
                {
                    Print.Info(string.Format("You hooked {0} enemies", Variables.HookCounter));
                }
                Print.Encolored(Variables.UnloadMessage, ConsoleColor.Yellow);
                return;
            }
            #endregion



            //Get players
            var           players = ESP.Calculate.SpecificLists.GetPlayersNoSpecsNoIllusionsNoNull(); //Get Players
            List <Player> pla     = players;
            if (!players.Any())
            {
                return;
            }

            //Reset runes after waiting time



            Variables.Settings.Skill_Shot_Notifier_Value.val = 0;

            if (Variables.Settings.Skill_Shot_Notifier_Value.val == 0)
            {
                ESP.Draw.Enemy.SkillShotDisplay(); //Draw global skill shots
            }
            Variables.EnemyIndex = 0;
            int enemyIndex = 0;
            foreach (var enemy in ESP.Calculate.SpecificLists.EnemyHeroNotIllusion(players))
            {
                if (enemy.Player.Hero.IsAlive && enemy.Player.Hero.IsVisible)
                {
                    Variables.Settings.Enemy_Tracker_Value.val = 0;
                    if (Variables.Settings.Enemy_Tracker_Value.val == 0)
                    {
                        Variables.EnemyTracker[enemyIndex].EnemyTracker     = enemy;
                        Variables.EnemyTracker[enemyIndex].RelativeGameTime = (int)Game.GameTime;
                    }

                    if (enemy.Distance2D(ObjectMgr.LocalHero) <= 2000)
                    {
                        ESP.Draw.Enemy.basic(enemy);
                        if (Variables.me.Name == "npc_dota_hero_pudge")
                        {
                            HookHandler.main(enemy);
                            ESP.Draw.Enemy.pudge(enemy);
                            if (ESP.Calculate.Enemy.isMoving(enemy.Position, Variables.EnemyIndex))
                            {
                                try
                                {
                                    if (Variables.Settings.Prediction_Box_Value.val == 0)
                                    {
                                        HookHandler.PredictClass predict = HookHandler.getPrediction(Variables.me, enemy, Variables.PredictMethod);
                                        if (predict.PredictedLocation != Vector2.Zero)
                                        {
                                            ESP.Draw.Enemy.PredictionBox(predict, Color.Red);
                                        }
                                    }
                                }
                                catch { }
                            }
                            else
                            {
                                if (Variables.Settings.Auto_Hook_Value.val == 0)
                                {
                                    var closest = ESP.Calculate.Enemy.ClosestToMouse(Variables.me, 1400);
                                    if (closest != null && closest.Player.Name == enemy.Player.Name)
                                    {
                                        ESP.Draw.Enemy.Info(enemy, "Locked [e]", 5, Color.DarkOrange, FontFlags.Outline | FontFlags.AntiAlias);
                                        if (Variables.HookForMe && Utils.SleepCheck("hook"))
                                        {
                                            Variables.me.Spellbook.SpellQ.UseAbility(enemy.Position);
                                            // Print.Info(enemy.Name);
                                            Print.Info("Hooking for you.");
                                            Utils.Sleep(1000, "hook");
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Variables.EnemiesPos[Variables.EnemyIndex] = enemy.Position;
                    Variables.EnemyIndex++;
                }
            }
        }
Exemple #2
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (Variables.Settings.ShowMenu)
            {
                ESP.Draw.Interface.Render();
                if (Variables.Settings.Save_Value.val == 1)
                {
                    Variables.Settings.Save_Value.val = 0;
                    GlobalClasses.SaveConfig();
                }
            }
            #region Fundamentals
            Variables.me = ObjectMgr.LocalHero;
            if (!Variables.inGame)
            {
                if (!Game.IsInGame || Variables.me == null)
                {
                    return;
                }
                Variables.inGame      = true;
                Variables.visibleGlow = new ParticleEffect(Variables.visibleParticleEffect, Variables.me);
                Print.Success(Variables.LoadMessage);
                Variables.HookCounter         = 0;
                Variables.WindowWidth         = GlobalClasses.GetWidth();
                Variables.ToolTipActivationY  = Variables.ToolTipActivationYRatio * GlobalClasses.GetHeight();
                Variables.ToolTipRadiantStart = Variables.RadiantStartRatio * Variables.WindowWidth;
                Variables.ToolTipDireStart    = Variables.DireStartRatio * Variables.WindowWidth;
                Variables.TeamGap             = Variables.GapRatio * Variables.WindowWidth;
                Variables.HeroIconWidth       = Variables.TeamGap / 5;
            }
            if (!Game.IsInGame || Variables.me == null)
            {
                Variables.inGame = false;
                if (Variables.HookCounter > 0)
                {
                    Print.Info(string.Format("You hooked {0} enemies", Variables.HookCounter));
                }
                Print.Encolored(Variables.UnloadMessage, ConsoleColor.Yellow);
                return;
            }
            #endregion

            /// <summary>
            /// Get or reset runes after the countdown of the appearance of a new rune.
            /// Draw notification of when to hook friendly to bring them back.
            /// Draw player information from icon bar
            /// Automatically cast spells.
            /// </summary>


            //Get players
            var           players = ESP.Calculate.SpecificLists.GetPlayersNoSpecsNoIllusionsNoNull(); //Get Players
            List <Player> pla     = players;
            if (!players.Any())
            {
                return;
            }

            //Ensage.Common.Prediction.DrawPredictions();
            //Reset runes after waiting time
            if (Variables.Settings.Rune_Tracker_Value.val == 0)
            {
                Variables.TimeTillNextRune = 120 - ((int)Game.GameTime % 120);
                if (Utils.SleepCheck("runeResetAntiSpam"))
                {
                    RuneHandler.ResetRunes();
                }
                if (Utils.SleepCheck("runeCheck"))
                {
                    RuneHandler.GetRunes();
                }
            }


            if (Variables.DeveloperMode)
            {
                if (Variables.hookData.Enabled)
                {
                    Drawing.DrawText("Prediction", Variables.hookData.Prediction2D, Color.Cyan, FontFlags.Outline | FontFlags.AntiAlias);
                }
                foreach (var ent in ESP.Calculate.SpecificLists.EnemyHeroNotIllusion(players))
                {
                    Drawing.DrawText("HERE", Drawing.WorldToScreen(GlobalClasses.PredictXYZ(ent, 1000f)), Color.Red, FontFlags.Outline | FontFlags.AntiAlias);
                }
                if (Variables.HookLocationDrawer)
                {
                    Drawing.DrawText("HOOKED HERE", Variables.AutoHookLocation, Color.Red, FontFlags.AntiAlias | FontFlags.Outline);
                    Drawing.DrawText("ENEMY WAS HERE", Variables.EnemyLocation, Color.Red, FontFlags.AntiAlias | FontFlags.Outline);
                    Drawing.DrawText("PREDICTION", Variables.PredictionLocation, Color.Cyan, FontFlags.AntiAlias | FontFlags.Outline);
                }
            }
            ESP.Draw.Notifier.Backdrop(10, 47, 120, 53, new Color(0, 0, 0, 200));
            //Get runes
            if (Variables.Settings.Rune_Tracker_Value.val == 0)
            {
                var topRune = RuneHandler.GetRuneType(Variables.TopRune);
                var botRune = RuneHandler.GetRuneType(Variables.BottomRune);
                ESP.Draw.Notifier.Info("Top:", Color.Green, 0);
                ESP.Draw.Notifier.Info(topRune.RuneType, topRune.color, 0, 6 * 4);
                ESP.Draw.Notifier.Info("Bot:", Color.Green, 1);
                ESP.Draw.Notifier.Info(botRune.RuneType, botRune.color, 1, 6 * 4);
            }
            else
            {
                ESP.Draw.Notifier.Info("Disabled", Color.Red, 0);
                ESP.Draw.Notifier.Info("Disabled", Color.Red, 1);
            }
            //Draw ESP
            if (Variables.Settings.Last_Hit_Notifier_Value.val == 0) //Lasthits for creeps
            {
                ESP.Draw.LastHit.Marker(ESP.Calculate.Creeps.GetCreeps(), Variables.me);
            }

            if (Variables.Settings.Visisble_By_Enemy_Value.val <= 1) //If visible by enemy setting is either 0 or 1 (anything but disabled)
            {
                ESP.Draw.Notifier.HeroVisible();
            }

            if (Variables.Settings.Teleport_Timer_Value.val == 0 || Variables.Settings.Spirit_Breaker_Charge_Value.val < 2)
            {
                if (Variables.me.Name == "npc_dota_hero_pudge")
                {
                    foreach (var friendly in ESP.Calculate.SpecificLists.TeamMates(players)) //Team mates & myself
                    {
                        if (Variables.Settings.Spirit_Breaker_Charge_Value.val == 1)
                        {
                            ESP.Draw.Notifier.SpiritBreakerCharge(friendly);
                        }
                        if (friendly.Player.Name != Variables.me.Player.Name) //only teammates
                        {
                            if (Variables.Settings.Visisble_By_Enemy_Value.val == 0)
                            {
                                ESP.Draw.Notifier.FriendlyVisible(friendly);
                            }
                            if (Variables.Settings.Teleport_Timer_Value.val == 0)
                            {
                                ESP.Draw.TeleportCancel(friendly); //Draw notification of when to hook friendly to bring them back
                            }
                        }
                    }
                }
            }
            if (Variables.Settings.Inventory_Tracker_Value.val == 0)
            {
                if (Game.MouseScreenPosition.Y <= Variables.ToolTipActivationY) //Top tool tip bar
                {
                    if (Game.MouseScreenPosition.X >= Variables.ToolTipRadiantStart && Game.MouseScreenPosition.X <= Variables.ToolTipRadiantStart + Variables.TeamGap || Game.MouseScreenPosition.X >= Variables.ToolTipDireStart && Game.MouseScreenPosition.X <= Variables.ToolTipDireStart + Variables.TeamGap)
                    {
                        ESP.Draw.Notifier.SelectedHeroTop(ESP.Calculate.Mouse.SelectedHero((int)Game.MouseScreenPosition.X));
                    }
                }
            }


            if (Variables.me.Name == "npc_dota_hero_storm_spirit") //Cast storm ult on current position when E is pressed
            {
                if (Variables.HookForMe && Utils.SleepCheck("stormUlt"))
                {
                    Variables.me.Spellbook.SpellR.UseAbility(Variables.me.Position);
                    Utils.Sleep(250, "stormUlt");
                }
            }
            if (Variables.Settings.Skill_Shot_Notifier_Value.val == 0)
            {
                ESP.Draw.Enemy.SkillShotDisplay(); //Draw global skill shots
            }
            Variables.EnemyIndex = 0;
            int enemyIndex = 0;
            foreach (var enemy in ESP.Calculate.SpecificLists.EnemyHeroNotIllusion(players))
            {
                if (enemy.Player.Hero.IsAlive && enemy.Player.Hero.IsVisible)
                {
                    if (Variables.Settings.Enemy_Skills_Value.val < 2)
                    {
                        ESP.Draw.Enemy.Skills(enemy); //Show advanced cool downs
                    }
                    if (Variables.Settings.Enemy_Tracker_Value.val == 0)
                    {
                        Variables.EnemyTracker[enemyIndex].EnemyTracker     = enemy;
                        Variables.EnemyTracker[enemyIndex].RelativeGameTime = (int)Game.GameTime;
                    }
                    if (Variables.me.Name == "npc_dota_hero_zuus") //Zeus light
                    {
                        ESP.Draw.Enemy.zeus(enemy);
                    }
                    if (enemy.Distance2D(ObjectMgr.LocalHero) <= 2000)
                    {
                        ESP.Draw.Enemy.basic(enemy);
                        if (Variables.me.Name == "npc_dota_hero_pudge")
                        {
                            HookHandler.main(enemy);
                            ESP.Draw.Enemy.pudge(enemy);
                            if (ESP.Calculate.Enemy.isMoving(enemy.Position, Variables.EnemyIndex))
                            {
                                try
                                {
                                    if (Variables.Settings.Prediction_Box_Value.val == 0)
                                    {
                                        HookHandler.PredictClass predict = HookHandler.getPrediction(Variables.me, enemy, Variables.PredictMethod);
                                        if (predict.PredictedLocation != Vector2.Zero)
                                        {
                                            ESP.Draw.Enemy.PredictionBox(predict, Color.Black);
                                        }
                                    }

                                    /*   else if (Variables.Settings.Prediction_Box_Value.val == 1)
                                     * {
                                     *     try
                                     *     {
                                     *
                                     *         Ensage.Common.Prediction.DrawPredictions();
                                     *     }
                                     *     catch
                                     *     { }
                                     * }*/
                                }
                                catch { }
                            }
                            else
                            {
                                if (Variables.Settings.Auto_Hook_Value.val == 0)
                                {
                                    var closest = ESP.Calculate.Enemy.ClosestToMouse(Variables.me, 1600);
                                    if (enemy.NetworkName == Variables.HookingTarget)
                                    {
                                        if (Utils.SleepCheck("hook"))
                                        {
                                            Variables.Hooking           = false;
                                            Variables.HookingTarget     = "";
                                            Variables.HookingStartedOOR = false;
                                            goto BYPASS;
                                        }
                                        int bonus = 0;
                                        if (Variables.AetherLens)
                                        {
                                            bonus = 200;
                                        }
                                        if (!Variables.HookingStartedOOR)
                                        {
                                            if (Variables.me.Distance2D(enemy) > (Variables.me.Spellbook.Spell1.CastRange + 80 + Variables.AetherBonus))
                                            {
                                                Variables.me.Stop();
                                                Variables.Hooking           = false;
                                                Variables.HookingTarget     = "";
                                                Variables.HookingStartedOOR = false;

                                                Print.Error("Out of range detected, Hook Cancelled");
                                            }
                                        }
                                    }
BYPASS:
                                    if (closest != null && closest.Player.Name == enemy.Player.Name)
                                    {
                                        ESP.Draw.Enemy.Info(enemy, "Locked [e]", 5, Color.DarkOrange, FontFlags.Outline | FontFlags.AntiAlias);
                                        if (Variables.HookForMe && Utils.SleepCheck("hook"))
                                        {
                                            Variables.HookingTarget = enemy.NetworkName;
                                            Variables.Hooking       = true;
                                            if (Variables.me.Distance2D(enemy) > (Variables.me.Spellbook.Spell1.CastRange + 80 + Variables.AetherBonus))
                                            {
                                                Variables.HookingStartedOOR = true;
                                            }
                                            Variables.me.Spellbook.SpellQ.UseAbility(enemy.Position);
                                            // Print.Info(enemy.Name);
                                            Print.Info("Hooking Stationary Target");
                                            Utils.Sleep(1000, "hook");
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Variables.EnemiesPos[Variables.EnemyIndex] = enemy.Position;
                    Variables.EnemyIndex++;
                }
                else if (Variables.EnemyTracker[enemyIndex].EnemyTracker != null) //Draw last known direction
                {
                    if (Variables.Settings.Enemy_Tracker_Value.val == 0)
                    {
                        ESP.Draw.Enemy.LastKnownPosition(enemy, enemyIndex);
                    }
                }
                enemyIndex++;
            }
        }