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++; } } }
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++; } }