private void UpdateHero() { var obsCount = ObserversCount; var sentCount = SentriesCount; if (Observers > obsCount) { if (!WardGiven && !WardDropped(ClassID.CDOTA_Item_ObserverWard)) { MapWard.Add(Hero, ClassID.CDOTA_NPC_Observer_Ward); } Observers = obsCount; } else if (Observers < obsCount && !WardTaken) { Observers = obsCount; } if (Sentries > sentCount) { if (!WardGiven && !WardDropped(ClassID.CDOTA_Item_SentryWard)) { MapWard.Add(Hero, ClassID.CDOTA_NPC_Observer_Ward_TrueSight); } Sentries = sentCount; } else if (Sentries < sentCount && !WardTaken) { Sentries = sentCount; } }
private static void Game_OnUpdate(EventArgs args) { if (!Utils.SleepCheck("VisionControl.Delay")) { return; } if (!inGame) { Hero = ObjectManager.LocalHero; if (!Game.IsInGame || Hero == null) { Utils.Sleep(1000, "VisionControl.Delay"); return; } Heroes.GetByTeam(Team.Radiant); MapWard.Clear(); HeroWard.Clear(); inGame = true; } if (!Game.IsInGame) { inGame = false; return; } if (Menu.Item("enabled").GetValue <bool>()) { HeroWard.Update(); MapWard.Update(); } Utils.Sleep(333, "VisionControl.Delay"); }
private static void Main() { Menu.AddItem(new MenuItem("enabled", "Enabled").SetValue(true)) .ValueChanged += (sender, arg) => { MapWard.ChangeParticles(arg.GetNewValue <bool>()); }; Menu.AddItem(new MenuItem("minimap", "Show on minimap").SetValue(true)); Menu.AddItem(new MenuItem("size", "Map icon size").SetValue(new Slider(4, 2, 8))); Menu.AddItem(new MenuItem("minimapSize", "Minimap icon size").SetValue(new Slider(5, 2, 10))) .ValueChanged += (sender, arg) => { MapWard.ChangeMinimapWardPosition(arg.GetNewValue <Slider>().Value); }; Menu.AddItem(new MenuItem("hide", "Smart icon hide").SetValue(true) .SetTooltip("Ward icon will be hidden if enemy ward is visible")) .ValueChanged += (sender, arg) => { MapWard.ResetIconHide(arg.GetNewValue <bool>()); }; Menu.AddItem(new MenuItem("notification", "Notification").SetValue(true) .SetTooltip("Shows side message when enemy placed ward")); Menu.AddItem(new MenuItem("size", "Icon size").SetValue(new Slider(4, 2, 8))); var rangesMenu = new Menu("Ward ranges", "rangesMenu"); rangesMenu.AddItem(new MenuItem("enabledRanges", "Show ranges").SetValue(true)) .ValueChanged += (sender, arg) => { MapWard.ChangeParticles(arg.GetNewValue <bool>(), true); }; rangesMenu.AddItem(new MenuItem("observer", "Observer colors")); rangesMenu.AddItem(new MenuItem("red", "Red").SetValue(new Slider(255, 0, 255))) .SetFontStyle(fontColor: Color.IndianRed) .ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward, Color.Red, arg.GetNewValue <Slider>().Value); }; rangesMenu.AddItem(new MenuItem("green", "Green").SetValue(new Slider(255, 0, 255))) .SetFontStyle(fontColor: Color.LightGreen) .ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward, Color.Green, arg.GetNewValue <Slider>().Value); }; rangesMenu.AddItem(new MenuItem("blue", "Blue").SetValue(new Slider(0, 0, 255))) .SetFontStyle(fontColor: Color.LightBlue).ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward, Color.Blue, arg.GetNewValue <Slider>().Value); }; rangesMenu.AddItem(new MenuItem("sentry", "Sentry colors")); rangesMenu.AddItem(new MenuItem("redS", "Red").SetValue(new Slider(0, 0, 255))) .SetFontStyle(fontColor: Color.IndianRed) .ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward_TrueSight, Color.Red, arg.GetNewValue <Slider>().Value); }; rangesMenu.AddItem(new MenuItem("greenS", "Green").SetValue(new Slider(135, 0, 255))) .SetFontStyle(fontColor: Color.LightGreen) .ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward_TrueSight, Color.Green, arg.GetNewValue <Slider>().Value); }; rangesMenu.AddItem(new MenuItem("blueS", "Blue").SetValue(new Slider(255, 0, 255))) .SetFontStyle(fontColor: Color.LightBlue).ValueChanged += (sender, arg) => { MapWard.ChangeColor(ClassID.CDOTA_NPC_Observer_Ward_TrueSight, Color.Blue, arg.GetNewValue <Slider>().Value); }; var timerMenu = new Menu("Ward timers", "timerMenu"); timerMenu.AddItem(new MenuItem("enabledTimer", "Show timers").SetValue(true)); timerMenu.AddItem(new MenuItem("sizeTimer", "Text size").SetValue(new Slider(4, 2, 8))); timerMenu.AddItem(new MenuItem("timer", "Timer colors")); timerMenu.AddItem(new MenuItem("redT", "Red").SetValue(new Slider(0, 0, 255))) .SetFontStyle(fontColor: Color.IndianRed); timerMenu.AddItem(new MenuItem("greenT", "Green").SetValue(new Slider(255, 0, 255))) .SetFontStyle(fontColor: Color.LightGreen); timerMenu.AddItem(new MenuItem("blueT", "Blue").SetValue(new Slider(0, 0, 255))) .SetFontStyle(fontColor: Color.LightBlue); Menu.AddSubMenu(rangesMenu); Menu.AddSubMenu(timerMenu); Menu.AddToMainMenu(); Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; }