AddSubMenu() public method

The add sub menu.
public AddSubMenu ( Menu subMenu ) : Menu
subMenu Menu /// The sub menu. ///
return Menu
Example #1
0
        public MenuManager()
        {
            menu = new Menu("Vision Control", "visionControl", true);

            var unitsMenu = new Menu("Enabeld", "enabled");
            var rangesMenu = new Menu("Show ranges", "showRanges");
            var timersMenu = new Menu("Show timers", "showTimers");

            var units = Variables.Units.ToDictionary(x => x.Key, x => true);
            var ranges = new Dictionary<string, bool>(units);
            var timers = new Dictionary<string, bool>
            {
                { "techies_stasis_trap", true },
                { "techies_remote_mines", true },
                { "pugna_nether_ward", true },
                { "undying_tombstone", true },
                { "venomancer_plague_ward", true },
                { "item_ward_sentry", true },
                { "item_ward_observer", true }
            };

            unitsMenu.AddItem(enabled = new MenuItem("enabled", "For:").SetValue(new AbilityToggler(units)));

            rangesMenu.AddItem(
                enabledRanges = new MenuItem("enabledRanges", "For:").SetValue(new AbilityToggler(ranges)));

            timersMenu.AddItem(
                enabledTimers = new MenuItem("enabledTimers", "For:").SetValue(new AbilityToggler(timers)));

            menu.AddSubMenu(unitsMenu);
            menu.AddSubMenu(rangesMenu);
            menu.AddSubMenu(timersMenu);
            menu.AddToMainMenu();
        }
Example #2
0
        public static void Init()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var settings = new Menu("Settings", "Settings");
            var orb = new Menu("Orbwalking", "Orbwalking");
            var invisibility = new Menu("Invisibility", "Invis", false, "item_silver_edge", true);
            orb.AddItem(new MenuItem("Orbwalking.Enable", "Enable").SetValue(true));
            orb.AddItem(new MenuItem("Orbwalking.FollowTarget", "Follow Target instead of mouse").SetValue(true));
            orb.AddItem(new MenuItem("Orbwalking.WhileTargetInStun", "Do Not Use orbwalking if target is stunned").SetValue(true));
            settings.AddItem(
                new MenuItem("Combo.Enable", "Combo key").SetValue(new KeyBind('D', KeyBindType.Press))).ValueChanged +=
                Core.OnValueChanged;
            var draw = new Menu("Drawing", "Drawing");
            draw.AddItem(new MenuItem("Range.Blink.Enable", "Draw range for Blink").SetValue(true)).ValueChanged +=
                (sender, args) =>
                {
                    if (args.GetNewValue<bool>())
                    {
                        Members.BlinkRange =
                            Members.MyHero.AddParticleEffect("materials/ensage_ui/particles/range_display_mod.vpcf");
                        var range = 1200;
                        Members.BlinkRange.SetControlPoint(1, new Vector3(range, 255, 0));
                        Members.BlinkRange.SetControlPoint(2, new Vector3(0, 155, 255));
                    }
                    else
                    {
                        if (Members.BlinkRange != null && Members.BlinkRange.IsValid && !Members.BlinkRange.IsDestroyed)
                            Members.BlinkRange.Dispose();
                    }
                };
            var items = new Menu("Using", "Items");

            items.AddItem(
                new MenuItem("abilityEnable", "Abilities in combo:").SetValue(
                    new AbilityToggler(Members.AbilityList.ToDictionary(item => item, item => true))));
            items.AddItem(
                new MenuItem("itemEnable", "Items in combo:").SetValue(
                    new AbilityToggler(new Dictionary<string, bool>())));
            items.AddItem(
                new MenuItem("itemEnableLinken", "Linken breaker:").SetValue(
                    new AbilityToggler(new Dictionary<string, bool>())));
            invisibility.AddItem(new MenuItem("UseHealBeforeInvis.Enable", "Use heal before invis").SetValue(true));
            invisibility.AddItem(
                new MenuItem("InvisRange.value", "Nin distance for cast invis/heal/items").SetValue(
                    new Slider(1500, 500, 3500)));
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            Members.Menu.AddSubMenu(settings);
            settings.AddSubMenu(items);
            items.AddSubMenu(invisibility);
            settings.AddSubMenu(orb);
            settings.AddSubMenu(draw);
            Members.Menu.AddSubMenu(devolper);
            Members.Menu.AddToMainMenu();
            if (Members.Menu.Item("Range.Blink.Enable").GetValue<bool>())
            {
                Members.Menu.Item("Range.Blink.Enable").SetValue(false);
                Members.Menu.Item("Range.Blink.Enable").SetValue(true);
            }
        }
Example #3
0
        public static void Init()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var settings = new Menu("Settings", "Settings");
            var orb = new Menu("Orbwalking", "Orbwalking");
            orb.AddItem(new MenuItem("Orbwalking.Enable", "Enable").SetValue(true));
            orb.AddItem(new MenuItem("Orbwalking.FollowTarget", "Follow Target instead of mouse").SetValue(true));
            orb.AddItem(new MenuItem("Orbwalking.WhileTargetInStun", "Do Not Use orbwalking if target is stunned").SetValue(true));
            settings.AddItem(
                new MenuItem("Combo.Enable", "Combo key").SetValue(new KeyBind('D', KeyBindType.Press))).ValueChanged +=
                Core.OnValueChanged;
            var draw = new Menu("Drawing", "Drawing");
            draw.AddItem(new MenuItem("Range.Shackle.Enable", "Draw range for Shackle").SetValue(true)).ValueChanged +=
                (sender, args) =>
                {
                    if (args.GetNewValue<bool>())
                    {
                        Members.ShacklRange =
                            Members.MyHero.AddParticleEffect("materials/ensage_ui/particles/range_display_mod.vpcf");
                        var range = 800;
                        Members.ShacklRange.SetControlPoint(1, new Vector3(range, 255, 0));
                        Members.ShacklRange.SetControlPoint(2, new Vector3(0, 155, 255));
                    }
                    else
                    {
                        if (Members.ShacklRange != null && Members.ShacklRange.IsValid && !Members.ShacklRange.IsDestroyed)
                            Members.ShacklRange.Dispose();
                    }
                };
            draw.AddItem(new MenuItem("Range.ShackleAoE.Enable", "Draw range for Shackle's AoE").SetValue(true));
            draw.AddItem(new MenuItem("Range.Lines.Enable", "Draw Lines").SetValue(true));

            var items = new Menu("Using", "Items");

            items.AddItem(
                new MenuItem("abilityEnable", "Abilities in combo:").SetValue(
                    new AbilityToggler(Members.AbilityList.ToDictionary(item => item, item => true))));
            items.AddItem(
                new MenuItem("itemEnable", "Items in combo:").SetValue(
                    new AbilityToggler(new Dictionary<string, bool>())));
            items.AddItem(
                new MenuItem("itemEnableLinken", "Linken breaker:").SetValue(
                    new AbilityToggler(new Dictionary<string, bool>())));
            items.AddItem(new MenuItem("Blink.UltimateCheck", "Blink on ultimate range").SetValue(true));
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.DebugLines.enable", "Draw lines").SetValue(false));
            Members.Menu.AddSubMenu(settings);
            settings.AddSubMenu(items);
            settings.AddSubMenu(orb);
            settings.AddSubMenu(draw);
            Members.Menu.AddSubMenu(devolper);
            Members.Menu.AddToMainMenu();
            if (Members.Menu.Item("Range.Shackle.Enable").GetValue<bool>())
            {
                Members.Menu.Item("Range.Shackle.Enable").SetValue(false);
                Members.Menu.Item("Range.Shackle.Enable").SetValue(true);
            }
        }
Example #4
0
        private static void Main()
        {
            var herofeeder = new Menu("Hero Feeder", "Hero");

            herofeeder.AddItem(new MenuItem("Hero.Enable", "Enable Hero feeder").SetValue(false)).DontSave();
            herofeeder.AddItem(new MenuItem("Hero.Type", "Feed Type:").SetValue(new StringList(new[] { "attack every creep on midlane", "go to the enemy base" })));
            herofeeder.AddItem(new MenuItem("Hero.Cd", "Order rate").SetValue(new Slider(500, 100, 2000)));

            var courSelection = new Menu("Courier Selection", "cour");

            courSelection.AddItem(new MenuItem("Courier.Blocking.Enable", "Enable Selected Order").SetValue(false)).DontSave();
            courSelection.AddItem(new MenuItem("Courier.Cd", "Rate").SetValue(new Slider(50, 5, 200)));
            courSelection.AddItem(new MenuItem("Courier.MaxRange", "Max Range").SetValue(new Slider(500, 0, 2000)));
            courSelection.AddItem(
                new MenuItem("Courier.Order", "Courier Order:").SetValue(
                    new StringList(new[]
                                   { "blocking on base", "go to the enemy base", "move items to stash", "give items to main hero" })));

            var laugh = new Menu("laugh Selection", "laugh");

            laugh.AddItem(new MenuItem("laugh.Enable", "Enable laugh").SetValue(false));
            laugh.AddItem(new MenuItem("laugh.Cd", "Rate").SetValue(new Slider(20, 20))).SetTooltip("in secs");
            laugh.AddItem(new MenuItem("laugh.Message", "Print Message on laught").SetValue(false).SetTooltip("only for you"));

            var drawing = new Menu("Spam Drawing", "spamDrawing");

            drawing.AddItem(new MenuItem("Drawing.Fully.Enable", "Fully Enable").SetValue(false));
            drawing.AddItem(new MenuItem("Drawing.info", "Working only with ctrl hotkey").SetFontColor(Color.Red));
            drawing.AddItem(new MenuItem("Drawing.Enable", "Enable Spam Drawing").SetValue(new KeyBind(0x11, KeyBindType.Press)).SetTooltip("on minimap").DontSave()).ValueChanged += Program_ValueChanged;


            drawing.AddItem(new MenuItem("Drawing.Speed", "Speed").SetValue(new Slider(1, 1, 10)));
            drawing.AddItem(new MenuItem("Drawing.Cd", "Rate").SetValue(new Slider(1, 1, 1000)));


            Menu.AddSubMenu(herofeeder);
            Menu.AddSubMenu(courSelection);
            Menu.AddSubMenu(laugh);
            Menu.AddSubMenu(drawing);
            Menu.AddToMainMenu();

            Events.OnLoad += (sender, args) =>
            {
                MyHero         = ObjectManager.LocalHero;
                Game.OnUpdate += Game_OnUpdate;
                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                _fountain  = null;
                _fountain2 = null;
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Game_OnUpdate;
            };
        }
Example #5
0
        public static void MenuInit()
        {
            heroName = "npc_dota_hero_skywrath_mage";
            Menu = new Menu(AssemblyName, AssemblyName, true, heroName, true);
            comboKey = new MenuItem("comboKey", "Combo Key").SetValue(new KeyBind(70, KeyBindType.Press));
            harassKey = new MenuItem("harassKey", "Harass Key").SetValue(new KeyBind(68, KeyBindType.Press));
            useBlink = new MenuItem("useBlink", "Use Blink Dagger").SetValue(false).SetTooltip("Auto-blink to target when Combo key is pressed.");
            soulRing = new MenuItem("soulRing", "Soulring").SetValue(true).SetTooltip("Use soulring before use the combo if your HP is greater than 150.");
            bladeMail = new MenuItem("bladeMail", "Check for BladeMail").SetValue(false);
            drawTarget = new MenuItem("drawTarget", "Target indicator").SetValue(true);
            moveMode = new MenuItem("moveMode", "Orbwalk").SetValue(true);
            predictionType = new MenuItem("predictionType", "Ultimate prediction").SetValue(new StringList(new[] { "InFront", "By MS/Direction"}));
            ezKillCheck = new MenuItem("ezKillCheck", "Check for EZ Kill").SetValue(true).SetTooltip("Check if an enemy is ez-killable (low-mana costs and the fastest way to slay an enemy).");
            ezKillStyle = new MenuItem("ezKillIndicator", "Indicator style").SetValue(new StringList(new[] {"Icon", "Text"}));
            straightTimeCheck = new MenuItem("straightTimeCheck", "Straight time before ulti").SetValue(new Slider(0, 0, 2)).SetTooltip("At least time enemy's moving in straight before casting ulti.");
            ClosestToMouseRange = new MenuItem("ClosestToMouseRange", "Closest to mouse range").SetValue(new Slider(600, 500, 1200)).SetTooltip("Range that makes assembly checking for enemy in selected range.");
            nocastulti = new MenuItem("noCastUlti", "Do not use ulti if % of enemy's HP is below: ").SetValue(new Slider(35));


            noCastUlti = new Menu("Ultimate usage", "Ultimate usage");
            magicItems = new Menu("Magic Damage Items", "Magic Damage Items");
            popLinkensItems = new Menu("Pop Linkens Items", "Pop Linkens Items");
            abilities = new Menu("Abilities", "Abilities");
            ezkillmenu = new Menu("EZkill Menu", "ezkillmenu");
            
            Menu.AddItem(comboKey);
            Menu.AddItem(harassKey);
            Menu.AddItem(useBlink);
            Menu.AddItem(soulRing);
            Menu.AddItem(bladeMail);
            Menu.AddItem(drawTarget);
            Menu.AddItem(moveMode);
            Menu.AddItem(predictionType);
            Menu.AddItem(straightTimeCheck);
            Menu.AddItem(ClosestToMouseRange);

            Menu.AddSubMenu(magicItems);
            Menu.AddSubMenu(popLinkensItems);
            Menu.AddSubMenu(abilities);
            Menu.AddSubMenu(noCastUlti);
            Menu.AddSubMenu(ezkillmenu);

            magicItems.AddItem(
                new MenuItem("magicItems", "Magic Damage").SetValue(
                    new AbilityToggler(magicItemsDictionary)));
            popLinkensItems.AddItem(
                new MenuItem("popLinkensItems", "Pop Linken's Items").SetValue(
                    new AbilityToggler(popLinkensDictionary)));
            abilities.AddItem(new MenuItem("abilities", "Abilities").SetValue(
                new AbilityToggler(abilitiesDictionary)));

            noCastUlti.AddItem(nocastulti);

            ezkillmenu.AddItem(ezKillCheck);
            ezkillmenu.AddItem(ezKillStyle);

            Menu.AddToMainMenu();
        }
Example #6
0
        public RandomiserMenu(Menu rootMenu)
        {
            var menu = new Menu("Randomiser", "randomiser");

            var enabled =
                new MenuItem("enabled", "Enabled").SetValue(false)
                    .SetTooltip("Will intentionally fail to counter abilities");
            menu.AddItem(enabled);
            enabled.ValueChanged += (sender, args) => Enabled = args.GetNewValue<bool>();
            Enabled = enabled.IsActive();

            var nukesOnly =
                new MenuItem("nukesOnly", "Nukes only").SetValue(true)
                    .SetTooltip(
                        "If enabled, only nukes will be randomised and disable abilities will always be countered");
            menu.AddItem(nukesOnly);
            nukesOnly.ValueChanged += (sender, args) => NukesOnly = args.GetNewValue<bool>();
            NukesOnly = nukesOnly.IsActive();

            var failChance = new MenuItem("failChance", "Fail chance").SetValue(new Slider(20, 5, 50));
            menu.AddItem(failChance);
            failChance.ValueChanged += (sender, args) => FailChance = args.GetNewValue<Slider>().Value;
            FailChance = failChance.GetValue<Slider>().Value;

            rootMenu.AddSubMenu(menu);
        }
Example #7
0
        public ManaChecker(Menu mainMenu)
        {
            var menu = new Menu("Mana Combo Checker", "manaChecker", false, "item_energy_booster", true);
            var heroName = Variables.Hero.Name;

            menu.AddItem(enabled = new MenuItem(heroName + "enabledMC", "Enabled").SetValue(false))
                .SetTooltip("Don't forget to change text position");
            menu.AddItem(enabledAbilities = new MenuItem(heroName + "enabledMCAbilities", "Enabled for"))
                .SetValue(abilityToggler = new AbilityToggler(abilities));
            menu.AddItem(
                manaInfo =
                    new MenuItem("mcManaInfo", "Show mana info").SetValue(true)
                        .SetTooltip("Will show how much mana left/needed after/before casting combo"));
            menu.AddItem(
                ptMana =
                    new MenuItem("mcPTcalculations", "Include PT calculations").SetValue(true)
                        .SetTooltip("Will include in calculations mana gained from Power Treads switching"));
            menu.AddItem(textSize = new MenuItem("mcSize", "Text size").SetValue(new Slider(25, 20, 40)));

            var x = (int)HUDInfo.ScreenSizeX();
            var y = (int)HUDInfo.ScreenSizeY();

            menu.AddItem(xPos = new MenuItem("mcX", "Position X").SetValue(new Slider((int)(x * 0.65), 0, x)));
            menu.AddItem(yPos = new MenuItem("mcY", "Position Y").SetValue(new Slider((int)(y * 0.8), 0, y)));

            mainMenu.AddSubMenu(menu);
        }
Example #8
0
        public PowerTreads(Menu mainMenu)
        {
            var menu = new Menu("Power Treads Switcher", "ptSwitcher", false, "item_power_treads", true);
            var heroName = Variables.Hero.Name;

            menu.AddItem(enabled = new MenuItem(heroName + "enabledPT", "Enabled").SetValue(true));
            menu.AddItem(enabledAbilities = new MenuItem(heroName + "enabledPTAbilities", "Enabled for"))
                .SetValue(abilityToggler = new AbilityToggler(abilities));
            menu.AddItem(
                    switchOnMove =
                        new MenuItem(heroName + "switchPTonMove", "Switch when moving").SetValue(
                            new StringList(Attributes.Keys.ToArray())))
                .SetTooltip("Switch PT to selected attribute when moving");
            menu.AddItem(
                    switchOnAttack =
                        new MenuItem(heroName + "switchPTonAttack", "Swtich when attacking").SetValue(
                            new StringList(Attributes.Keys.ToArray())))
                .SetTooltip("Switch PT to selected attribute when attacking");
            menu.AddItem(switchOnHeal = new MenuItem(heroName + "switchPTHeal", "Swtich when healing").SetValue(true))
                .SetTooltip("Bottle, flask, tango and some hero spells");
            menu.AddItem(
                manaThreshold =
                    new MenuItem("manaPTThreshold", "Mana cost threshold").SetValue(new Slider(15, 0, 50))
                        .SetTooltip("Don't switch PT if spell/Item costs less mana"));
            menu.AddItem(
                autoDisableTime =
                    new MenuItem(heroName + "autoPTdisable", "Auto disable PT switcher after (mins)").SetValue(
                        new Slider(0, 0, 60)));

            mainMenu.AddSubMenu(menu);
        }
Example #9
0
        public MenuManager()
        {
            var menu = new Menu("Gold Spender", "goldSpender", true, "alchemist_goblins_greed", true);

            var nearDeathMenu = new Menu("Near death", "nearDeath");
            nearDeathMenu.AddItem(nearDeath = new MenuItem("nearDeathEnabled", "Enabled").SetValue(true));
            nearDeathMenu.AddItem(
                    nearDeathHp = new MenuItem("nearDeathHp", "HP threshold").SetValue(new Slider(150, 1, 500)))
                .SetTooltip("Buy items if you have less HP");
            nearDeathMenu.AddItem(
                    nearDeathHpPercentage =
                        new MenuItem("nearDeathHpPercent", "HP threshold %").SetValue(new Slider(20, 1, 99)))
                .SetTooltip("Buy items if you have less HP in %");
            nearDeathMenu.AddItem(
                nearDeathEnemyDistance =
                    new MenuItem("nearDeathEnemyDistance", "Enemy distance").SetValue(new Slider(600, 0, 2000)));

            nearDeathMenu.AddItem(
                nearDeathItemsToggler =
                    new MenuItem("priorityNearDeathItemsToggler", "Enabled items").SetValue(
                        new AbilityToggler(Variables.ItemsToBuyNearDeath.ToDictionary(x => x.Key, x => true))));

            nearDeathMenu.AddItem(
                nearDeathItemsPriority =
                    new MenuItem("priorityNearDeathItemsPriority", "Items priority").SetValue(
                        new PriorityChanger(
                            Variables.ItemsToBuyNearDeath.Select(x => x.Key).ToList(),
                            "priorityChangerNearDeathItems")));

            nearDeathMenu.AddItem(
                nearDeathSaveBuyback =
                    new MenuItem("nearDeathSaveBuyback", "Save for buyback after (mins)").SetValue(
                        new Slider(30, 0, 60)));

            var autoPurchaseMenu = new Menu("Auto purchase", "autoPurchase");
            autoPurchaseMenu.AddItem(autoPurchase = new MenuItem("autoPurchaseEnabled", "Enabled").SetValue(false))
                .SetTooltip("Auto purchase items from quick buy when you are near shop");
            autoPurchaseMenu.AddItem(
                autoPurchaseSaveBuyback =
                    new MenuItem("autoPurchaseSaveBuyback", "Save for buyback after (mins)").SetValue(
                        new Slider(30, 0, 60)));

            menu.AddSubMenu(nearDeathMenu);
            menu.AddSubMenu(autoPurchaseMenu);
            menu.AddToMainMenu();
        }
Example #10
0
 static void Main(string[] args)
 {
     Ensage.Common.Menu.Menu Circle = new Ensage.Common.Menu.Menu("Circle", "circle");
     Ensage.Common.Menu.Menu Star   = new Ensage.Common.Menu.Menu("Star", "star");
     Ensage.Common.Menu.Menu Heart  = new Ensage.Common.Menu.Menu("Heart", "heart");
     Circle.AddItem(new Ensage.Common.Menu.MenuItem("circlekey", "CTRL +").SetValue(new KeyBind('1', KeyBindType.Press)));
     Circle.AddItem(new Ensage.Common.Menu.MenuItem("radius", "Radius").SetValue(new Slider(100, 15, 150)));
     Star.AddItem(new Ensage.Common.Menu.MenuItem("starkey", "CTRL +").SetValue(new KeyBind('2', KeyBindType.Press)));
     Star.AddItem(new Ensage.Common.Menu.MenuItem("starsize", "Size").SetValue(new Slider(100, 15, 150)));
     Heart.AddItem(new Ensage.Common.Menu.MenuItem("heartkey", "CTRL +").SetValue(new KeyBind('3', KeyBindType.Press)));
     Heart.AddItem(new Ensage.Common.Menu.MenuItem("heartsize", "Size").SetValue(new Slider(100, 15, 150)));
     Menu.AddSubMenu(Circle);
     Menu.AddSubMenu(Star);
     Menu.AddSubMenu(Heart);
     Menu.AddToMainMenu();
     Game.OnUpdate += Game_OnUpdate;
 }
Example #11
0
        public TranquilBoots(Menu mainMenu)
        {
            var menu = new Menu("Tranquil Abuse", "tranquilAbuse", false, "item_tranquil_boots", true);

            var drop = new Menu("Drop abuse", "dropAbuse");
            drop.AddItem(new MenuItem("dropTranquils", "Drop key").SetValue(new KeyBind('M', KeyBindType.Press)))
                .ValueChanged += (sender, args) => DropActive = args.GetNewValue<KeyBind>().Active;

            var combine = new Menu("Combine abuse", "combineAbuse");
            combine.AddItem(combineEnabled = new MenuItem("enabledCombine", "Enabled").SetValue(false))
                .SetTooltip("Don't enable it if you dont know how this abuse works");
            combine.AddItem(
                combineActive = new MenuItem("activeCombine", "Assemble").SetValue(new KeyBind('N', KeyBindType.Toggle)));

            menu.AddSubMenu(drop);
            menu.AddSubMenu(combine);

            mainMenu.AddSubMenu(menu);
        }
Example #12
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="TechiesMenu" /> class.
 /// </summary>
 public TechiesMenu()
 {
     var menu = new Menu("#TECHIES", "techies", true, "npc_dota_hero_techies", true);
     var optionsMenu = new Menu("Options", "options");
     var detonationMenu = new Menu("Auto Detonation", "autoDetonation");
     detonationMenu.AddItem(new MenuItem("autoDetonate", "Detonate on heroes").SetValue(true));
     detonationMenu.AddItem(new MenuItem("autoDetonateCreeps", "Detonate on creeps").SetValue(false));
     detonationMenu.AddItem(
         new MenuItem("autoDetonateProtection", "Detonate when enemy tries to destroy").SetValue(true)
             .SetTooltip("Detonates mine when enemy tries to kill it with auto attack or item"));
     optionsMenu.AddSubMenu(detonationMenu);
     var forceStaffMenu = new Menu("Auto ForceStaff", "autoForceStaff");
     forceStaffMenu.AddItem(new MenuItem("useForceStaff", "Use ForceStaff").SetValue(true));
     forceStaffMenu.AddItem(new MenuItem("checkRotating", "Dont use on turning enemy").SetValue(false));
     forceStaffMenu.AddItem(
         new MenuItem("straightTime", "Minimum straight time (secs)").SetValue(new Slider(0, 0, 5))
             .SetTooltip("Use force staff only on enemies who havent changed their direction X seconds"));
     optionsMenu.AddSubMenu(forceStaffMenu);
     var drawingMenu = new Menu("Drawings", "drawings");
     drawingMenu.AddItem(new MenuItem("drawTopPanel", "Draw TopPanel").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawSuicideKills", "Draw killability with Suicide").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawRemoteMineRange", "Draw range for remote mines").SetValue(true))
         .ValueChanged += RemoteMines_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawLandMineRange", "Draw range for land mines").SetValue(true))
         .ValueChanged += LandMines_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawStasisTrapRange", "Draw range for stasis traps").SetValue(true))
         .ValueChanged += StasisTraps_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawStackOverlay", "Draw StackOverlay").SetValue(true));
     var suicideMenu = new Menu("Auto Suicide", "autoSuicide");
     suicideMenu.AddItem(new MenuItem("autoSuicide", "Auto Suicide").SetValue(true));
     suicideMenu.AddItem(
         new MenuItem("HPTreshold", "HP treshold percent").SetValue(new Slider(100, 1))
             .SetTooltip("Use Suicide only if Your health percent goes below specified treshold"));
     menu.AddSubMenu(drawingMenu);
     optionsMenu.AddSubMenu(suicideMenu);
     menu.AddSubMenu(optionsMenu);
     menu.AddToMainMenu();
     this.DetonationMenu = detonationMenu;
     this.DrawingsMenu = drawingMenu;
     this.ForceStaffMenu = forceStaffMenu;
     this.SuicideMenu = suicideMenu;
     this.MainMenu = menu;
 }
Example #13
0
        public Recovery(Menu mainMenu)
        {
            var menu = new Menu("Recovery Abuse", "recoveryAbuse", false, "item_bottle", true);

            var forcePickMenu = new Menu("Force Item picking", "forcePick");
            forcePickMenu.AddItem(
                forcePickEnemyDistance =
                    new MenuItem("forcePickEnemyNearDistance", "When enemy in range").SetValue(new Slider(500, 0, 1000))
                        .SetTooltip("If enemy is closer then pick items"));

            var items = new Dictionary<string, bool>
            {
                { "item_arcane_boots", true },
                { "item_bottle", true },
                { "item_guardian_greaves", true },
                { "item_magic_stick", true },
                { "item_mekansm", true },
                { "item_soul_ring", true },
                { "item_urn_of_shadows", true },
            };

            var itemsMenu = new Menu("Items to use", "itemsToUse");
            itemsMenu.AddItem(
                itemsToUse = new MenuItem("itemsToUseEnabled", "Use: ").SetValue(new AbilityToggler(items)));

            menu.AddItem(new MenuItem("recoveryKey", "Recovery key").SetValue(new KeyBind('T', KeyBindType.Press)))
                .ValueChanged += (sender, args) => Active = args.GetNewValue<KeyBind>().Active;
            menu.AddItem(
                soulRingFountain = new MenuItem("soulRingFountain", "Use soul ring at fountain").SetValue(true));
            menu.AddItem(bottleFountain = new MenuItem("bottleFountain", "Auto bottle").SetValue(true))
                .SetTooltip(
                    "Will auto use bottle on you and your allies while under the effect of fountain regeneration");
            menu.AddItem(
                    bottleFountainIgnoreAllies =
                        new MenuItem("bottleFountainIgnoreAllies", "Auto bottle ignore allies").SetValue(false))
                .SetTooltip("If enabled auto bottle will be used only on yourself");

            menu.AddSubMenu(forcePickMenu);
            menu.AddSubMenu(itemsMenu);

            mainMenu.AddSubMenu(menu);
        }
Example #14
0
        public DebugMenu(Menu rootMenu)
        {
            var menu = new Menu("Debug", "debug").SetFontColor(Color.PaleVioletRed);

            var drawAbilities =
                new MenuItem("debugAbilities", "Draw abilities").SetValue(false)
                    .SetTooltip("Draw enemy ability ranges, timings and projectiles when casted");
            menu.AddItem(drawAbilities);
            drawAbilities.ValueChanged += (sender, args) => DrawAbilities = args.GetNewValue<bool>();
            DrawAbilities = drawAbilities.IsActive();

            var drawMap = new MenuItem("debugDrawMap", "Draw obstacles map").SetValue(false);
            menu.AddItem(drawMap);
            drawMap.ValueChanged += (sender, args) => DrawMap = args.GetNewValue<bool>();
            DrawMap = drawMap.IsActive();

            var logAbilityUsage = new MenuItem("debugLogAbilityUsage", "Log ability usage").SetValue(false);
            menu.AddItem(logAbilityUsage);
            logAbilityUsage.ValueChanged += (sender, args) => LogAbilityUsage = args.GetNewValue<bool>();
            LogAbilityUsage = logAbilityUsage.IsActive();

            var logInformation = new MenuItem("debugLogInformation", "Log information").SetValue(false);
            menu.AddItem(logInformation);
            logInformation.ValueChanged += (sender, args) => LogInformation = args.GetNewValue<bool>();
            LogInformation = logInformation.IsActive();

            var logIntersection = new MenuItem("debugLogIntersection", "Log intersections").SetValue(false);
            menu.AddItem(logIntersection);
            logIntersection.ValueChanged += (sender, args) => LogIntersection = args.GetNewValue<bool>();
            LogIntersection = logIntersection.IsActive();

            var logModifiers = new MenuItem("debugLogModifiers", "Log modifiers").SetValue(false);
            menu.AddItem(logModifiers);
            logModifiers.ValueChanged += (sender, args) => LogModifiers = args.GetNewValue<bool>();
            LogModifiers = logModifiers.IsActive();

            var logParticles = new MenuItem("debugLogParticles", "Log particles").SetValue(false);
            menu.AddItem(logParticles);
            logParticles.ValueChanged += (sender, args) => LogParticles = args.GetNewValue<bool>();
            LogParticles = logParticles.IsActive();

            var logProjectiles = new MenuItem("debugLogProjectiles", "Log projectiles").SetValue(false);
            menu.AddItem(logProjectiles);
            logProjectiles.ValueChanged += (sender, args) => LogProjectiles = args.GetNewValue<bool>();
            LogProjectiles = logProjectiles.IsActive();

            var logUnits = new MenuItem("debugLogUnits", "Log units").SetValue(false);
            menu.AddItem(logUnits);
            logUnits.ValueChanged += (sender, args) => { LogUnits = args.GetNewValue<bool>(); };
            LogUnits = logUnits.IsActive();

            rootMenu.AddSubMenu(menu);
        }
Example #15
0
        public SoulRing(Menu mainMenu)
        {
            var menu = new Menu("Auto Soul Ring", "soulringAbuse", false, "item_soul_ring", true);
            var heroName = Variables.Hero.Name;

            menu.AddItem(enabled = new MenuItem(heroName + "enabledSR", "Enabled").SetValue(true));
            menu.AddItem(enabledAbilities = new MenuItem(heroName + "enabledSRAbilities", "Enabled for"))
                .SetValue(abilityToggler = new AbilityToggler(abilities));
            menu.AddItem(
                manaThreshold =
                    new MenuItem(heroName + "soulringMPThreshold", "MP% threshold").SetValue(new Slider(90))
                        .SetTooltip("Don't use soul ring if you have more MP%"));
            menu.AddItem(
                healthThreshold =
                    new MenuItem(heroName + "soulringHPThreshold", "HP% threshold").SetValue(new Slider(30))
                        .SetTooltip("Don't use soul ring if you have less HP%"));

            mainMenu.AddSubMenu(menu);
        }
Example #16
0
        public static void AddSpells(Hero hero) {
            var heroName = hero.Name;

            var heroMenu = new Menu(string.Empty, heroName, false, hero.Name);

            RangesMenu.Add(hero, heroMenu);

            foreach (var spell in hero.Spellbook.Spells.Where(x => x.ClassID != ClassID.CDOTA_Ability_AttributeBonus)) {
                var spellName = spell.Name;
                var key = heroName + spellName;

                var spellMenu = new Menu(string.Empty, key, false, spellName);

                spellMenu.AddItem(new MenuItem(key + "enabled", "Enabled")).SetValue(false)
                    .ValueChanged += (sender, arg) => { Drawings.DrawRange(hero, spellName, arg.GetNewValue<bool>()); };

                spellMenu.AddItem(new MenuItem(key + "bonus", "Bonus range").SetValue(new Slider(0, -300, 300)))
                    .ValueChanged +=
                    (sender, arg) => { Drawings.ChangeRange(key, hero, arg.GetNewValue<Slider>().Value); };

                spellMenu.AddItem(new MenuItem(key + "red", "Red").SetValue(new Slider(255, 0, 255)))
                    .SetFontStyle(fontColor: Color.IndianRed)
                    .ValueChanged +=
                    (sender, arg) => { Drawings.ChangeColor(key, arg.GetNewValue<Slider>().Value, Color.Red); };

                spellMenu.AddItem(new MenuItem(key + "green", "Green").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightGreen)
                    .ValueChanged +=
                    (sender, arg) => { Drawings.ChangeColor(key, arg.GetNewValue<Slider>().Value, Color.Green); };

                spellMenu.AddItem(new MenuItem(key + "blue", "Blue").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightBlue)
                    .ValueChanged +=
                    (sender, arg) => { Drawings.ChangeColor(key, arg.GetNewValue<Slider>().Value, Color.Blue); };

                heroMenu.AddSubMenu(spellMenu);

                Main.AbilitiesDictionary.Add(key, Math.Max(spell.Level, 1));
            }

            HeroesMenu.AddSubMenu(heroMenu);
        }
Example #17
0
        public UsableAbilitiesMenu(Menu rootMenu)
        {
            var menu = new Menu("Abilities", "usableAbilities");
            menu.AddItem(
                usableBlinkAbilities =
                    new MenuItem("usableBlinkAbilities", "Blink:").SetValue(
                        blinkAbilityToggler = new AbilityToggler(blinkAbilities)));
            menu.AddItem(
                usableCounterAbilities =
                    new MenuItem("usableCounterAbilities", "Counter:").SetValue(
                        counterAbilityToggler = new AbilityToggler(counterAbilities)));
            menu.AddItem(
                usableDiasbleAbilities =
                    new MenuItem("usableDiasbleAbilities", "Disable:").SetValue(
                        disableAbilityToggler = new AbilityToggler(disableAbilities)));

            specials = new Menu("Specials", "specials");
            menu.AddSubMenu(specials);

            rootMenu.AddSubMenu(menu);
        }
Example #18
0
        public MenuManager(List<string> abilties, string name)
        {
            heroName = name;
            abilties.Reverse(); // correct order

            menu = new Menu("Ability Last Hit", "abilityLastHit", true);
            menu.AddItem(new MenuItem("enabled", "Enabled").SetValue(true));
            menu.AddItem(new MenuItem("sum", "Sum damage").SetValue(false))
                .SetTooltip("Damage will be summed from all selected abilities");
            menu.AddItem(
                new MenuItem("enabledAbilitiesAbilityLastHit", "Enabled abilities", true).SetValue(
                    new AbilityToggler(abilties.ToDictionary(x => x, x => true))));
            var settingsMenu = new Menu("Settings", "abilityLastHitSettings");
            settingsMenu.AddItem(new MenuItem("iconSize", "Icon size").SetValue(new Slider(30, 10, 50)));
            settingsMenu.AddItem(new MenuItem("yPosition", "Y position").SetValue(new Slider(0, -100)));
            settingsMenu.AddItem(
                new MenuItem("autoDisable", "Auto disable after mins").SetValue(new Slider(maxValue: 60)));

            menu.AddSubMenu(settingsMenu);
            menu.AddToMainMenu();
        }
Example #19
0
        public AlliesSettingsMenu(Menu rootMenu)
        {
            var menu = new Menu("Allies settings", "alliesSettings");

            var helpAllies = new MenuItem("helpAllies", "Help allies").SetValue(false);
            menu.AddItem(helpAllies);
            helpAllies.ValueChanged += (sender, args) => HelpAllies = args.GetNewValue<bool>();
            HelpAllies = helpAllies.IsActive();

            menu.AddItem(new AllyHeroesToggler("enabledAllies", "Allies", allyToggler));

            var multiIntersection =
                new MenuItem("multiIntersectionDisable", "Multi intersection disable").SetValue(false)
                    .SetTooltip(
                        "Will disable enemy who's using AOE disable which will hit multiple allies (priority settings will be ignored)");
            menu.AddItem(multiIntersection);
            multiIntersection.ValueChanged += (sender, args) => MultiIntersectionEnemyDisable = args.GetNewValue<bool>();
            MultiIntersectionEnemyDisable = multiIntersection.IsActive();

            rootMenu.AddSubMenu(menu);
        }
Example #20
0
        public HotkeysMenu(Menu rootMenu)
        {
            var menu = new Menu("Hotkeys", "hotkeys");

            var enabledEvader =
                new MenuItem("enable", "Enable evader").SetValue(new KeyBind(36, KeyBindType.Toggle, true));
            menu.AddItem(enabledEvader);
            enabledEvader.ValueChanged += (sender, args) => EnabledEvader = args.GetNewValue<KeyBind>().Active;
            EnabledEvader = enabledEvader.IsActive();

            var enabledPathfinder =
                new MenuItem("enablePathfinder", "Enable pathfinder").SetValue(
                    new KeyBind(35, KeyBindType.Toggle, true));
            menu.AddItem(enabledPathfinder);
            enabledPathfinder.ValueChanged += (sender, args) => EnabledPathfinder = args.GetNewValue<KeyBind>().Active;
            EnabledPathfinder = enabledPathfinder.IsActive();

            menu.AddItem(
                    new MenuItem("forceBlink", "Force blink").SetValue(new KeyBind(46, KeyBindType.Press))
                        .SetTooltip("Blink in front of your hero as soon as possible")).ValueChanged +=
                (sender, args) => ForceBlink = args.GetNewValue<KeyBind>().Active;

            rootMenu.AddSubMenu(menu);
        }
        public void OnLoadEvent()
        {
            AssemblyExtensions.InitAssembly("VickTheRock", "0.1b");

            Print.LogMessage.Success("I Safe All Life, My Freand's!");

            Menu.AddItem(new MenuItem("enabled", "Enabled").SetValue(true));
            Menu.AddItem(new MenuItem("orbwalk", "orbwalk").SetValue(true));
            Menu.AddItem(new MenuItem("Q spell", "Wait time chaneling Fortunes End(Q spell)").SetValue(true));
            Menu.AddItem(new MenuItem("keyBind", "Combo key").SetValue(new KeyBind('D', KeyBindType.Press)));

            Menu items = new Menu("Items And Spel's Combo", "Items");
            Menu heal = new Menu("Healing Items Settings", "Heal");
            Menu spell = new Menu("Auto Use Spell Q+W+E+R Logic", "AutoSpell");
            Menu ally = new Menu("Auto Healing | Purge Logic", "Autoally");
            Menu enemy = new Menu("Auto Debuf | KillSteal Q+W+E Logic", "Autoenemy");
            items.AddItem(
                new MenuItem("Skills", "Skills").SetValue(new AbilityToggler(new Dictionary<string, bool>
                {
                    {"oracle_purifying_flames", true},
                    {"oracle_fortunes_end", true},
                    {"oracle_fates_edict", true},
                    {"oracle_false_promise", true}
                })));
            items.AddItem(
                new MenuItem("Items", "Items:").SetValue(new AbilityToggler(new Dictionary<string, bool>
                {
                    {"item_heavens_halberd", true},
                    {"item_orchid", true},
                    {"item_bloodthorn", true},
                    {"item_mjollnir", true},
                    {"item_urn_of_shadows", true},
                    {"item_ethereal_blade", true},
                    {"item_abyssal_blade", true},
                    {"item_shivas_guard", true},
                    {"item_blade_mail", true},
                    {"item_black_king_bar", true},
                    {"item_satanic", true},
                    {"item_medallion_of_courage", true},
                    {"item_solar_crest", true}
                })));
            items.AddItem(
                new MenuItem("ItemsS", "Items:").SetValue(new AbilityToggler(new Dictionary<string, bool>
                {
                    {"item_manta", true},
                    {"item_mekansm", true},
                    {"item_pipe", true},
                    {"item_guardian_greaves", true},
                    {"item_sphere", true},
                    {"item_glimmer_cape", true}
                })));
            Menu.AddItem(new MenuItem("Heel", "Min Target's to BKB").SetValue(new Slider(2, 1, 5)));
            Menu.AddItem(new MenuItem("Heelm", "Min Target's to BladeMail").SetValue(new Slider(2, 1, 5)));
            heal.AddItem(new MenuItem("pipesetTarget", "Min Target's to Pipe").SetValue(new Slider(2, 1, 5)));
            heal.AddItem(new MenuItem("pipesetAlly", "Min Ally to Pipe").SetValue(new Slider(2, 1, 5)));
            heal.AddItem(new MenuItem("healsetTarget", "Min Target's to Meka | Guardian").SetValue(new Slider(2, 1, 5)));
            heal.AddItem(new MenuItem("healsetAlly", "Min Ally to Meka | Guardian").SetValue(new Slider(2, 1, 5)));
            heal.AddItem(new MenuItem("HealhHeal", "Min healh % to item's Heal").SetValue(new Slider(35, 10, 70))); // x/ 10%
            ally.AddItem(
                new MenuItem("SkillsAutoAlly", "Skills").SetValue(new AbilityToggler(new Dictionary<string, bool>
                {
                    {"oracle_purifying_flames", true},
                    {"oracle_fortunes_end", true},
                    {"oracle_fates_edict", true},
                    {"oracle_false_promise", true}
                })));
            ally.AddItem(new MenuItem("HealhHealUlt", "Min Ally Healh % to Ult").SetValue(new Slider(35, 10, 70)));
            enemy.AddItem(
                new MenuItem("SkillsAutoTarget", "Skills").SetValue(new AbilityToggler(new Dictionary<string, bool>
                {
                    {"oracle_purifying_flames", true},
                    {"oracle_fortunes_end", true},
                    {"oracle_fates_edict", true},
                })));

            Menu.AddSubMenu(items);
            Menu.AddSubMenu(heal);
            Menu.AddSubMenu(spell);
            spell.AddSubMenu(ally);
            spell.AddSubMenu(enemy);
        }
Example #22
0
        private static void Main()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var topPanel   = new Menu("Top Panel", "toppanel");
            var spellPanel = new Menu("Spell Panel", "spellPanel");
            var ultimate   = new Menu("Ultimate", "ultimate");
            var health     = new Menu("Health Panel", "health");
            var mana       = new Menu("Mana Panel", "mana");
            var status     = new Menu("Status panel", "status");
            var extraPos   = new Menu("Extra Position", "extraPos");
            var itemPanel  = new Menu("Item panel", "itempanel");

            var roshanTimer  = new Menu("Roshan Timer", "roshanTimer");
            var showMeMore   = new Menu("Show Me More", "showmemore");
            var showIllusion = new Menu("Show Illusion", "showillusion");
            var runevision   = new Menu("Rune Vision", "runevision");

            var autoItems = new Menu("Auto Items", "autoitems");
            var settings  = new Menu("Settings", "Settings");

            //===========================
            itemPanel.AddItem(new MenuItem("itempanel.Enable", "Enable").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Stash.Enable", "Draw Stash Items").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Button.Enable", "Draw Button for toggle").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.X", "Panel Position X").SetValue(new Slider(100, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.Y", "Panel Position Y").SetValue(new Slider(200, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            itemPanel.AddItem(new MenuItem("itempanel.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            itemPanel.AddItem(new MenuItem("itempanel.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            topPanel.AddItem(new MenuItem("toppanel.Enable", "Enable").SetValue(true));
            topPanel.AddItem(
                new MenuItem("toppanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            //===========================
            spellPanel.AddItem(new MenuItem("spellpanel.Enable", "Enable").SetValue(true));
            spellPanel.AddItem(
                new MenuItem("spellpanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            spellPanel.AddItem(new MenuItem("spellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(36, 0, 200)));
            spellPanel.AddItem(new MenuItem("spellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(6, 0, 200)));
            spellPanel.AddItem(new MenuItem("spellPanel.SizeSpell", "Level size").SetValue(new Slider(3, 1, 25)));
            spellPanel.AddItem(new MenuItem("spellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            spellPanel.AddItem(new MenuItem("spellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            //===========================
            ultimate.AddItem(new MenuItem("ultimate.Enable", "Enable").SetValue(true));
            ultimate.AddItem(new MenuItem("ultimate.Icon.Enable", "Draw Icon").SetValue(true));
            ultimate.AddItem(
                new MenuItem("ultimate.Icon.Extra.Enable", "Draw Mana req with cd").SetValue(true)
                .SetTooltip("render lack of mana when spell on cooldown"));
            ultimate.AddItem(
                new MenuItem("ultimate.Type", "Type of drawing").SetValue(
                    new StringList(new[] { "Draw Icon", "Draw Line" }))).ValueChanged += (sender, args) =>
            {
                var newArg    = args.GetNewValue <StringList>().SelectedIndex;
                var newColor  = newArg == 1 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                var newColor2 = newArg == 0 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                Members.Menu.Item("ultimate.Info").SetFontColor(newColor);
                Members.Menu.Item("ultimate.InfoAlways").SetFontColor(newColor);
                Members.Menu.Item("ultimate.Line.Size").SetFontColor(newColor2);
            };
            ultimate.AddItem(
                new MenuItem("ultimate.Info", "Show details").SetValue(true)
                .SetTooltip("show Ultimate's CD if u put ur mouse on icon"));
            ultimate.AddItem(
                new MenuItem("ultimate.InfoAlways", "Show details all time").SetValue(true)
                .SetTooltip("Show Details should be enabled"));
            ultimate.AddItem(
                new MenuItem("ultimate.Line.Size", "Line Size").SetValue(new Slider(15, 7, 30)));

            //===========================
            health.AddItem(new MenuItem("toppanel.Health.Enable", "Enable").SetValue(true));
            //===========================
            mana.AddItem(new MenuItem("toppanel.Mana.Enable", "Enable").SetValue(true));
            //===========================
            status.AddItem(new MenuItem("toppanel.Status.Enable", "Enable").SetValue(true));
            status.AddItem(new MenuItem("toppanel.AllyVision.Enable", "Vision on Ally Heroes").SetValue(true));
            status.AddItem(new MenuItem("toppanel.EnemiesStatus.Enable", "Enemies status").SetValue(true));
            //===========================
            extraPos.AddItem(
                new MenuItem("extraPos.X", "Extra Position for top panel: X").SetValue(new Slider(0, -25, 25)));
            extraPos.AddItem(
                new MenuItem("extraPos.Y", "Extra Position for top panel: Y").SetValue(new Slider(0, -25, 25)));
            //===========================
            roshanTimer.AddItem(new MenuItem("roshanTimer.Enable", "Enable").SetValue(true));
            //===========================
            showMeMore.AddItem(new MenuItem("showmemore.Enable", "Enable").SetValue(true));
            var charge = new Menu("", "charge", false, "spirit_breaker_charge_of_darkness", true);

            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Enable", "Enable").SetValue(true));
            charge.AddItem(new MenuItem("charge.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Green));
            charge.AddItem(new MenuItem("charge.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            charge.AddItem(new MenuItem("charge.Alpha", "Alpha").SetValue(new Slider(4, 0, 255)).SetFontColor(Color.WhiteSmoke));
            //===========================
            var blur = new Menu("", "blur", false, "phantom_assassin_blur", true);

            blur.AddItem(new MenuItem("blur.Enable", "Show PA on minimap").SetValue(true));
            //===========================
            var wr = new Menu("", "wr", false, "windrunner_powershot", true);

            wr.AddItem(new MenuItem("wr.Enable", "Enable").SetValue(true));
            wr.AddItem(new MenuItem("wr.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            wr.AddItem(new MenuItem("wr.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            wr.AddItem(new MenuItem("wr.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var mirana = new Menu("", "mirana", false, "mirana_arrow", true);

            mirana.AddItem(new MenuItem("mirana.Enable", "Enable").SetValue(true));
            mirana.AddItem(new MenuItem("mirana.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            mirana.AddItem(new MenuItem("mirana.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            mirana.AddItem(new MenuItem("mirana.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var apparition = new Menu("", "apparition", false, "ancient_apparition_ice_blast", true);

            apparition.AddItem(new MenuItem("apparition.Enable", "Enable").SetValue(true));
            var lina = new Menu("", "lina", false, "lina_light_strike_array", true);

            lina.AddItem(new MenuItem("lina.Enable", "Enable").SetValue(true));
            var invoker = new Menu("", "invoker", false, "invoker_sun_strike", true);

            invoker.AddItem(new MenuItem("invoker.Enable", "Enable").SetValue(true));
            var lesh = new Menu("", "lesh", false, "leshrac_split_earth", true);

            lesh.AddItem(new MenuItem("lesh.Enable", "Enable").SetValue(true));
            var kunkka = new Menu("", "kunkka", false, "kunkka_torrent", true);

            kunkka.AddItem(new MenuItem("kunkka.Enable", "Torrent Enable").SetValue(true));
            var tech = new Menu("", "tech", false, "npc_dota_hero_techies", true);

            tech.AddItem(new MenuItem("tech.Enable", "Enable").SetValue(true));
            var tinker = new Menu("", "tinker", false, "npc_dota_hero_tinker", true);

            tinker.AddItem(new MenuItem("tinker.Enable", "Enable").SetValue(true));
            var lifestealer = new Menu("", "life stealer", false, "life_stealer_infest", true);

            lifestealer.AddItem(new MenuItem("lifestealer.Enable", "Enable").SetValue(true));
            lifestealer.AddItem(new MenuItem("lifestealer.creeps.Enable", "Enable for creeps").SetValue(true));
            var arc = new Menu("", "arc", textureName: "arc_warden_spark_wraith", showTextWithTexture: true);

            arc.AddItem(new MenuItem("arc.Enable", "Enable").SetValue(true));
            var scan = new Menu("Enemy Scanning Ability", "Scan");

            scan.AddItem(new MenuItem("scan.Enable", "Enable").SetValue(true));
            //var cour = new Menu("Courier", "Courier");
            //cour.AddItem(new MenuItem("Courier.Enable", "Enable").SetValue(true)).SetTooltip("draw courier position on minimap");
            //===========================
            showIllusion.AddItem(new MenuItem("showillusion.Enable", "Enable").SetValue(true));
            //===========================
            runevision.AddItem(new MenuItem("runevision.Enable", "Enable").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.PrintText.Enable", "Print text on rune-spawning").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.DrawOnMinimap.Enable", "Draw rune on minimap").SetValue(true));
            //===========================
            var dangItem = new Menu("Dangerous items", "dangitems");

            dangItem.AddItem(new MenuItem("dangitems.Enable", "Enable").SetValue(false)).SetTooltip("show if enemy has Dangerous items");
            var dict = new Dictionary <string, bool>
            {
                { "item_gem", true },
                { "item_dust", true },
                { "item_sphere", true },
                { "item_blink", true },
                { "item_ward_observer", true },
                { "item_ward_sentry", true },
                { "item_black_king_bar", true },
                { "item_ward_dispenser", true }
            };

            dangItem.AddItem(new MenuItem("dangitems.List", "Items: ").SetValue(new AbilityToggler(dict)));
            //===========================
            autoItems.AddItem(new MenuItem("autoitems.Enable", "Enable").SetValue(true));
            var autoitemlist = new Dictionary <string, bool>
            {
                { "item_phase_boots", true },
                { "item_hand_of_midas", true }
            };

            autoItems.AddItem(new MenuItem("autoitems.List", "Items:").SetValue(new AbilityToggler(autoitemlist)));
            //===========================
            var lastPosition = new Menu("Last position", "lastPosition");

            lastPosition.AddItem(new MenuItem("lastPosition.Enable", "Enable").SetValue(true)).SetTooltip("show last positions of enemies");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Prediction", "Enable Prediction").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Map", "on Map").SetValue(false));
            lastPosition.AddItem(new MenuItem("lastPosition.Map.X", "icon size").SetValue(new Slider(50, 10, 150)));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Minimap", "on Minimap").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Minimap.X", "icon size").SetValue(new Slider(20, 10, 150)));

            //===========================
            var netWorth = new Menu("NetWorth Graph", "netWorth");

            netWorth.AddItem(new MenuItem("netWorth.Enable", "Enable").SetValue(true)).SetTooltip("draw networth graph based on item cost");
            netWorth.AddItem(new MenuItem("netWorth.Order", "Sort Players").SetValue(true));
            netWorth.AddItem(
                new MenuItem("netWorth.X", "Position: X").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(
                new MenuItem("netWorth.Y", "Position: Y").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(new MenuItem("netWorth.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            netWorth.AddItem(new MenuItem("netWorth.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            netWorth.AddItem(new MenuItem("netWorth.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var devolper = new Menu("Developer", "Developer");

            devolper.AddItem(new MenuItem("Dev.Hax.enable", "Hax in lobby").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            //===========================
            topPanel.AddSubMenu(ultimate);
            topPanel.AddSubMenu(health);
            topPanel.AddSubMenu(mana);
            topPanel.AddSubMenu(status);
            topPanel.AddSubMenu(extraPos);
            settings.AddSubMenu(topPanel);
            settings.AddSubMenu(spellPanel);
            settings.AddSubMenu(roshanTimer);
            settings.AddSubMenu(showMeMore);
            showMeMore.AddSubMenu(charge);
            showMeMore.AddSubMenu(blur);
            showMeMore.AddSubMenu(wr);
            showMeMore.AddSubMenu(mirana);
            showMeMore.AddSubMenu(apparition);
            showMeMore.AddSubMenu(lina);
            showMeMore.AddSubMenu(invoker);
            showMeMore.AddSubMenu(kunkka);
            showMeMore.AddSubMenu(lesh);
            showMeMore.AddSubMenu(lifestealer);
            showMeMore.AddSubMenu(tech);
            showMeMore.AddSubMenu(tinker);
            showMeMore.AddSubMenu(arc);
            showMeMore.AddSubMenu(scan);
            settings.AddSubMenu(showIllusion);
            settings.AddSubMenu(runevision);
            settings.AddSubMenu(dangItem);
            settings.AddSubMenu(itemPanel);
            settings.AddSubMenu(autoItems);
            settings.AddSubMenu(lastPosition);
            settings.AddSubMenu(netWorth);

            Members.Menu.AddSubMenu(settings);
            Members.Menu.AddSubMenu(devolper);


            if (Drawing.Direct3DDevice9 != null)
            {
                Members.RoshanFont = new Font(
                    Drawing.Direct3DDevice9,
                    new FontDescription
                {
                    FaceName        = "Tahoma",
                    Height          = 15,
                    OutputPrecision = FontPrecision.Default,
                    Quality         = FontQuality.Default
                });
            }
            Events.OnLoad += (sender, args) =>
            {
                Members.MyHero   = ObjectManager.LocalHero;
                Members.MyPlayer = ObjectManager.LocalPlayer;

                Members.AbilityDictionary   = new Dictionary <string, List <Ability> >();
                Members.ItemDictionary      = new Dictionary <string, List <Item> >();
                Members.StashItemDictionary = new Dictionary <string, List <Item> >();
                Members.NetWorthDictionary  = new Dictionary <string, long>();

                Members.Heroes       = new List <Hero>();
                Members.AllyHeroes   = new List <Hero>();
                Members.EnemyHeroes  = new List <Hero>();
                Members.Players      = new List <Player>();
                Members.AllyPlayers  = new List <Player>();
                Members.EnemyPlayers = new List <Player>();
                Members.BaseList     = new List <Unit>();

                Members.PAisHere   = null;
                Members.BaraIsHere = false;
                Members.Apparition = false;
                Members.Mirana     = null;
                Members.Windrunner = null;

                Game.OnUpdate += Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate += Updater.BaseList.Update;
                Game.OnUpdate += Devolp.ConsoleCommands;
                Game.OnUpdate += RoshanAction.Roshan;
                Game.OnUpdate += Game_OnUpdate;

                Drawing.OnDraw += DrawHelper.Overlay;
                Drawing.OnDraw += ItemPanel.Draw;
                Drawing.OnDraw += ShowMeMore.Draw;
                Drawing.OnDraw += Runes.Draw;

                Drawing.OnPreReset  += DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset += DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene  += DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc      += Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload += DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent += FireEvent.Game_OnGameEvent;

                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Members.Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                Printer.PrintSuccess("> " + Members.Menu.DisplayName + " loaded v" +
                                     Assembly.GetExecutingAssembly().GetName().Version);
                try
                {
                    Members.Menu.AddToMainMenu();
                }
                catch (Exception)
                {
                }
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate -= Updater.BaseList.Update;
                Game.OnUpdate -= Devolp.ConsoleCommands;
                Game.OnUpdate -= RoshanAction.Roshan;
                Game.OnUpdate -= Game_OnUpdate;

                Drawing.OnDraw      -= DrawHelper.Overlay;
                Drawing.OnDraw      -= ItemPanel.Draw;
                Drawing.OnDraw      -= ShowMeMore.Draw;
                Drawing.OnDraw      -= Runes.Draw;
                Drawing.OnPreReset  -= DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset -= DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene  -= DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc      -= Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload -= DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent -= FireEvent.Game_OnGameEvent;
                Members.TopPanelPostiion.Clear();
                Members.Heroes.Clear();
                Members.EnemyHeroes.Clear();
                Members.AllyHeroes.Clear();
                Printer.PrintInfo("> " + Members.Menu.DisplayName + " unloaded");
                try
                {
                    Members.Menu.RemoveFromMainMenu();
                }
                catch (Exception)
                {
                    throw;
                }
            };
        }
Example #23
0
        private static void InitMenu() {
            Menu = new Menu("Advanced Ranges", "advancedRanges", true);
            HeroesMenu = new Menu("Heroes", "rangeHeroes");
            TowersMenu = new Menu("Towers", "rangeTowers");

            TowersMenu.AddItem(new MenuItem("towersNightRange", "Night change"))
                .SetValue(true)
                .SetTooltip("Change vision range at night");

            Menu.AddSubMenu(HeroesMenu);

            var allyTowers = new Menu("Ally", "ally");
            var enemyTowers = new Menu("Enemy", "enemy");

            var team = Main.Hero.Team;
            var eteam = Main.Hero.GetEnemyTeam();

            for (var i = 1; i <= 4; i++) {
                var index = i - 1;
                var tower = i;

                var allyT = new Menu("T" + i, "allyT" + i);
                var enemyT = new Menu("T" + i, "enemyT" + i);

                allyT.AddItem(new MenuItem("allyTowersT" + i, "Enabled")).SetValue(true).ValueChanged +=
                    (sender, arg) => {
                        Drawings.DrawTowerRange(team, arg.GetNewValue<bool>(), Drawings.TowerLocations[index],
                            "T" + tower);
                    };

                allyT.AddItem(new MenuItem("allyTowersRT" + i, "Red").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.IndianRed)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(team, arg.GetNewValue<Slider>().Value, Color.Red,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                allyT.AddItem(new MenuItem("allyTowersGT" + i, "Green").SetValue(new Slider(255, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightGreen)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(team, arg.GetNewValue<Slider>().Value, Color.Green,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                allyT.AddItem(new MenuItem("allyTowersBT" + i, "Blue").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightBlue)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(team, arg.GetNewValue<Slider>().Value, Color.Blue,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                enemyT.AddItem(new MenuItem("enemyTowersT" + i, "Enabled")).SetValue(true).ValueChanged +=
                    (sender, arg) => {
                        Drawings.DrawTowerRange(eteam, arg.GetNewValue<bool>(), Drawings.TowerLocations[index],
                            "T" + tower);
                    };

                enemyT.AddItem(new MenuItem("enemyTowersRT" + i, "Red").SetValue(new Slider(255, 0, 255)))
                    .SetFontStyle(fontColor: Color.IndianRed)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(eteam, arg.GetNewValue<Slider>().Value, Color.Red,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                enemyT.AddItem(new MenuItem("enemyTowersGT" + i, "Green").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightGreen)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(eteam, arg.GetNewValue<Slider>().Value, Color.Green,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                enemyT.AddItem(new MenuItem("enemyTowersBT" + i, "Blue").SetValue(new Slider(0, 0, 255)))
                    .SetFontStyle(fontColor: Color.LightBlue)
                    .ValueChanged +=
                    (sender, arg) => {
                        Drawings.ChangeColor(eteam, arg.GetNewValue<Slider>().Value, Color.Blue,
                            Drawings.TowerLocations[index], "T" + tower);
                    };

                allyTowers.AddSubMenu(allyT);
                enemyTowers.AddSubMenu(enemyT);
            }

            TowersMenu.AddSubMenu(allyTowers);
            TowersMenu.AddSubMenu(enemyTowers);

            Menu.AddSubMenu(TowersMenu);
            Menu.AddToMainMenu();
        }
Example #24
0
        private static void Main()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var topPanel = new Menu("Top Panel", "toppanel");
            var spellPanel = new Menu("Spell Panel", "spellPanel");
            var ultimate = new Menu("Ultimate", "ultimate");
            var health = new Menu("Health Panel", "health");
            var mana = new Menu("Mana Panel", "mana");
            var status = new Menu("Status panel", "status");
            var extraPos = new Menu("Extra Position", "extraPos");
            var itemPanel = new Menu("Item panel", "itempanel");

            var roshanTimer = new Menu("Roshan Timer", "roshanTimer");
            var showMeMore = new Menu("Show Me More", "showmemore");
            var showIllusion = new Menu("Show Illusion", "showillusion");
            var runevision = new Menu("Rune Vision", "runevision");

            var autoItems = new Menu("Auto Items", "autoitems");
            var settings = new Menu("Settings", "Settings");
            //===========================
            itemPanel.AddItem(new MenuItem("itempanel.Enable", "Enable").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Stash.Enable", "Draw Stash Items").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Button.Enable", "Draw Button for toggle").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.X", "Panel Position X").SetValue(new Slider(100, -2000, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.Y", "Panel Position Y").SetValue(new Slider(200, -2000, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            itemPanel.AddItem(new MenuItem("itempanel.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            itemPanel.AddItem(new MenuItem("itempanel.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            topPanel.AddItem(new MenuItem("toppanel.Enable", "Enable").SetValue(true));
            topPanel.AddItem(
                new MenuItem("toppanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            //===========================
            spellPanel.AddItem(new MenuItem("spellpanel.Enable", "Enable").SetValue(true));
            spellPanel.AddItem(
                new MenuItem("spellpanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            spellPanel.AddItem(new MenuItem("spellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(36, 0, 200)));
            spellPanel.AddItem(new MenuItem("spellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(6, 0, 200)));
            spellPanel.AddItem(new MenuItem("spellPanel.SizeSpell", "Level size").SetValue(new Slider(3, 1, 25)));
            spellPanel.AddItem(new MenuItem("spellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            spellPanel.AddItem(new MenuItem("spellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            //===========================
            ultimate.AddItem(new MenuItem("ultimate.Enable", "Enable").SetValue(true));
            ultimate.AddItem(new MenuItem("ultimate.Icon.Enable", "Draw Icon").SetValue(true));
            ultimate.AddItem(
                new MenuItem("ultimate.Info", "Show details").SetValue(true)
                    .SetTooltip("show Ultimate's CD if u put ur mouse on icon"));
            ultimate.AddItem(
                new MenuItem("ultimate.InfoAlways", "Show details all time").SetValue(true)
                    .SetTooltip("Show Details should be enabled"));
            //===========================
            health.AddItem(new MenuItem("toppanel.Health.Enable", "Enable").SetValue(true));
            //===========================
            mana.AddItem(new MenuItem("toppanel.Mana.Enable", "Enable").SetValue(true));
            //===========================
            status.AddItem(new MenuItem("toppanel.Status.Enable", "Enable").SetValue(true));
            status.AddItem(new MenuItem("toppanel.AllyVision.Enable", "Vision on Ally Heroes").SetValue(true));
            status.AddItem(new MenuItem("toppanel.EnemiesStatus.Enable", "Enemies status").SetValue(true));
            //===========================
            extraPos.AddItem(
                new MenuItem("extraPos.X", "Extra Position for top panel: X").SetValue(new Slider(0, -25, 25)));
            extraPos.AddItem(
                new MenuItem("extraPos.Y", "Extra Position for top panel: Y").SetValue(new Slider(0, -25, 25)));
            //===========================
            roshanTimer.AddItem(new MenuItem("roshanTimer.Enable", "Enable").SetValue(true));
            //===========================
            showMeMore.AddItem(new MenuItem("showmemore.Enable", "Enable").SetValue(true));
            var charge = new Menu("", "charge", false, "spirit_breaker_charge_of_darkness", true);
            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor( Color.Green));
            charge.AddItem(new MenuItem("charge.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            charge.AddItem(new MenuItem("charge.Alpha", "Alpha").SetValue(new Slider(4, 0, 255)).SetFontColor( Color.WhiteSmoke));
            //===========================
            var blur = new Menu("", "blur", false, "phantom_assassin_blur", true);
            blur.AddItem(new MenuItem("blur.Enable", "Show PA on minimap").SetValue(true));
            //===========================
            var wr = new Menu("", "wr", false, "windrunner_powershot", true);
            wr.AddItem(new MenuItem("wr.Enable", "Enable").SetValue(true));
            wr.AddItem(new MenuItem("wr.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            wr.AddItem(new MenuItem("wr.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            wr.AddItem(new MenuItem("wr.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var mirana = new Menu("", "mirana", false, "mirana_arrow", true);
            mirana.AddItem(new MenuItem("mirana.Enable", "Enable").SetValue(true));
            mirana.AddItem(new MenuItem("mirana.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            mirana.AddItem(new MenuItem("mirana.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            mirana.AddItem(new MenuItem("mirana.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var apparition = new Menu("", "apparition", false, "ancient_apparition_ice_blast", true);
            apparition.AddItem(new MenuItem("apparition.Enable", "Enable").SetValue(true));
            var lina = new Menu("", "lina", false, "lina_light_strike_array", true);
            lina.AddItem(new MenuItem("lina.Enable", "Enable").SetValue(true));
            var invoker = new Menu("", "invoker", false, "invoker_sun_strike", true);
            invoker.AddItem(new MenuItem("invoker.Enable", "Enable").SetValue(true));
            var lesh = new Menu("", "lesh", false, "leshrac_split_earth", true);
            lesh.AddItem(new MenuItem("lesh.Enable", "Enable").SetValue(true));
            var kunkka = new Menu("", "kunkka", false, "kunkka_torrent", true);
            kunkka.AddItem(new MenuItem("kunkka.Enable", "Enable").SetValue(true));
            //===========================
            showIllusion.AddItem(new MenuItem("showillusion.Enable", "Enable").SetValue(true));
            //===========================
            runevision.AddItem(new MenuItem("runevision.Enable", "Enable").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.PrintText.Enable", "Print text on rune-spawning").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.DrawOnMinimap.Enable", "Draw rune on minimap").SetValue(true));
            //===========================
            var dangItem = new Menu("Dangerous items", "dangitems");
            dangItem.AddItem(new MenuItem("dangitems.Enable", "Enable").SetValue(false)).SetTooltip("show if enemy has Dangerous items");
            var dict = new Dictionary<string, bool>
            {
                {"item_gem", true},
                {"item_dust", true},
                {"item_sphere", true},
                {"item_blink", true},
                {"item_ward_observer", true},
                {"item_ward_sentry", true},
                {"item_black_king_bar", true},
                {"item_ward_dispenser", true}
            };
            dangItem.AddItem(new MenuItem("dangitems.List", "Items: ").SetValue(new AbilityToggler(dict)));
            //===========================
            autoItems.AddItem(new MenuItem("autoitems.Enable", "Enable").SetValue(true));
            var autoitemlist = new Dictionary<string, bool>
            {
                {"item_phase_boots", true},
                {"item_hand_of_midas", true}
            };
            autoItems.AddItem(new MenuItem("autoitems.List", "Items:").SetValue(new AbilityToggler(autoitemlist)));
            //===========================
            var lastPosition = new Menu("Last position", "lastPosition");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable", "Enable").SetValue(true)).SetTooltip("show last positions of enemies");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Map", "on Map").SetValue(false));
            lastPosition.AddItem(new MenuItem("lastPosition.Map.X", "icon size").SetValue(new Slider(50,10,150)));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Minimap", "on Minimap").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Minimap.X", "icon size").SetValue(new Slider(20, 10, 150)));

            //===========================
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Hax.enable", "Hax in lobby").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            //===========================
            topPanel.AddSubMenu(ultimate);
            topPanel.AddSubMenu(health);
            topPanel.AddSubMenu(mana);
            topPanel.AddSubMenu(status);
            topPanel.AddSubMenu(extraPos);
            settings.AddSubMenu(topPanel);
            settings.AddSubMenu(spellPanel);
            settings.AddSubMenu(roshanTimer);
            settings.AddSubMenu(showMeMore);
            showMeMore.AddSubMenu(charge);
            showMeMore.AddSubMenu(blur);
            showMeMore.AddSubMenu(wr);
            showMeMore.AddSubMenu(mirana);
            showMeMore.AddSubMenu(apparition);
            showMeMore.AddSubMenu(lina);
            showMeMore.AddSubMenu(invoker);
            showMeMore.AddSubMenu(kunkka);
            showMeMore.AddSubMenu(lesh);
            settings.AddSubMenu(showIllusion);
            settings.AddSubMenu(runevision);
            settings.AddSubMenu(dangItem);
            settings.AddSubMenu(itemPanel);
            settings.AddSubMenu(autoItems);
            settings.AddSubMenu(lastPosition);

            Members.Menu.AddSubMenu(settings);
            Members.Menu.AddSubMenu(devolper);

            Members.Menu.AddToMainMenu();
            if (Drawing.Direct3DDevice9 != null)
                Members.RoshanFont = new Font(
                    Drawing.Direct3DDevice9,
                    new FontDescription
                    {
                        FaceName = "Tahoma",
                        Height = 15,
                        OutputPrecision = FontPrecision.Default,
                        Quality = FontQuality.Default
                    });
            Events.OnLoad += (sender, args) =>
            {
                Members.MyHero = ObjectManager.LocalHero;
                Members.MyPlayer = ObjectManager.LocalPlayer;

                Members.AbilityDictionary = new Dictionary<string, List<Ability>>();
                Members.ItemDictionary = new Dictionary<string, List<Item>>();
                Members.StashItemDictionary = new Dictionary<string, List<Item>>();

                Members.PAisHere = null;
                Members.BaraIsHere = false;
                Members.Apparition = false;
                Members.Mirana = null;
                Members.Windrunner = null;

                Game.OnUpdate += Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate += Updater.BaseList.Update;
                Game.OnUpdate += Devolp.ConsoleCommands;
                Game.OnUpdate += RoshanAction.Roshan;
                Game.OnUpdate += Game_OnUpdate;

                Drawing.OnDraw += DrawHelper.Overlay;
                Drawing.OnDraw += ItemPanel.Draw;
                Drawing.OnDraw += ShowMeMore.Draw;
                Drawing.OnDraw += Runes.Draw;

                Drawing.OnPreReset += DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset += DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene += DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc += Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload += DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent += FireEvent.Game_OnGameEvent;

                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Members.Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                Printer.PrintSuccess("> " + Members.Menu.DisplayName + " loaded v" +
                                     Assembly.GetExecutingAssembly().GetName().Version);
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate -= Updater.BaseList.Update;
                Game.OnUpdate -= Devolp.ConsoleCommands;
                Game.OnUpdate -= RoshanAction.Roshan;
                Game.OnUpdate -= Game_OnUpdate;

                Drawing.OnDraw -= DrawHelper.Overlay;
                Drawing.OnDraw -= ItemPanel.Draw;
                Drawing.OnDraw -= ShowMeMore.Draw;
                Drawing.OnDraw -= Runes.Draw;
                Drawing.OnPreReset -= DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset -= DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene -= DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc -= Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload -= DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent -= FireEvent.Game_OnGameEvent;
                Members.TopPanelPostiion.Clear();
                Members.Heroes.Clear();
                Members.EnemyHeroes.Clear();
                Members.AllyHeroes.Clear();
                Printer.PrintInfo("> " + Members.Menu.DisplayName + " unloaded");
            };
        }
Example #25
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="TechiesMenu" /> class.
 /// </summary>
 public TechiesMenu()
 {
     var menu = new Menu("#TECHIES", "techies", true, "npc_dota_hero_techies", true);
     var optionsMenu = new Menu("Options", "options");
     var detonationMenu = new Menu("Auto Detonation", "autoDetonation");
     detonationMenu.AddItem(new MenuItem("autoDetonate", "Detonate on heroes").SetValue(true));
     detonationMenu.AddItem(new MenuItem("autoDetonateCreeps", "Detonate on creeps").SetValue(false));
     detonationMenu.AddItem(
         new MenuItem("autoDetonateProtection", "Detonate when enemy tries to destroy").SetValue(true)
             .SetTooltip("Detonates mine when enemy tries to kill it with auto attack or item"));
     detonationMenu.AddItem(new MenuItem("detonateAllMines", "Detonate all mines in stack").SetValue(false))
         .SetTooltip(
             "Instead of detonating only needed amount of mines, assembly will detonate all mines in stack");
     detonationMenu.AddItem(
         new MenuItem("Techies.DetonateWhenOnEdge", "Detonate when enemy is about to escape from stack").SetValue
             (false))
         .SetTooltip(
             "Will calculate ping in to ensure the enemy gets actually killed, the chance to kill enemy is still lower with this option enabled");
     detonationMenu.AddItem(
         new MenuItem("Techies.MoveCameraAndDetonate", "Move camera and detonate key").SetValue(
             new KeyBind('H', KeyBindType.Press))
             .SetTooltip(
                 "If notification is enabled, pressing this key while the notification is visible will move camera and detonate"))
         .SetFontColor(Color.DeepSkyBlue);
     detonationMenu.AddItem(
         new MenuItem("Techies.KeyDetonationDelay", "Key detonation delay").SetValue(new Slider(300, 0, 2000)))
         .SetTooltip("Delay of detonation after pressing key and moving camera");
     optionsMenu.AddSubMenu(detonationMenu);
     var forceStaffMenu = new Menu("Auto ForceStaff", "autoForceStaff");
     forceStaffMenu.AddItem(new MenuItem("useForceStaff", "Use ForceStaff").SetValue(true));
     forceStaffMenu.AddItem(new MenuItem("checkRotating", "Dont use on turning enemy").SetValue(false));
     forceStaffMenu.AddItem(
         new MenuItem("straightTime", "Minimum straight time (secs)").SetValue(new Slider(0, 0, 5))
             .SetTooltip("Use force staff only on enemies who havent changed their direction X seconds"));
     optionsMenu.AddSubMenu(forceStaffMenu);
     this.HurricanePikeMenu = new Menu("HurricanePikeCombo", "Techies.HurricanePikeMenu");
     this.HurricanePikeMenu.AddItem(new MenuItem("Techies.HurricanePikeEnable", "Enable").SetValue(true));
     this.HurricanePikeMenu.AddItem(
         new MenuItem("Techies.HurricanePikeKey", "KeyToHold").SetValue(new KeyBind('H', KeyBindType.Press)));
     this.HurricanePikeMenu.AddItem(
         new MenuItem("Techies.HurricanePikeNoMove", "Dont use on moving enemy").SetValue(false)
             .SetTooltip("If enabled, combo will be used only on idle enemy"));
     this.HurricanePikeMenu.AddItem(
         new MenuItem("Techies.HurricanePikeStraightTime", "Minimum straight time (secs)").SetValue(
             new Slider(0, 0, 5))
             .SetTooltip("Use combo only on enemies who havent changed their direction for X seconds"));
     optionsMenu.AddSubMenu(this.HurricanePikeMenu);
     var drawingMenu = new Menu("Drawings", "drawings");
     drawingMenu.AddItem(new MenuItem("drawTopPanel", "Draw TopPanel").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawSuicideKills", "Draw killability with Suicide").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawRemoteMineRange", "Draw range for remote mines").SetValue(true))
         .ValueChanged += RemoteMines_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawLandMineRange", "Draw range for land mines").SetValue(true))
         .ValueChanged += LandMines_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawStasisTrapRange", "Draw range for stasis traps").SetValue(true))
         .ValueChanged += StasisTraps_OnValueChanged;
     drawingMenu.AddItem(new MenuItem("drawStackOverlay", "Draw StackOverlay").SetValue(true));
     drawingMenu.AddItem(
         new MenuItem("Techies.ShowNotification", "Draw notification").SetValue(true)
             .SetTooltip("Draw notification when killable enemy walks over a stack with autodetonate disabled"));
     var suicideMenu = new Menu("Auto Suicide", "autoSuicide");
     suicideMenu.AddItem(new MenuItem("autoSuicide", "Auto Suicide").SetValue(true));
     suicideMenu.AddItem(
         new MenuItem("HPTreshold", "HP treshold percent").SetValue(new Slider(100, 1))
             .SetTooltip("Use Suicide only if Your health percent goes below specified treshold"));
     menu.AddSubMenu(drawingMenu);
     optionsMenu.AddSubMenu(suicideMenu);
     menu.AddSubMenu(optionsMenu);
     menu.AddToMainMenu();
     this.DetonationMenu = detonationMenu;
     this.DrawingsMenu = drawingMenu;
     this.ForceStaffMenu = forceStaffMenu;
     this.SuicideMenu = suicideMenu;
     this.MainMenu = menu;
 }
Example #26
0
        private static void Main()
        {
            /*Entity.OnParticleEffectAdded += (entity, eventArgs) =>
            {
                var partName = eventArgs.Name;
                var name = entity.Name;
                if (partName.Contains("generic_hit_blood"))
                    Printer.Print("hit! to "+ name);
                if (partName.Contains("generic_hit_blood"))
                    return;
                if (partName.Contains("ui_mouse"))
                    return;
                if (name.Contains("portrait"))
                    return;
                DelayAction.Add(5, () =>
                {
                    var effect = eventArgs.ParticleEffect;
                    var pos = effect.Position;
                    var a = effect.GetControlPoint(0);
                    var senderpos = entity.NetworkPosition;
                    Printer.Print(name + ": " + partName + $"a: ({pos.PrintVector()}) b: ({a.PrintVector()}) c: ({senderpos.PrintVector()})");
                });

            };*/
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var topPanel = new Menu("Top Panel", "toppanel");
            var spellPanel = new Menu("Spell Panel", "spellPanel");
            var ultimate = new Menu("Ultimate", "ultimate");
            var health = new Menu("Health Panel", "health");
            var mana = new Menu("Mana Panel", "mana");
            var status = new Menu("Status panel", "status");
            var extraPos = new Menu("Extra Position", "extraPos");
            var itemPanel = new Menu("Item panel", "itempanel");

            var roshanTimer = new Menu("Roshan Timer", "roshanTimer");
            var showMeMore = new Menu("Show Me More", "showmemore");
            var showIllusion = new Menu("Show Illusion", "showillusion");
            var runevision = new Menu("Rune Vision", "runevision");

            var autoItems = new Menu("Auto Items", "autoitems");
            var settings = new Menu("Settings", "Settings");
            var page1 = new Menu("Page 1", "Page 1");
            var page2 = new Menu("Page 2", "Page 2");
            //===========================
            itemPanel.AddItem(new MenuItem("itempanel.Enable", "Enable").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Stash.Enable", "Draw Stash Items").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Button.Enable", "Draw Button for toggle").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.X", "Panel Position X").SetValue(new Slider(100, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.Y", "Panel Position Y").SetValue(new Slider(200, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            itemPanel.AddItem(new MenuItem("itempanel.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            itemPanel.AddItem(new MenuItem("itempanel.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            topPanel.AddItem(new MenuItem("toppanel.Enable", "Enable").SetValue(true));
            topPanel.AddItem(
                new MenuItem("toppanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            //===========================
            spellPanel.AddItem(new MenuItem("spellpanel.Enable", "Enable").SetValue(true));
            spellPanel.AddItem(
                new MenuItem("spellpanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            var oldMethod = new Menu("OldMethod", "Without Textures");
            oldMethod.AddItem(new MenuItem("spellpanel.OldMethod.Enable", "Enable").SetValue(true));
            oldMethod.AddItem(new MenuItem("spellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(36, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(6, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.SizeSpell", "Level size").SetValue(new Slider(3, 1, 25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            //---0-0-0-0-0-
            var newMethod = new Menu("New Method", "With Textures");
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Enable", "Enable").SetValue(false));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.IconSize", "Icon Size").SetValue(new Slider(25, 1, 100)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.SizeLevel", "Text Size (for level)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Size", "Text Size (for cooldown/mana)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraX", "Extra position X").SetValue(new Slider(0, -150, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraY", "Extra position Y").SetValue(new Slider(0, -150, 150)));
            //===========================
            ultimate.AddItem(new MenuItem("ultimate.Enable", "Enable").SetValue(true));
            ultimate.AddItem(new MenuItem("ultimate.Icon.Enable", "Draw Icon").SetValue(true));
            ultimate.AddItem(
                new MenuItem("ultimate.Icon.Extra.Enable", "Draw Mana req with cd").SetValue(true)
                    .SetTooltip("render lack of mana when spell on cooldown"));
            ultimate.AddItem(
                new MenuItem("ultimate.Type", "Type of drawing").SetValue(
                    new StringList(new[] { "Draw Icon", "Draw Line" }))).ValueChanged += (sender, args) =>
                    {
                        var newArg = args.GetNewValue<StringList>().SelectedIndex;
                        var newColor = newArg == 1 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                        var newColor2 = newArg == 0 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                        Members.Menu.Item("ultimate.Info").SetFontColor(newColor);
                        Members.Menu.Item("ultimate.InfoAlways").SetFontColor(newColor);
                        Members.Menu.Item("ultimate.Line.Size").SetFontColor(newColor2);
                    };
            ultimate.AddItem(
                new MenuItem("ultimate.Info", "Show details").SetValue(true)
                    .SetTooltip("show Ultimate's CD if u put ur mouse on icon"));
            ultimate.AddItem(
                new MenuItem("ultimate.InfoAlways", "Show details all time").SetValue(true)
                    .SetTooltip("Show Details should be enabled"));
            ultimate.AddItem(
                new MenuItem("ultimate.Line.Size", "Line Size").SetValue(new Slider(15, 7, 30)));

            //===========================
            health.AddItem(new MenuItem("toppanel.Health.Enable", "Enable").SetValue(true));
            //===========================
            mana.AddItem(new MenuItem("toppanel.Mana.Enable", "Enable").SetValue(true));
            //===========================
            status.AddItem(new MenuItem("toppanel.Status.Enable", "Enable").SetValue(true));
            status.AddItem(new MenuItem("toppanel.AllyVision.Enable", "Vision on Ally Heroes").SetValue(true));
            status.AddItem(new MenuItem("toppanel.EnemiesStatus.Enable", "Enemies status").SetValue(true));
            //===========================
            extraPos.AddItem(
                new MenuItem("extraPos.X", "Extra Position for top panel: X").SetValue(new Slider(0, -25, 25)));
            extraPos.AddItem(
                new MenuItem("extraPos.Y", "Extra Position for top panel: Y").SetValue(new Slider(0, -25, 25)));
            //===========================
            roshanTimer.AddItem(new MenuItem("roshanTimer.Enable", "Enable").SetValue(true));
            //===========================
            showMeMore.AddItem(new MenuItem("showmemore.Enable", "Enable").SetValue(true));
            var charge = new Menu("", "charge", false, "spirit_breaker_charge_of_darkness", true);
            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Enable", "Enable").SetValue(true));
            charge.AddItem(new MenuItem("charge.Rect.Enable", "Draw red box").SetValue(false));
            charge.AddItem(new MenuItem("charge.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor( Color.Green));
            charge.AddItem(new MenuItem("charge.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            charge.AddItem(new MenuItem("charge.Alpha", "Alpha").SetValue(new Slider(4, 0, 255)).SetFontColor( Color.WhiteSmoke));
            //===========================
            var blur = new Menu("", "blur", false, "phantom_assassin_blur", true);
            blur.AddItem(new MenuItem("blur.Enable", "Show PA on minimap").SetValue(true));
            //===========================
            var wr = new Menu("", "wr", false, "windrunner_powershot", true);
            wr.AddItem(new MenuItem("wr.Enable", "Enable").SetValue(true));
            wr.AddItem(new MenuItem("wr.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            wr.AddItem(new MenuItem("wr.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            wr.AddItem(new MenuItem("wr.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var mirana = new Menu("", "mirana", false, "mirana_arrow", true);
            mirana.AddItem(new MenuItem("mirana.Enable", "Enable").SetValue(true));
            mirana.AddItem(new MenuItem("mirana.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            mirana.AddItem(new MenuItem("mirana.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            mirana.AddItem(new MenuItem("mirana.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var apparition = new Menu("", "apparition", false, "ancient_apparition_ice_blast", true);
            apparition.AddItem(new MenuItem("apparition.Enable", "Enable").SetValue(true));
            var lina = new Menu("", "lina", false, "lina_light_strike_array", true);
            lina.AddItem(new MenuItem("lina.Enable", "Enable").SetValue(true));
            var invoker = new Menu("", "invoker", false, "invoker_sun_strike", true);
            invoker.AddItem(new MenuItem("invoker.Enable", "Enable").SetValue(true));
            invoker.AddItem(new MenuItem("invoker.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            invoker.AddItem(new MenuItem("invoker.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            invoker.AddItem(new MenuItem("invoker.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var lesh = new Menu("", "lesh", false, "leshrac_split_earth", true);
            lesh.AddItem(new MenuItem("lesh.Enable", "Enable").SetValue(true));
            var kunkka = new Menu("", "kunkka", false, "kunkka_torrent", true);
            kunkka.AddItem(new MenuItem("kunkka.Enable", "Enable").SetValue(true));
            kunkka.AddItem(new MenuItem("kunkka.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            kunkka.AddItem(new MenuItem("kunkka.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            kunkka.AddItem(new MenuItem("kunkka.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var tech = new Menu("", "tech", false, "npc_dota_hero_techies", true);
            tech.AddItem(new MenuItem("tech.Enable", "Enable").SetValue(true));
            var tinker = new Menu("", "tinker", false, "npc_dota_hero_tinker", true);
            tinker.AddItem(new MenuItem("tinker.Enable", "Enable").SetValue(true));
            var lifestealer = new Menu("", "life stealer", false, "life_stealer_infest", true);
            lifestealer.AddItem(new MenuItem("lifestealer.Enable", "Enable").SetValue(true));
            lifestealer.AddItem(new MenuItem("lifestealer.Icon.Enable", "Draw icon near hero").SetValue(false));
            lifestealer.AddItem(new MenuItem("lifestealer.creeps.Enable", "Draw icon near creep").SetValue(false));
            var arc = new Menu("", "arc",textureName: "arc_warden_spark_wraith",showTextWithTexture:true);
            arc.AddItem(new MenuItem("arc.Enable", "Enable").SetValue(true));
            var scan = new Menu("Enemy Scanning Ability", "Scan");
            scan.AddItem(new MenuItem("scan.Enable", "Enable").SetValue(true));
            var courEsp = new Menu("Courier on Minimap", "Cour");
            courEsp.AddItem(new MenuItem("Cour.Enable", "Enable").SetValue(true));
            //var cour = new Menu("Courier", "Courier");
            //cour.AddItem(new MenuItem("Courier.Enable", "Enable").SetValue(true)).SetTooltip("draw courier position on minimap");
            //===========================
            showIllusion.AddItem(new MenuItem("showillusion.Enable", "Enable").SetValue(true));
            showIllusion.AddItem(
                new MenuItem("showillusion.Type", "Type").SetValue(new StringList(new[] {"Smoke", "new 1" , "new 2" , "balloons" }, 2)));
            showIllusion.AddItem(new MenuItem("showillusion.X", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            showIllusion.AddItem(new MenuItem("showillusion.Y", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            showIllusion.AddItem(new MenuItem("showillusion.Z", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            showIllusion.AddItem(new MenuItem("showillusion.Alpha", "Alpha").SetValue(new Slider(40,0,255)));
            showIllusion.AddItem(new MenuItem("showillusion.Size", "Size").SetValue(new Slider(120,1,250)));
            //===========================
            runevision.AddItem(new MenuItem("runevision.Enable", "Enable").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.PrintText.Enable", "Print text on rune-spawning").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.DrawOnMinimap.Enable", "Draw rune on minimap").SetValue(true));
            //===========================
            var itemOverlay = new Menu("Item overlay", "itemOverlay");
            itemOverlay.AddItem(new MenuItem("itemOverlay.Enable", "Enable").SetValue(false)).SetTooltip("will show all items on heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DrawCharges", "Draw Charges").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Size", "Size").SetValue(new Slider(100,1,200)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Extra", "Extra").SetValue(new Slider(26, 1, 100)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Ally", "Enable for ally").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Enemy", "Enable for enemy").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Cour", "Enable for couriers").SetValue(true)).SetTooltip("only for enemy");
            var tpCatcher = new Menu("TP Catcher", "TpCather");
            tpCatcher.AddItem(new MenuItem("TpCather.Enable", "Enable").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Ally", "For Ally").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Enemy", "For Enemy").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Map", "Draw on Map").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap", "Draw on MiniMap").SetValue(true));
            tpCatcher.AddItem(
                new MenuItem("TpCather.MiniMap.Type", "Draw on MiniMap Hero Icon or Rectangle").SetValue(true))
                .SetTooltip("true=icon; false=rectangle");
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap.Size", "MiniMap Size").SetValue(new Slider(20,5,30)));
            tpCatcher.AddItem(new MenuItem("TpCather.Map.Size", "Map Size").SetValue(new Slider(50,5,50)));
            /*var hitCather = new Menu("Hit Catcher", "HitCatcher");
            hitCather.AddItem(new MenuItem("HitCatcher.Enable", "Enable").SetValue(true));
            hitCather.AddItem(new MenuItem("HitCatcher.Map", "Draw on Map").SetValue(true));
            hitCather.AddItem(new MenuItem("HitCatcher.MiniMap", "Draw on MiniMap").SetValue(true));
            hitCather.AddItem(new MenuItem("HitCatcher.DrawLineOnMap", "Draw Line on Map").SetValue(true));*/
            var manaBars = new Menu("Manabars", "manaBars");
            manaBars.AddItem(new MenuItem("manaBars.Enable", "Enable").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Enable", "Enable digital values").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Size", "Dig Size").SetValue(new Slider(75, 1, 150)));
            manaBars.AddItem(new MenuItem("manaBars.Size", "Size").SetValue(new Slider(75, 1, 150)));

            manaBars.AddItem(new MenuItem("manaBars.Red", "Red").SetValue(new Slider(65, 0, 255)).SetFontColor(Color.Red));
            manaBars.AddItem(new MenuItem("manaBars.Green", "Green").SetValue(new Slider(105, 0, 255)).SetFontColor(Color.Green));
            manaBars.AddItem(new MenuItem("manaBars.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));

            //var dangItem = new Menu("Dangerous items", "dangitems");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DangItems", "Draw only dangerous items").SetValue(false)).SetTooltip("show if enemy has Dangerous items. Working only for enemy heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.OldMethod", "Use old method for drawing dangItems").SetValue(false));

            var dict = new Dictionary<string, bool>
            {
                {"item_gem", true},
                {"item_dust", true},
                {"item_sphere", true},
                {"item_blink", true},
                {"item_ward_observer", true},
                {"item_ward_sentry", true},
                {"item_black_king_bar", true},
                {"item_invis_sword", true},
                {"item_silver_edge", true},
                {"item_ward_dispenser", true}
            };
            itemOverlay.AddItem(new MenuItem("itemOverlay.List", "Items: ").SetValue(new AbilityToggler(dict)));
            //===========================
            autoItems.AddItem(new MenuItem("autoitems.Enable", "Enable").SetValue(true));
            autoItems.AddItem(new MenuItem("autoItems.Percent", "Health(%) for auto stick").SetValue(new Slider(15)));
            autoItems.AddItem(new MenuItem("autoItems.Percent2", "Mana(%) for auto stick").SetValue(new Slider(15)));
            var autoitemlist = new Dictionary<string, bool>
            {
                {"item_magic_wand", true},
                {"item_phase_boots", true},
                {"item_hand_of_midas", true}
            };
            autoItems.AddItem(new MenuItem("autoitems.List", "Items:").SetValue(new AbilityToggler(autoitemlist)));
            //===========================
            var lastPosition = new Menu("Last position", "lastPosition");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable", "Enable").SetValue(true)).SetTooltip("show last positions of enemies");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Prediction", "Enable Prediction").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Map", "on Map").SetValue(false));
            lastPosition.AddItem(new MenuItem("lastPosition.Map.X", "icon size").SetValue(new Slider(50,10,150)));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Minimap", "on Minimap").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Minimap.X", "icon size").SetValue(new Slider(20, 10, 150)));

            //===========================
            var netWorth = new Menu("NetWorth Graph", "netWorth");
            netWorth.AddItem(new MenuItem("netWorth.Enable", "Enable").SetValue(true)).SetTooltip("draw networth graph based on item cost");
            netWorth.AddItem(new MenuItem("netWorth.Order", "Sort Players").SetValue(true));
            netWorth.AddItem(
                new MenuItem("netWorth.X", "Position: X").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(
                new MenuItem("netWorth.Y", "Position: Y").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(new MenuItem("netWorth.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            netWorth.AddItem(new MenuItem("netWorth.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            netWorth.AddItem(new MenuItem("netWorth.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var dmgCalc = new Menu("Damage Calculation", "dmgCalc");
            dmgCalc.AddItem(new MenuItem("dmgCalc.Enable", "Enable").SetValue(true)).SetTooltip("showing dmg from ur abilities");
            dmgCalc.AddItem(new MenuItem("dmgCalc.Abilities", "Abilities: ").SetValue(new AbilityToggler(new Dictionary<string, bool>())));
            var defCol = new Menu("Default Color", "clrDef");
            var killableCol = new Menu("Color, When skills damage is enough", "clrEno");
            defCol.AddItem(new MenuItem("defCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            defCol.AddItem(new MenuItem("defCol.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            defCol.AddItem(new MenuItem("defCol.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            killableCol.AddItem(new MenuItem("killableCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            killableCol.AddItem(new MenuItem("killableCol.Green", "Green").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Green));
            killableCol.AddItem(new MenuItem("killableCol.Blue", "Blue").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Hax.enable", "Hax in lobby").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.CreepsDisabler.enable", "Disable spawn creeps").SetValue(false))
                .ValueChanged +=
                (sender, args) =>
                {
                    var type = args.GetNewValue<bool>() ? "enable" : "disable";
                    Game.ExecuteCommand($"dota_creeps_no_spawning_{type}");
                };
            //===========================
            spellPanel.AddSubMenu(oldMethod);
            spellPanel.AddSubMenu(newMethod);
            topPanel.AddSubMenu(ultimate);
            topPanel.AddSubMenu(health);
            topPanel.AddSubMenu(mana);
            topPanel.AddSubMenu(status);
            topPanel.AddSubMenu(extraPos);
            page1.AddSubMenu(topPanel);
            page1.AddSubMenu(spellPanel);
            page1.AddSubMenu(roshanTimer);
            page1.AddSubMenu(showMeMore);
            showMeMore.AddSubMenu(charge);
            showMeMore.AddSubMenu(blur);
            showMeMore.AddSubMenu(wr);
            showMeMore.AddSubMenu(mirana);
            showMeMore.AddSubMenu(apparition);
            showMeMore.AddSubMenu(lina);
            showMeMore.AddSubMenu(invoker);
            showMeMore.AddSubMenu(kunkka);
            showMeMore.AddSubMenu(lesh);
            showMeMore.AddSubMenu(lifestealer);
            showMeMore.AddSubMenu(tech);
            showMeMore.AddSubMenu(tinker);
            showMeMore.AddSubMenu(arc);
            showMeMore.AddSubMenu(scan);
            showMeMore.AddSubMenu(courEsp);
            page1.AddSubMenu(showIllusion);
            page1.AddSubMenu(runevision);
            //settings.AddSubMenu(dangItem);
            settings.AddSubMenu(page1);
            settings.AddSubMenu(page2);
            page1.AddSubMenu(itemPanel);
            page1.AddSubMenu(itemOverlay);
            page2.AddSubMenu(manaBars);
            page2.AddSubMenu(autoItems);
            page2.AddSubMenu(lastPosition);
            page2.AddSubMenu(netWorth);
            page2.AddSubMenu(dmgCalc);
            page2.AddSubMenu(tpCatcher);
            dmgCalc.AddSubMenu(defCol);
            dmgCalc.AddSubMenu(killableCol);

            Members.Menu.AddSubMenu(settings);
            Members.Menu.AddSubMenu(devolper);

            Members.HeroesList = new HeroesList();
            Members.Manabars = new Manabars();
            Members.ItemOverlay = new ItemOverlay();
            Members.DamageCalculation = new DamageCalculation();
            Members.AbilityOverlay = new AbilityOverlay();

            if (Drawing.Direct3DDevice9 != null)
                Members.RoshanFont = new Font(
                    Drawing.Direct3DDevice9,
                    new FontDescription
                    {
                        FaceName = "Tahoma",
                        Height = 15,
                        OutputPrecision = FontPrecision.Default,
                        Quality = FontQuality.Default
                    });
            Events.OnLoad += (sender, args) =>
            {
                Members.MyHero = ObjectManager.LocalHero;
                Members.MyClass = Members.MyHero.ClassID;
                Members.MyPlayer = ObjectManager.LocalPlayer;

                Members.AbilityDictionary = new Dictionary<uint, List<Ability>>();
                Members.ItemDictionary = new Dictionary<uint, List<Item>>();
                Members.StashItemDictionary = new Dictionary<uint, List<Item>>();
                Members.NetWorthDictionary = new Dictionary<string, long>();

                Members.Heroes = new List<Hero>();
                Members.AllyHeroes = new List<Hero>();
                Members.EnemyHeroes = new List<Hero>();
                Members.Players = new List<Player>();
                Members.AllyPlayers = new List<Player>();
                Members.EnemyPlayers = new List<Player>();
                Members.BaseList = new List<Unit>();

                Members.PAisHere = null;
                Members.BaraIsHere = false;
                Members.Apparition = false;
                Members.Mirana = null;
                Members.Windrunner = null;
                Updater.HeroList.Flush();
                Updater.BaseList.Flush();
                Updater.PlayerList.Flush();
                Game.OnUpdate += Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate += Updater.BaseList.Update;
                Game.OnUpdate += Devolp.ConsoleCommands;
                RoshanAction.Flush();
                AutoItems.Flush();
                Game.OnUpdate += RoshanAction.Roshan;
                Game.OnUpdate += Game_OnUpdate;

                Drawing.OnDraw += DrawHelper.Overlay;

                Drawing.OnDraw += ItemPanel.Draw;
                ShowMeMore.Flush();
                Drawing.OnDraw += ShowMeMore.Draw;

                Entity.OnParticleEffectAdded += ShowMeMore.Entity_OnParticleEffectAdded;

                Unit.OnModifierAdded += ShowMeMore.OnModifierAdded;
                Unit.OnModifierRemoved += ShowMeMore.OnModifierRemoved;
                Runes.Flush();
                Drawing.OnDraw += Runes.Draw;

                Drawing.OnPreReset += DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset += DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene += DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc += Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload += DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent += FireEvent.Game_OnGameEvent;

                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Members.Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                Printer.PrintSuccess("> " + Members.Menu.DisplayName + " loaded v" +
                                     Assembly.GetExecutingAssembly().GetName().Version);

                /*Entity.OnParticleEffectAdded += Entity_OnParticleEffectAdded;
                Drawing.OnDraw += Drawing_OnDraw;*/
                try
                {
                    Members.Menu.AddToMainMenu();
                    if (Members.Menu.Item("Dev.CreepsDisabler.enable").GetValue<bool>())
                        Game.ExecuteCommand("dota_creeps_no_spawning_enable");
                }
                catch (Exception)
                {
                    Printer.Print("Members.Menu.AddToMainMenu();");
                }
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate -= Updater.BaseList.Update;
                Game.OnUpdate -= Devolp.ConsoleCommands;
                Game.OnUpdate -= RoshanAction.Roshan;
                Game.OnUpdate -= Game_OnUpdate;

                Drawing.OnDraw -= DrawHelper.Overlay;
                Drawing.OnDraw -= ItemPanel.Draw;
                Drawing.OnDraw -= ShowMeMore.Draw;
                Entity.OnParticleEffectAdded -= ShowMeMore.Entity_OnParticleEffectAdded;
                Unit.OnModifierAdded -= ShowMeMore.OnModifierAdded;
                Unit.OnModifierRemoved -= ShowMeMore.OnModifierRemoved;
                Drawing.OnDraw -= Runes.Draw;
                Drawing.OnPreReset -= DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset -= DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene -= DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc -= Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload -= DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent -= FireEvent.Game_OnGameEvent;
                Members.TopPanelPostiion.Clear();
                Members.Heroes.Clear();
                Members.EnemyHeroes.Clear();
                Members.AllyHeroes.Clear();
                Printer.PrintInfo("> " + Members.Menu.DisplayName + " unloaded");
                try
                {
                    Members.Menu.RemoveFromMainMenu();
                }
                catch (Exception)
                {
                    Printer.PrintError("Members.Menu.RemoveFromMainMenu();");
                }

            };
        }
Example #27
0
        private static void Main()
        {
            Game.OnUpdate += Game_OnUpdate;
            _loaded = false;
            Drawing.OnDraw += Drawing_OnDraw;
            Game.OnWndProc += Game_OnWndProc;
            Player.OnExecuteOrder += Player_OnExecuteAction;
            /*Drawing.OnPreReset += Drawing_OnPreReset;
            Drawing.OnPostReset += Drawing_OnPostReset;
            Drawing.OnEndScene += Drawing_OnEndScene;
            AppDomain.CurrentDomain.DomainUnload += CurrentDomainDomainUnload;*/
            Menu.AddItem(new MenuItem("Hotkey", "Combo Key").SetValue(new KeyBind('G', KeyBindType.Press)));
            var sunStrikeSettings=new Menu("Sun Strike Settings","ssSettings");
            /*sunStrikeSettings.AddItem(
                new MenuItem("hotkey", "Hotkey").SetValue(new KeyBind('T', KeyBindType.Press))
                    .SetTooltip("press hotkey for auto SunStrike"));
            sunStrikeSettings.AddItem(new MenuItem("ssShift", "Use Shift With Hotkey").SetValue(true));*/
            sunStrikeSettings.AddItem(new MenuItem("ssDamageontop", "Show Damage on Top Panel").SetValue(false));
            sunStrikeSettings.AddItem(new MenuItem("ssDamageonhero", "Show Damage on Hero").SetValue(false));
            sunStrikeSettings.AddItem(new MenuItem("ssPrediction", "Show Prediction").SetValue(false));
            


            var combo = new Menu("Combos", "combos");
            combo.AddItem(
                new MenuItem("hotkeyPrev", "Previous Combo").SetValue(new KeyBind(0x6B, KeyBindType.Press))
                    .SetTooltip("default hotkey is notepad [+]"));
            combo.AddItem(
                new MenuItem("hotkeyNext", "Next Combo").SetValue(new KeyBind(0x6D, KeyBindType.Press))
                    .SetTooltip("default hotkey is notepad [-]"));
            combo.AddItem(new MenuItem("ShowComboMenu", "Show Combo Menu").SetValue(true));
            //combo.AddItem(new MenuItem("ShowCurrentCombo", "Show Current Combo").SetValue(true));



            var showComboMenuPos = new Menu("Combo menu position", "ShowComboMenuPos");
            showComboMenuPos.AddItem(
                new MenuItem("MenuPosX", "Pos X").SetValue(new Slider(100, 0, 3000)));
            showComboMenuPos.AddItem(
                new MenuItem("MenuPosY", "Pos Y").SetValue(new Slider(100, 0, 3000)));



            /*var showCurrentCombo = new Menu("Current Combo position", "showCurrentCombo");
            showCurrentCombo.AddItem(
                new MenuItem("MenuPosX", "Extra Pos X").SetValue(new Slider(0, -2500, 2500)));
            showCurrentCombo.AddItem(
                new MenuItem("MenuPosY", "Extra Pos Y").SetValue(new Slider(0, -2500, 2500)));
            */
            var smart = new Menu("Smart Sphere", "Smart");

            /*var onmov = new Dictionary<string, bool>()
            {
                {"invoker_exort",false},
                {"invoker_wex",false},
                {"invoker_quas",true}
            };
            var onatt = new Dictionary<string, bool>()
            {
                {"invoker_exort",false},
                {"invoker_wex",false},
                {"invoker_quas",true}
            };*/
            smart.AddItem(new MenuItem("smartIsActive", "Is Active").SetValue(true));
            smart.AddItem(new MenuItem("OnMoving", "On moving").SetValue(new StringList(new[] {"quas", "wex"})));
            smart.AddItem(
                new MenuItem("OnAttacking", "On attacking").SetValue(new StringList(new[] {"quas", "wex", "exort"}, 2)));

            //om.ValueChanged += OnMoveChange;
            //ot.ValueChanged += OnAttackChange;

            var items = new Dictionary<string, bool>()
            {
                {"item_blink",true},
                {"item_refresher",true},
                {"item_orchid",true},
                {"item_sheepstick",true},
                {"item_urn_of_shadows",true}
            };
            var settings = new Menu("Settings", "Settings");
            settings.AddItem(new MenuItem("items", "Items:").SetValue(new AbilityToggler(items)));
            settings.AddItem(new MenuItem("moving", "MoveToEnemy").SetValue(true).SetTooltip("while combing"));


            combo.AddSubMenu(showComboMenuPos);
            //combo.AddSubMenu(showCurrentCombo);
            Menu.AddSubMenu(settings);
            Menu.AddSubMenu(smart);
            Menu.AddSubMenu(sunStrikeSettings);
            Menu.AddSubMenu(combo);
            Menu.AddToMainMenu();
        }
Example #28
0
        private static void Main()
        {
            var toppanel = new Menu("TopPanel", "TopPanel");
            toppanel.AddItem(new MenuItem("TopPanel.Hp", "Show Health on Top").SetValue(true));
            toppanel.AddItem(new MenuItem("TopPanel.Mana", "Show Mana on Top").SetValue(true));
            toppanel.AddItem(new MenuItem("TopPanel.Roshan", "Show Roshan Timer").SetValue(true));
            
            var extra = new Menu("Extra", "Extra");
            extra.AddItem(new MenuItem("ShowIllusions.Enable", "Show Illusions").SetValue(true));
            //Menu.AddItem(new MenuItem("perfomance", "Perfomance").SetValue(new Slider(1,1,500)).SetTooltip("1 - good PC, 500 - wooden PC"));

            var showmemore = new Menu("Show Me More", "showMeMore");
            showmemore.AddItem(new MenuItem("showMeMore.Enable", "Show Me More").SetValue(true));
            showmemore.AddItem(new MenuItem("SideMessage.Enable", "Show SideMessage").SetValue(true));
            
            var types = new Menu("Types", "Types");
            var sunstrike = new Menu("", "modifier_invoker_sun_strike", false, "invoker_sun_strike",true);
            var lightstrike = new Menu("", "modifier_lina_light_strike_array", false, "lina_light_strike_array", true);
            var torrent = new Menu("", "modifier_kunkka_torrent_thinker", false, "kunkka_torrent", true);
            var splitearth = new Menu("", "modifier_leshrac_split_earth_thinker", false, "leshrac_split_earth", true);
            var charge = new Menu("", "modifier_spirit_breaker_charge_of_darkness_vision", false, "spirit_breaker_charge_of_darkness", true);

            sunstrike.AddItem(new MenuItem("modifier_invoker_sun_strike.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            sunstrike.AddItem(new MenuItem("modifier_invoker_sun_strike.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            sunstrike.AddItem(new MenuItem("modifier_invoker_sun_strike.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));

            lightstrike.AddItem(new MenuItem("modifier_lina_light_strike_array.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            lightstrike.AddItem(new MenuItem("modifier_lina_light_strike_array.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            lightstrike.AddItem(new MenuItem("modifier_lina_light_strike_array.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));

            torrent.AddItem(new MenuItem("modifier_kunkka_torrent_thinker.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            torrent.AddItem(new MenuItem("modifier_kunkka_torrent_thinker.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            torrent.AddItem(new MenuItem("modifier_kunkka_torrent_thinker.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));

            splitearth.AddItem(new MenuItem("modifier_leshrac_split_earth_thinker.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            splitearth.AddItem(new MenuItem("modifier_leshrac_split_earth_thinker.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            splitearth.AddItem(new MenuItem("modifier_leshrac_split_earth_thinker.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));

            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontStyle(FontStyle.Bold, Color.Red));
            charge.AddItem(new MenuItem("modifier_spirit_breaker_charge_of_darkness_vision.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            charge.AddItem(new MenuItem("modifier_spirit_breaker_charge_of_darkness_vision.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            charge.AddItem(new MenuItem("modifier_spirit_breaker_charge_of_darkness_vision.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));
            charge.AddItem(new MenuItem("modifier_spirit_breaker_charge_of_darkness_vision.Alpha", "Alpha").SetValue(new Slider(2, 0, 255)).SetFontStyle(FontStyle.Bold, Color.WhiteSmoke));


            var enemyStatus = new Menu("Enemy Status", "enemystatus");
            enemyStatus.AddItem(new MenuItem("EnemyStatus.Enable", "Activated").SetValue(true));
            enemyStatus.AddItem(new MenuItem("EnemyStatus.Timer.Enable", "Show Enemy Status").SetValue(true).SetTooltip("show how long enemy in current status (in fog, in invis, under vision)"));
            enemyStatus.AddItem(new MenuItem("EnemyStatus.PaOnMinimap.Enable", "Show PhantomAssasin on minimap").SetValue(true).SetFontStyle(FontStyle.Bold, Color.Gray));
            enemyStatus.AddItem(new MenuItem("EnemyStatus.Map.Enable", "Show Enemy Last Position on Map").SetValue(true));
            enemyStatus.AddItem(new MenuItem("EnemyStatus.Vision.Enable", "Show on top panel Ally's vision status").SetValue(true));
            
            var dangitems=new Menu("Dangerous Items","dangitems");
            dangitems.AddItem(new MenuItem("DangItems.Enable", "Show Dangerous Items").SetValue(true));
            //dangitems.AddItem(new MenuItem("dangItemEnemy", "Only For Enemy").SetValue(true));
            var dict = new Dictionary<string, bool>
            {
                {"item_gem", true},
                {"item_dust", true},
                {"item_sphere", true},
                {"item_blink", true},
                {"item_ward_observer", true},
                {"item_ward_sentry", true},
                {"item_black_king_bar", true},
                {"item_ward_dispenser", true}
            };
            dangitems.AddItem(new MenuItem("dangItemsUsage", "Item List: ").SetValue(new AbilityToggler(dict)));

            var ultimates = new Menu("Ultimates", "ultimates");
            ultimates.AddItem(new MenuItem("Ultimates.Icon.Enable", "Show ultimate Icon").SetValue(true));
            ultimates.AddItem(new MenuItem("Ultimates.Text.Enable", "Show ultimate Text").SetValue(true).SetFontStyle(FontStyle.Bold, Color.Gray));

            var autoItems = new Menu("Auto Items", "autoitems");
            autoItems.AddItem(new MenuItem("AutoItems.Enable", "Auto Items Active").SetValue(false));
            var autoitemlist = new Dictionary<string, bool>
            {
                {"item_magic_wand", false},
                {"item_phase_boots", true},
                {"item_hand_of_midas", true}
            };
            autoItems.AddItem(new MenuItem("AutoItems.List", "Item List: ").SetValue(new AbilityToggler(autoitemlist)));
            autoItems.AddItem(new MenuItem("AutoItems.Health", "Minimum Health (%)").SetValue(new Slider(30, 1)));
            autoItems.AddItem(new MenuItem("AutoItems.Mana", "Minimum Mana (%)").SetValue(new Slider(30, 1)));

            var runes = new Menu("Rune Notification", "runenotification");
            runes.AddItem(new MenuItem("RuneNotification.Enable", "Print Info").SetValue(true));
            runes.AddItem(new MenuItem("RuneNotification.onMap.Enable", "Show on Minimap").SetValue(false).SetFontStyle(FontStyle.Bold, Color.Gray));

            var spellpanel = new Menu("SpellPanel", "SpellPanel");
            spellpanel.AddItem(new MenuItem("SpellPanel.Enable", "Show Ability").SetValue(true));
            spellpanel.AddItem(new MenuItem("SpellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(0, 0, 200)));
            spellpanel.AddItem(new MenuItem("SpellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(0, 0, 200)));
            spellpanel.AddItem(new MenuItem("SpellPanel.SizeSpell", "Level size").SetValue(new Slider(0, 1, 25)));
            spellpanel.AddItem(new MenuItem("SpellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            spellpanel.AddItem(new MenuItem("SpellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            
            var settings = new Menu("Settings", "settings");
            settings.AddItem(new MenuItem("BarPosX", "HP/MP bar Position X").SetValue(new Slider(0, -300, 300)));
            settings.AddItem(new MenuItem("BarPosY", "HP/MP bar Position Y").SetValue(new Slider(0, -300, 300)));
            settings.AddItem(new MenuItem("BarSizeY", "HP/MP bar Size Y").SetValue(new Slider(0, -10, 10)));

            /*var visibility = new Menu("Visibility", "Visibility");
            visibility.AddItem(new MenuItem("Visibility.Enable", "Enable").SetValue(false).SetFontStyle(FontStyle.Bold, Color.Gray).SetTooltip("can cause game crashing"));
            visibility.AddItem(new MenuItem("Visibility.Red", "Red").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Red));
            visibility.AddItem(new MenuItem("Visibility.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Green));
            visibility.AddItem(new MenuItem("Visibility.Blue", "Blue").SetValue(new Slider(100, 0, 255)).SetFontStyle(FontStyle.Bold, Color.Blue));
            visibility.AddItem(new MenuItem("Visibility.Alpha", "Alpha").SetValue(new Slider(50, 0, 255)).SetFontStyle(FontStyle.Bold, Color.WhiteSmoke));*/

            


            //Menu.AddSubMenu(visibility);
            types.AddSubMenu(charge);
            types.AddSubMenu(sunstrike);
            types.AddSubMenu(lightstrike);
            types.AddSubMenu(torrent);
            types.AddSubMenu(splitearth);
            showmemore.AddSubMenu(types);
            Menu.AddSubMenu(toppanel);
            toppanel.AddSubMenu(ultimates);
            Menu.AddSubMenu(spellpanel);
            Menu.AddSubMenu(showmemore);
            Menu.AddSubMenu(dangitems);
            extra.AddSubMenu(autoItems);
            extra.AddSubMenu(runes);
            toppanel.AddSubMenu(enemyStatus);
            Menu.AddSubMenu(extra);
            Menu.AddSubMenu(settings);
            
            Menu.AddToMainMenu();

            _roshanFont = new Font(
                Drawing.Direct3DDevice9,
                new FontDescription
                {
                    FaceName = "Tahoma",
                    Height = 15,
                    OutputPrecision = FontPrecision.Default,
                    Quality = FontQuality.Default
                });
            Events.OnLoad += (sender, args) =>
            {
                MePlayer = ObjectMgr.LocalPlayer;
                MeHero = ObjectMgr.LocalHero;
                Game.OnUpdate += GameOnOnUpdate;
                Drawing.OnDraw+=Drawing_OnDraw;
                Drawing.OnPreReset += Drawing_OnPreReset;
                Drawing.OnPostReset += Drawing_OnPostReset;
                Drawing.OnEndScene += Drawing_OnEndScene;
                AppDomain.CurrentDomain.DomainUnload += CurrentDomainDomainUnload;
                Game.OnFireEvent += Game_OnGameEvent;
                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#ff0000'>" +
                    "OverlayInformation loaded! </font><font color='#0055FF'> v" +
                    Assembly.GetExecutingAssembly().GetName().Version, MessageType.LogMessage);
            };

            Events.OnClose += (sender, args) =>
            {
                TopPos.Clear();
                InSystem.Clear();
                Game.OnUpdate -= GameOnOnUpdate;
                Drawing.OnDraw -= Drawing_OnDraw;
                Drawing.OnPreReset -= Drawing_OnPreReset;
                Drawing.OnPostReset -= Drawing_OnPostReset;
                Drawing.OnEndScene -= Drawing_OnEndScene;
                AppDomain.CurrentDomain.DomainUnload -= CurrentDomainDomainUnload;
                Game.OnFireEvent -= Game_OnGameEvent;
            };
            
        }
Example #29
0
        public static void Init()
        {
            if (_loaded)
            {
                return;
            }
            _loaded = true;
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var topPanel           = new Menu("Top Panel", "toppanel");
            var spellPanel         = new Menu("Spell Panel", "spellPanel");
            var ultimate           = new Menu("Ultimate", "ultimate");
            var health             = new Menu("Health Panel", "health");
            var mana               = new Menu("Mana Panel", "mana");
            var status             = new Menu("Status panel", "status");
            var visionOnAllyHeroes = new Menu("Vision on Ally Heroes", "Vision on Ally Heroes");
            var extraPos           = new Menu("Extra Position", "extraPos");
            var itemPanel          = new Menu("Item panel", "itempanel");

            var roshanTimer  = new Menu("Roshan Timer", "roshanTimer");
            var showMeMore   = new Menu("Show Me More", "showmemore");
            var showIllusion = new Menu("Show Illusion", "showillusion");
            var runevision   = new Menu("Rune Vision", "runevision");

            var autoItems = new Menu("Auto Items", "autoitems");
            var settings  = new Menu("Settings", "Settings");
            var page1     = new Menu("Page 1", "Page 1");
            var page2     = new Menu("Page 2", "Page 2");

            //===========================
            itemPanel.AddItem(new MenuItem("itempanel.Enable", "Enable old version").SetValue(false));
            itemPanel.AddItem(new MenuItem("itempanel.new.Enable", "Enable new version").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Stash.Enable", "Draw Stash Items").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Button.Enable", "Draw Button for toggle").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.X", "Panel Position X").SetValue(new Slider(100, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.Y", "Panel Position Y").SetValue(new Slider(200, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            itemPanel.AddItem(new MenuItem("itempanel.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            itemPanel.AddItem(new MenuItem("itempanel.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            topPanel.AddItem(new MenuItem("toppanel.Enable", "Enable").SetValue(true));
            topPanel.AddItem(
                new MenuItem("toppanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            //===========================
            spellPanel.AddItem(new MenuItem("spellpanel.Enable", "Enable").SetValue(true));
            spellPanel.AddItem(
                new MenuItem("spellpanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            var oldMethod = new Menu("OldMethod", "Without Textures");

            oldMethod.AddItem(new MenuItem("spellpanel.OldMethod.Enable", "Enable").SetValue(true));
            oldMethod.AddItem(new MenuItem("spellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(36, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(6, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.SizeSpell", "Level size").SetValue(new Slider(3, 1, 25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            //---0-0-0-0-0-
            var newMethod = new Menu("New Method", "With Textures");

            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Enable", "Enable").SetValue(false));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.IconSize", "Icon Size").SetValue(new Slider(25, 1, 100)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.SizeLevel", "Text Size (for level)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Size", "Text Size (for cooldown/mana)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraX", "Extra position X").SetValue(new Slider(0, -150, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraY", "Extra position Y").SetValue(new Slider(0, -150, 150)));
            //===========================
            ultimate.AddItem(new MenuItem("ultimate.Enable", "Enable").SetValue(true));
            ultimate.AddItem(new MenuItem("ultimate.Icon.Enable", "Draw Icon").SetValue(true));
            ultimate.AddItem(
                new MenuItem("ultimate.Icon.Extra.Enable", "Draw Mana req with cd").SetValue(true)
                .SetTooltip("render lack of mana when spell on cooldown"));
            ultimate.AddItem(
                new MenuItem("ultimate.Type", "Type of drawing").SetValue(
                    new StringList(new[] { "Draw Icon", "Draw Line" }))).ValueChanged += (sender, args) =>
            {
                var newArg    = args.GetNewValue <StringList>().SelectedIndex;
                var newColor  = newArg == 1 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                var newColor2 = newArg == 0 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                Members.Menu.Item("ultimate.Info").SetFontColor(newColor);
                Members.Menu.Item("ultimate.InfoAlways").SetFontColor(newColor);
                Members.Menu.Item("ultimate.Line.Size").SetFontColor(newColor2);
            };
            ultimate.AddItem(
                new MenuItem("ultimate.Info", "Show details").SetValue(true)
                .SetTooltip("show Ultimate's CD if u put ur mouse on icon"));
            ultimate.AddItem(
                new MenuItem("ultimate.InfoAlways", "Show details all time").SetValue(true)
                .SetTooltip("Show Details should be enabled"));
            ultimate.AddItem(
                new MenuItem("ultimate.Line.Size", "Line Size").SetValue(new Slider(15, 7, 30)));

            //===========================
            health.AddItem(new MenuItem("toppanel.Health.Enable", "Enable").SetValue(true));
            //===========================
            mana.AddItem(new MenuItem("toppanel.Mana.Enable", "Enable").SetValue(true));
            //===========================
            status.AddItem(new MenuItem("toppanel.Status.Enable", "Enable").SetValue(true));
            visionOnAllyHeroes.AddItem(new MenuItem("toppanel.AllyVision.Enable", "Vision on Ally Heroes").SetValue(true)).ValueChanged +=
                (sender, args) =>
            {
                if (!args.GetNewValue <bool>())
                {
                    VisionHelper.Flush();
                }
            };
            var items = new MenuItem[5];

            visionOnAllyHeroes.AddItem(
                new MenuItem("toppanel.AllyVision.Type", "Type:").SetValue(new StringList(new[] { "rectangle", "text" }))).ValueChanged +=
                (sender, args) =>
            {
                var index = args.GetNewValue <StringList>().SelectedIndex;
                if (index == 0)
                {
                    items[0].SetFontColor(Color.Red);
                    items[1].SetFontColor(Color.Green);
                    items[2].SetFontColor(Color.Blue);
                    items[3].SetFontColor(Color.WhiteSmoke);
                    items[4].SetFontColor(Color.GreenYellow);
                }
                else
                {
                    foreach (var menuItem in items)
                    {
                        menuItem.SetFontColor(Color.Gray);
                    }
                    items[4].SetFontColor(Color.Red);
                    VisionHelper.Flush();
                }
            };
            items[4] = visionOnAllyHeroes.AddItem(new MenuItem("text1", "Settings for rectangle:"));
            items[0] = visionOnAllyHeroes.AddItem(new MenuItem("AllyVision.Red", "Red").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Red));
            items[1] = visionOnAllyHeroes.AddItem(new MenuItem("AllyVision.Green", "Green").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.Green));
            items[2] = visionOnAllyHeroes.AddItem(new MenuItem("AllyVision.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            items[3] = visionOnAllyHeroes.AddItem(new MenuItem("AllyVision.Alpha", "Alpha").SetValue(new Slider(40, 0, 255)).SetFontColor(Color.WhiteSmoke));
            status.AddItem(new MenuItem("toppanel.EnemiesStatus.Enable", "Enemies status").SetValue(true));
            //===========================
            extraPos.AddItem(
                new MenuItem("extraPos.X", "Extra Position for top panel: X").SetValue(new Slider(0, -25, 25)));
            extraPos.AddItem(
                new MenuItem("extraPos.Y", "Extra Position for top panel: Y").SetValue(new Slider(0, -25, 25)));
            //===========================
            roshanTimer.AddItem(new MenuItem("roshanTimer.Enable", "Enable").SetValue(true));
            //===========================
            showMeMore.AddItem(new MenuItem("showmemore.Enable", "Enable").SetValue(true));
            var charge = new Menu("", "charge", false, "spirit_breaker_charge_of_darkness", true);

            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Enable", "Enable").SetValue(true));
            charge.AddItem(new MenuItem("charge.Rect.Enable", "Draw red box").SetValue(false));
            charge.AddItem(new MenuItem("charge.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Green));
            charge.AddItem(new MenuItem("charge.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            charge.AddItem(new MenuItem("charge.Alpha", "Alpha").SetValue(new Slider(4, 0, 255)).SetFontColor(Color.WhiteSmoke));
            //===========================
            var blur = new Menu("", "blur", false, "phantom_assassin_blur", true);

            blur.AddItem(new MenuItem("blur.Enable", "Show PA on minimap").SetValue(true));
            //===========================
            var wr = new Menu("", "wr", false, "windrunner_powershot", true);

            wr.AddItem(new MenuItem("wr.Enable", "Enable").SetValue(true));
            wr.AddItem(new MenuItem("wr.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            wr.AddItem(new MenuItem("wr.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            wr.AddItem(new MenuItem("wr.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var mirana = new Menu("", "mirana", false, "mirana_arrow", true);

            mirana.AddItem(new MenuItem("mirana.Enable", "Enable").SetValue(true));
            mirana.AddItem(new MenuItem("mirana.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            mirana.AddItem(new MenuItem("mirana.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            mirana.AddItem(new MenuItem("mirana.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var apparition = new Menu("", "apparition", false, "ancient_apparition_ice_blast", true);

            apparition.AddItem(new MenuItem("apparition.Enable", "Enable").SetValue(true));
            var lina = new Menu("", "lina", false, "lina_light_strike_array", true);

            lina.AddItem(new MenuItem("lina.Enable", "Enable").SetValue(true));
            var invoker = new Menu("", "invoker", false, "invoker_sun_strike", true);

            invoker.AddItem(new MenuItem("invoker.Enable", "Enable").SetValue(true));
            invoker.AddItem(new MenuItem("invoker.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            invoker.AddItem(new MenuItem("invoker.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            invoker.AddItem(new MenuItem("invoker.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var lesh = new Menu("", "lesh", false, "leshrac_split_earth", true);

            lesh.AddItem(new MenuItem("lesh.Enable", "Enable").SetValue(true));
            var kunkka = new Menu("", "kunkka", false, "kunkka_torrent", true);

            kunkka.AddItem(new MenuItem("kunkka.Enable", "Enable").SetValue(true));
            kunkka.AddItem(new MenuItem("kunkka.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            kunkka.AddItem(new MenuItem("kunkka.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            kunkka.AddItem(new MenuItem("kunkka.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var tech = new Menu("", "tech", false, "npc_dota_hero_techies", true);

            tech.AddItem(new MenuItem("tech.Enable", "Enable").SetValue(true));
            var tinker = new Menu("", "tinker", false, "npc_dota_hero_tinker", true);

            tinker.AddItem(new MenuItem("tinker.Enable", "Enable").SetValue(true));
            var lifestealer = new Menu("", "life stealer", false, "life_stealer_infest", true);

            lifestealer.AddItem(new MenuItem("lifestealer.Enable", "Enable").SetValue(true));
            lifestealer.AddItem(new MenuItem("lifestealer.Icon.Enable", "Draw icon near hero").SetValue(false));
            lifestealer.AddItem(new MenuItem("lifestealer.creeps.Enable", "Draw icon near creep").SetValue(false));
            var arc = new Menu("", "arc", textureName: "arc_warden_spark_wraith", showTextWithTexture: true);

            arc.AddItem(new MenuItem("arc.Enable", "Enable").SetValue(true));
            var scan = new Menu("Enemy Scanning Ability", "Scan");

            scan.AddItem(new MenuItem("scan.Enable", "Enable").SetValue(true));
            var courEsp = new Menu("Courier on Minimap", "Cour");

            courEsp.AddItem(new MenuItem("Cour.Enable", "Enable").SetValue(true));
            var linkenEsp = new Menu("linken Esp", "linkenEsp", textureName: "item_sphere", showTextWithTexture: true);

            linkenEsp.AddItem(new MenuItem("linkenEsp.Enable", "Enable").SetValue(true))
            .SetTooltip("will create a linken effect on hero");
            //var cour = new Menu("Courier", "Courier");
            //cour.AddItem(new MenuItem("Courier.Enable", "Enable").SetValue(true)).SetTooltip("draw courier position on minimap");
            //===========================
            showIllusion.AddItem(new MenuItem("showillusion.Enable", "Enable").SetValue(true));
            showIllusion.AddItem(
                new MenuItem("showillusion.Type", "Type").SetValue(new StringList(new[] { "Smoke", "new 1", "new 2", "balloons" }, 2)));
            showIllusion.AddItem(new MenuItem("showillusion.X", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            showIllusion.AddItem(new MenuItem("showillusion.Y", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            showIllusion.AddItem(new MenuItem("showillusion.Z", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            showIllusion.AddItem(new MenuItem("showillusion.Alpha", "Alpha").SetValue(new Slider(40, 0, 255)));
            showIllusion.AddItem(new MenuItem("showillusion.Size", "Size").SetValue(new Slider(120, 1, 250)));
            //===========================
            runevision.AddItem(new MenuItem("runevision.Enable", "Enable").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.PrintText.Enable", "Print text on rune-spawning").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.DrawOnMinimap.Enable", "Draw rune on minimap").SetValue(true));
            //===========================
            var itemOverlay = new Menu("Item overlay", "itemOverlay");

            itemOverlay.AddItem(new MenuItem("itemOverlay.Enable", "Enable").SetValue(false)).SetTooltip("will show all items on heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DrawCharges", "Draw Charges").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Size", "Size").SetValue(new Slider(100, 1, 200)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Extra", "Extra").SetValue(new Slider(26, 1, 100)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Ally", "Enable for ally").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Enemy", "Enable for enemy").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Cour", "Enable for couriers").SetValue(true)).SetTooltip("only for enemy");
            var tpCatcher = new Menu("TP Catcher", "TpCather");

            tpCatcher.AddItem(new MenuItem("TpCather.Enable", "Enable").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Ally", "For Ally").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Enemy", "For Enemy").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Map", "Draw on Map").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap", "Draw on MiniMap").SetValue(true));
            tpCatcher.AddItem(
                new MenuItem("TpCather.MiniMap.Type", "Draw on MiniMap Hero Icon or Rectangle").SetValue(true))
            .SetTooltip("true=icon; false=rectangle");
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap.Size", "MiniMap Size").SetValue(new Slider(20, 5, 30))).ValueChanged += TeleportCatcher.OnValueChanged;
            tpCatcher.AddItem(new MenuItem("TpCather.Map.Size", "Map Size").SetValue(new Slider(50, 5, 50)));
            tpCatcher.AddItem(new MenuItem("TpCather.DrawLines", "Draw lines").SetValue(false));
            tpCatcher.AddItem(new MenuItem("TpCather.SmartDrawingColors", "Use smart colors for drawing").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.EnableSideMessage", "Enable side notifications").SetValue(true)).SetTooltip("only for enemy");
            tpCatcher.AddItem(new MenuItem("TpCather.ExtraTimeForDrawing", "Draw icon extra few seconds after tp").SetValue(true));
            var tpCatcherTimer = new Menu("TP Timer", "TpCatherTimer");

            tpCatcherTimer.AddItem(new MenuItem("TpCather.Timer", "Enable timer").SetValue(true));
            tpCatcherTimer.AddItem(new MenuItem("TpCather.Timer.Size", "Text Size").SetValue(new Slider(17, 5, 25)));

            /*var hitCather = new Menu("Hit Catcher", "HitCatcher");
             * hitCather.AddItem(new MenuItem("HitCatcher.Enable", "Enable").SetValue(true));
             * hitCather.AddItem(new MenuItem("HitCatcher.Map", "Draw on Map").SetValue(true));
             * hitCather.AddItem(new MenuItem("HitCatcher.MiniMap", "Draw on MiniMap").SetValue(true));
             * hitCather.AddItem(new MenuItem("HitCatcher.DrawLineOnMap", "Draw Line on Map").SetValue(true));*/
            var manaBars = new Menu("Manabars", "manaBars");

            manaBars.AddItem(new MenuItem("manaBars.Enable", "Enable").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Enable", "Enable digital values").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Size", "Dig Size").SetValue(new Slider(75, 1, 150)));
            manaBars.AddItem(new MenuItem("manaBars.Size", "Size").SetValue(new Slider(75, 1, 150)));

            manaBars.AddItem(new MenuItem("manaBars.Red", "Red").SetValue(new Slider(65, 0, 255)).SetFontColor(Color.Red));
            manaBars.AddItem(new MenuItem("manaBars.Green", "Green").SetValue(new Slider(105, 0, 255)).SetFontColor(Color.Green));
            manaBars.AddItem(new MenuItem("manaBars.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));

            //var dangItem = new Menu("Dangerous items", "dangitems");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DangItems", "Draw only dangerous items").SetValue(false)).SetTooltip("show if enemy has Dangerous items. Working only for enemy heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.OldMethod", "Use old method for drawing dangItems").SetValue(false));

            var dict = new Dictionary <string, bool>
            {
                { "item_gem", true },
                { "item_dust", true },
                { "item_sphere", true },
                { "item_blink", true },
                { "item_ward_observer", true },
                { "item_ward_sentry", true },
                { "item_black_king_bar", true },
                { "item_invis_sword", true },
                { "item_silver_edge", true },
                { "item_ward_dispenser", true }
            };

            itemOverlay.AddItem(new MenuItem("itemOverlay.List", "Items: ").SetValue(new AbilityToggler(dict)));
            //===========================
            autoItems.AddItem(new MenuItem("autoitems.Enable", "Enable").SetValue(true));
            autoItems.AddItem(new MenuItem("autoItems.Percent", "Health(%) for auto stick").SetValue(new Slider(15)));
            autoItems.AddItem(new MenuItem("autoItems.Percent2", "Mana(%) for auto stick").SetValue(new Slider(15)));
            var autoitemlist = new Dictionary <string, bool>
            {
                { "item_magic_wand", true },
                { "item_phase_boots", true },
                { "item_hand_of_midas", true }
            };

            autoItems.AddItem(new MenuItem("autoitems.List", "Items:").SetValue(new AbilityToggler(autoitemlist)));
            //===========================
            var lastPosition = new Menu("Last position", "lastPosition");

            lastPosition.AddItem(new MenuItem("lastPosition.Enable", "Enable").SetValue(true)).SetTooltip("show last positions of enemies");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Prediction", "Enable Prediction").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Map", "on Map").SetValue(false));
            lastPosition.AddItem(new MenuItem("lastPosition.Map.X", "icon size").SetValue(new Slider(50, 10, 150)));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Minimap", "on Minimap").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Minimap.X", "icon size").SetValue(new Slider(20, 10, 150)));

            //===========================
            var netWorth = new Menu("NetWorth Graph", "netWorth");

            netWorth.AddItem(new MenuItem("netWorth.Enable", "Enable").SetValue(true)).SetTooltip("draw networth graph based on item cost");
            netWorth.AddItem(new MenuItem("netWorth.Order", "Sort Players").SetValue(true));
            netWorth.AddItem(
                new MenuItem("netWorth.X", "Position: X").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(
                new MenuItem("netWorth.Y", "Position: Y").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(new MenuItem("netWorth.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            netWorth.AddItem(new MenuItem("netWorth.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            netWorth.AddItem(new MenuItem("netWorth.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var netWorthBar = new Menu("NetWorth Bar", "netWorthBar");

            netWorthBar.AddItem(new MenuItem("netWorthBar.Enable", "Enable").SetValue(true)).SetTooltip("draw networth bar based on item cost");
            netWorthBar.AddItem(new MenuItem("netWorthBar.Percents.Enable", "Draw percent").SetValue(true));
            netWorthBar.AddItem(new MenuItem("netWorthBar.TeamWorth.Enable", "Draw Team Networth").SetValue(true));
            netWorthBar.AddItem(new MenuItem("netWorthBar.Size", "Size").SetValue(new Slider(20, 1, 255)));
            netWorthBar.AddItem(new MenuItem("netWorthBar.coef", "Team Netwoth Text Size").SetValue(new Slider(15, 1, 25)));
            var netWorthBarColors = new Menu("Colors", "netWorthBar.colors");
            var radiantColor      = new Menu("Ally Color", "netWorthBar.colors.radiant");

            radiantColor.AddItem(new MenuItem("netWorthBar.Radiant.Red", "Red").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Red));
            radiantColor.AddItem(new MenuItem("netWorthBar.Radiant.Green", "Green").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.Green));
            radiantColor.AddItem(new MenuItem("netWorthBar.Radiant.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            radiantColor.AddItem(new MenuItem("netWorthBar.Radiant.Alpha", "Alpha").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.LightGray));
            var direColor = new Menu("Enemy Color", "netWorthBar.colors.dire");

            direColor.AddItem(new MenuItem("netWorthBar.Dire.Red", "Red").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.Red));
            direColor.AddItem(new MenuItem("netWorthBar.Dire.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Green));
            direColor.AddItem(new MenuItem("netWorthBar.Dire.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            direColor.AddItem(new MenuItem("netWorthBar.Dire.Alpha", "Alpha").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.LightGray));
            //===========================
            var dmgCalc = new Menu("Damage Calculation", "dmgCalc");

            dmgCalc.AddItem(new MenuItem("dmgCalc.Enable", "Enable").SetValue(true)).SetTooltip("showing dmg from ur abilities");
            dmgCalc.AddItem(new MenuItem("dmgCalc.Abilities", "Abilities: ").SetValue(new AbilityToggler(new Dictionary <string, bool>())));
            var defCol      = new Menu("Default Color", "clrDef");
            var killableCol = new Menu("Color, When skills damage is enough", "clrEno");

            defCol.AddItem(new MenuItem("defCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            defCol.AddItem(new MenuItem("defCol.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            defCol.AddItem(new MenuItem("defCol.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            killableCol.AddItem(new MenuItem("killableCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            killableCol.AddItem(new MenuItem("killableCol.Green", "Green").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Green));
            killableCol.AddItem(new MenuItem("killableCol.Blue", "Blue").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var shrineHelper = new Menu("Shrine Helper", "shrineHelper");

            shrineHelper.AddItem(new MenuItem("shrineHelper.DrawStatus", "Draw Status").SetValue(true));
            shrineHelper.AddItem(new MenuItem("shrineHelper.Size", "Status Size").SetValue(new Slider(15, 1, 150)));
            shrineHelper.AddItem(new MenuItem("shrineHelper.Nums.Enable", "Draw Numbers").SetValue(true));
            shrineHelper.AddItem(new MenuItem("shrineHelper.Nums.Size", "Dig Size").SetValue(new Slider(100, 1, 150)));
            shrineHelper.AddItem(new MenuItem("shrineHelper.Range", "Draw range").SetValue(true))
            .SetTooltip("if dist <=700 and shrine can heal");
            shrineHelper.AddItem(
                new MenuItem("shrineHelper.Red", "Red").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Red))
            .ValueChanged += ShrineHelper.OnChange;
            shrineHelper.AddItem(
                new MenuItem("shrineHelper.Green", "Green").SetValue(new Slider(155, 0, 255)).SetFontColor(Color.Green))
            .ValueChanged += ShrineHelper.OnChange;
            shrineHelper.AddItem(
                new MenuItem("shrineHelper.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue))
            .ValueChanged += ShrineHelper.OnChange;
            shrineHelper.AddItem(new MenuItem("shrineHelper.Alpha", "Alpha").SetValue(new Slider(255, 0, 255)))
            .ValueChanged += ShrineHelper.OnChange;
            //===========================
            var openDota = new Menu("OpenDota info", "OpenDota");

            openDota.AddItem(new MenuItem("OpenDota.Enable", "Enable").SetValue(true))
            .SetTooltip("will show wr, solo/part mmr & last 5 ranked games for each players on hero picking stage");
            //===========================
            var devolper = new Menu("Developer", "Developer");

            devolper.AddItem(new MenuItem("Dev.Hax.enable", "Hax in lobby").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.CreepsDisabler.enable", "Disable spawn creeps").SetValue(false))
            .ValueChanged +=
                (sender, args) =>
            {
                var type = args.GetNewValue <bool>() ? "enable" : "disable";
                Game.ExecuteCommand($"dota_creeps_no_spawning_{type}");
            };
            //===========================
            spellPanel.AddSubMenu(oldMethod);
            spellPanel.AddSubMenu(newMethod);
            topPanel.AddSubMenu(ultimate);
            topPanel.AddSubMenu(health);
            topPanel.AddSubMenu(mana);
            topPanel.AddSubMenu(status);
            topPanel.AddSubMenu(extraPos);
            page1.AddSubMenu(topPanel);
            page1.AddSubMenu(spellPanel);
            page1.AddSubMenu(roshanTimer);
            page1.AddSubMenu(showMeMore);
            showMeMore.AddSubMenu(charge);
            showMeMore.AddSubMenu(blur);
            showMeMore.AddSubMenu(wr);
            showMeMore.AddSubMenu(mirana);
            showMeMore.AddSubMenu(apparition);
            showMeMore.AddSubMenu(lina);
            showMeMore.AddSubMenu(invoker);
            showMeMore.AddSubMenu(kunkka);
            showMeMore.AddSubMenu(lesh);
            showMeMore.AddSubMenu(lifestealer);
            showMeMore.AddSubMenu(tech);
            showMeMore.AddSubMenu(tinker);
            showMeMore.AddSubMenu(arc);
            showMeMore.AddSubMenu(scan);
            showMeMore.AddSubMenu(courEsp);
            showMeMore.AddSubMenu(linkenEsp);
            page1.AddSubMenu(showIllusion);
            page1.AddSubMenu(runevision);
            //settings.AddSubMenu(dangItem);
            settings.AddSubMenu(page1);
            settings.AddSubMenu(page2);
            page1.AddSubMenu(itemPanel);
            page1.AddSubMenu(itemOverlay);
            page2.AddSubMenu(manaBars);
            page2.AddSubMenu(autoItems);
            page2.AddSubMenu(lastPosition);
            page2.AddSubMenu(netWorth);
            page2.AddSubMenu(netWorthBar);
            netWorthBar.AddSubMenu(netWorthBarColors);
            netWorthBarColors.AddSubMenu(radiantColor);
            netWorthBarColors.AddSubMenu(direColor);
            page2.AddSubMenu(dmgCalc);
            page2.AddSubMenu(tpCatcher);
            page2.AddSubMenu(shrineHelper);
            page2.AddSubMenu(openDota);
            dmgCalc.AddSubMenu(defCol);
            dmgCalc.AddSubMenu(killableCol);
            tpCatcher.AddSubMenu(tpCatcherTimer);
            status.AddSubMenu(visionOnAllyHeroes);

            Members.Menu.AddSubMenu(settings);
            Members.Menu.AddSubMenu(devolper);

            Members.HeroesList        = new HeroesList();
            Members.Manabars          = new Manabars();
            Members.ItemOverlay       = new ItemOverlay();
            Members.DamageCalculation = new DamageCalculation();
            Members.AbilityOverlay    = new AbilityOverlay();

            if (Drawing.RenderMode == RenderMode.Dx9)
            {
                if (Drawing.Direct3DDevice9 != null)
                {
                    Members.RoshanFont = new Font(
                        Drawing.Direct3DDevice9,
                        new FontDescription
                    {
                        FaceName        = "Tahoma",
                        Height          = 15,
                        OutputPrecision = FontPrecision.Default,
                        Quality         = FontQuality.Default
                    });
                }
            }

            /*var sleeper=new Sleeper();
             * Game.OnUpdate += args =>
             * {
             *  if (sleeper.Sleeping)
             *      return;
             *  sleeper.Sleep(250);
             *  Printer.Print("asd");
             *  Unit test = null;
             *  Printer.Print(test.ClassId.ToString());
             * };*/
            Members.Menu.AddToMainMenu();
        }
Example #30
0
        public static void Init()
        {
            var optionsMenu = new Menu("Options", "options");
            var detonationMenu = new Menu("Auto Detonation", "autoDetonation");
            detonationMenu.AddItem(new MenuItem("autoDetonate", "Detonate on heroes").SetValue(true));
            detonationMenu.AddItem(new MenuItem("autoDetonateCreeps", "Detonate on creeps").SetValue(true));
            optionsMenu.AddSubMenu(detonationMenu);
            var forceStaffMenu = new Menu("Auto ForceStaff", "autoForceStaff");
            forceStaffMenu.AddItem(new MenuItem("useForceStaff", "Use ForceStaff").SetValue(true));
            forceStaffMenu.AddItem(new MenuItem("checkRotating", "Dont use on turning enemy").SetValue(true));
            forceStaffMenu.AddItem(
                new MenuItem("straightTime", "Minimum straight time (secs)").SetValue(new Slider(0, 0, 5))
                    .SetTooltip("Use force staff only on enemies who havent changed their direction X seconds"));
            optionsMenu.AddSubMenu(forceStaffMenu);
            var drawingMenu = new Menu("Drawings", "drawings");
            drawingMenu.AddItem(new MenuItem("drawTopPanel", "Draw TopPanel").SetValue(true));
            drawingMenu.AddItem(new MenuItem("drawSuicideKills", "Draw killability with Suicide").SetValue(true));
            var suicideMenu = new Menu("Auto Suicide", "autoSuicide");
            suicideMenu.AddItem(new MenuItem("autoSuicide", "Auto Suicide").SetValue(true));
            suicideMenu.AddItem(
                new MenuItem("HPTreshold", "HP treshold percent").SetValue(new Slider(100, 1))
                    .SetTooltip("Use Suicide only if Your health percent goes below specified treshold"));
            optionsMenu.AddSubMenu(drawingMenu);
            optionsMenu.AddSubMenu(suicideMenu);
            Menu.AddSubMenu(optionsMenu);
            Menu.AddToMainMenu();
            Game.OnUpdate += Game_OnUpdate;
            ObjectMgr.OnAddEntity += ObjectMgr_OnAddEntity;
            ObjectMgr.OnRemoveEntity += ObjectMgr_OnRemoveEntity;

            loaded = false;
            forceStaff = null;
            //enemyHeroes = null;
            players = null;
            remoteMinesDb = new Dictionary<Unit, float>();
            heroTopPanel = new Dictionary<ClassID, double[]>();
            landMinesHeroDmg = new Dictionary<ClassID, double>();
            suicideHeroDmg = new Dictionary<ClassID, float>();
            enabledHeroes = new Dictionary<ClassID, bool>();
            var screenSize = new Vector2(Drawing.Width, Drawing.Height);
            monitor = screenSize.X / 1600;
            var monitorY = screenSize.Y / 720;

            panelText = new Font(
                Drawing.Direct3DDevice9,
                new FontDescription
                    {
                        FaceName = "Tahoma", Height = (int)(18 * monitorY), OutputPrecision = FontPrecision.Raster,
                        Quality = FontQuality.ClearTypeNatural, CharacterSet = FontCharacterSet.Default, Italic = false,
                        MipLevels = 0, PitchAndFamily = FontPitchAndFamily.Swiss, Weight = FontWeight.ExtraBold,
                        Width = (int)(5 * monitor)
                    });
            suicideDmgText = new Font(
                Drawing.Direct3DDevice9,
                new FontDescription
                    {
                        FaceName = "Tahoma", Height = (int)(13 * monitorY), OutputPrecision = FontPrecision.Raster,
                        Quality = FontQuality.ClearTypeNatural, CharacterSet = FontCharacterSet.Hangul, Italic = false,
                        MipLevels = 3, PitchAndFamily = FontPitchAndFamily.Modern, Weight = FontWeight.Heavy,
                        Width = (int)(5 * monitor)
                    });

            Drawing.OnPreReset += Drawing_OnPreReset;
            Drawing.OnPostReset += Drawing_OnPostReset;
            Drawing.OnEndScene += Drawing_OnEndScene;
            AppDomain.CurrentDomain.DomainUnload += CurrentDomainDomainUnload;
            Game.OnWndProc += Game_OnWndProc;
        }
Example #31
0
        private static void Main()
        {
            Game.OnUpdate += Game_OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
            Player.OnExecuteOrder += Player_OnExecuteAction;
            //var dict = Items.ToDictionary(item => item, item => true);
            Menu.AddItem(new MenuItem("hotkey", "Hotkey").SetValue(new KeyBind('G', KeyBindType.Press)));
            Menu.AddItem(new MenuItem("spamHotkey", "Spark Spam").SetValue(new KeyBind('H', KeyBindType.Press)));
            Menu.AddItem(
                new MenuItem("hotkeyClone", "ComboKey with Clones").SetValue(new KeyBind('Z', KeyBindType.Toggle)));
            //Menu.AddItem(new MenuItem("Items", "Items:").SetValue(new AbilityToggler(dict)));
            Menu.AddItem(new MenuItem("LockTarget", "Lock Target").SetValue(true));
            Menu.AddItem(new MenuItem("AutoMidas", "Auto Midas").SetValue(true));
            Menu.AddItem(
                new MenuItem("FirstClone", "Ez Heal").SetValue(true)
                    .SetTooltip("when you use some heal-items, at the beginning of the clone will use this"));
            //Menu.AddItem(new MenuItem("AutoHeal", "Auto Heal/Bottle").SetValue(true).SetTooltip("clone use heal items on main hero if there are no enemies in 500(800) range"));
            var autoheal=new Menu("Auto Heal","aheal");
            autoheal.AddItem(
                new MenuItem("AutoHeal.Enable", "Auto Heal").SetValue(new KeyBind('X', KeyBindType.Toggle))
                    .SetTooltip(
                        "clone use heal items on main hero if there are no enemies in selected range. But ll still use insta heal items"));
            autoheal.AddItem(
                            new MenuItem("AutoHeal.Range", "Enemy checker").SetValue(new Slider(500, 0, 1000)).SetTooltip("check enemy in selected range"));
            var autoPush = new Menu("Auto Push", "AutoPush");
            autoPush.AddItem(new MenuItem("AutoPush.Enable", "Enable").SetValue(new KeyBind('V', KeyBindType.Toggle)));
            autoPush.AddItem(new MenuItem("AutoPush.DrawLine", "Draw line").SetValue(false));
            var antiFeed = new Menu("Anti Feed", "AntiFeed", false, "item_necronomicon_3", true);
            antiFeed.AddItem(new MenuItem("AntiFeed.Enable", "Ebable").SetValue(true).SetTooltip("if u have any enemy hero in range, ur necro will run on base"));
            antiFeed.AddItem(new MenuItem("AntiFeed.Range", "Range Checker").SetValue(new Slider(800,0,1500)));


            var orbwalnking = new Menu("OrbWalking", "ow");
            orbwalnking.AddItem(
                            new MenuItem("OrbWalking.Enable", "Enable OrbWalking").SetValue(true));
            orbwalnking.AddItem(
                new MenuItem("OrbWalking.bonusWindupMs", "Bonus Windup Time").SetValue(new Slider(100, 100, 1000))
                    .SetTooltip("Time between attacks"));

            var daggerSelection = new Menu("Dagger", "dagger");
            /*daggerSelection.AddItem(
                            new MenuItem("Dagger.Enable", "Enable Dagger").SetValue(true));*/
            daggerSelection.AddItem(
                new MenuItem("Dagger.CloseRange", "Min distance between target and blink position").SetValue(
                    new Slider(200, 100, 800)));
            daggerSelection.AddItem(
                new MenuItem("Dagger.MinDistance", "Min distance for blink").SetValue(new Slider(400, 100, 800)));

            var difblade = new Menu("Diffusal blade", "item_diffusal_blade", false, "item_diffusal_blade",true);
            difblade.AddItem(
                new MenuItem("Diffusal.Dispel", "Dispel Selection").SetValue(new StringList(new[]
                {
                    "Me",
                    "Tempest",
                    "All",
                    "Noone"
                }, 2))).SetTooltip("All include ally heroes too");
            difblade.AddItem(
                new MenuItem("Diffusal.PurgEnemy", "Purge Selection").SetValue(new StringList(new[]
                {
                    "Only on Main Target",
                    "For all Enemies in cast range",
                    "No one"
                }, 1)));

            Menu.AddItem(new MenuItem("usePrediction", "Use Prediction For Spark").SetValue(true));
            Menu.AddItem(
                new MenuItem("BkbUsage", "Bkb Selection").SetValue(
                    new StringList(new[] {"me", "clones", "all", "no one"}, 1)));
            //var il=new Menu("Illusion","il");
            //il.AddItem(new MenuItem("orderList", "Use order list").SetValue(false));
            Menu.AddItem(
                new MenuItem("order", "Clone Order Selection").SetValue(
                    new StringList(new[] {"monkey", "caster", "nothing"}, 1)));


            Menu.AddSubMenu(difblade);
            Menu.AddSubMenu(daggerSelection);
            Menu.AddSubMenu(autoheal);
            Menu.AddSubMenu(orbwalnking);
            Menu.AddSubMenu(autoPush);
            autoPush.AddSubMenu(antiFeed);
            Menu.AddToMainMenu();
        }
Example #32
0
        private static void Main()
        {
            var herofeeder = new Menu("Hero Feeder", "Hero");

            herofeeder.AddItem(new MenuItem("Hero.Enable", "Enable Hero feeder").SetValue(false)).DontSave();
            herofeeder.AddItem(new MenuItem("Hero.Cd", "Order rate").SetValue(new Slider(500, 100, 2000)));

            var courSelection = new Menu("Courier Selection", "cour");

            courSelection.AddItem(new MenuItem("Courier.Blocking.Enable", "Enable Selected Order").SetValue(false)).DontSave();
            courSelection.AddItem(new MenuItem("Courier.Cd", "Rate").SetValue(new Slider(50, 5, 200)));
            courSelection.AddItem(new MenuItem("Courier.MaxRange", "Max Range").SetValue(new Slider(500, 0, 2000)));
            courSelection.AddItem(new MenuItem("Courier.Order", "Courier Order:").SetValue(new StringList(new [] { "blocking on base", "going to enemy base" })));

            var laugh = new Menu("laugh Selection", "laugh");

            laugh.AddItem(new MenuItem("laugh.Enable", "Enable laugh").SetValue(false));
            laugh.AddItem(new MenuItem("laugh.Cd", "Rate").SetValue(new Slider(20, 20))).SetTooltip("in secs");
            laugh.AddItem(new MenuItem("laugh.Message", "Print Message on laught").SetValue(false).SetTooltip("only for you"));

            var drawing = new Menu("Spam Drawing", "spamDrawing");

            drawing.AddItem(new MenuItem("Drawing.Fully.Enable", "Fully Enable").SetValue(false));
            drawing.AddItem(new MenuItem("Drawing.info", "Working only with ctrl hotkey").SetFontStyle(FontStyle.Bold, Color.Red));
            drawing.AddItem(new MenuItem("Drawing.Enable", "Enable Spam Drawing").SetValue(new KeyBind(0x11, KeyBindType.Press)).SetTooltip("on minimap").DontSave()).ValueChanged +=
                (sender, args) =>
            {
                if (!Menu.Item("Drawing.Fully.Enable").GetValue <bool>())
                {
                    return;
                }
                if (args.GetNewValue <KeyBind>().Active)
                {
                    _stageX = _drawingStartPos.X;
                    _stageY = _drawingStartPos.Y;
                    SetCursorPos((int)_drawingStartPos.X, (int)_drawingStartPos.Y);
                }
                mouse_event(
                    args.GetNewValue <KeyBind>().Active
                            ? (int)MouseEvent.MouseeventfLeftdown
                            : (int)MouseEvent.MouseeventfLeftup, 0, 0, 0, 0);
            };
            drawing.AddItem(new MenuItem("Drawing.Speed", "Speed").SetValue(new Slider(1, 1, 10)));
            drawing.AddItem(new MenuItem("Drawing.Cd", "Rate").SetValue(new Slider(1, 1, 1000)));


            Menu.AddSubMenu(herofeeder);
            Menu.AddSubMenu(courSelection);
            Menu.AddSubMenu(laugh);
            Menu.AddSubMenu(drawing);
            Menu.AddToMainMenu();

            Events.OnLoad += (sender, args) =>
            {
                Game.OnUpdate += Game_OnUpdate;
                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                _fountain  = null;
                _fountain2 = null;
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Game_OnUpdate;
            };
        }
Example #33
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="TechiesMenu" /> class.
 /// </summary>
 public TechiesMenu()
 {
     var menu = new Menu("#TECHIES", "techies", true, "npc_dota_hero_techies", true);
     var optionsMenu = new Menu("Options", "options");
     var detonationMenu = new Menu("Auto Detonation", "autoDetonation");
     detonationMenu.AddItem(new MenuItem("autoDetonate", "Detonate on heroes").SetValue(true));
     detonationMenu.AddItem(new MenuItem("autoDetonateCreeps", "Detonate on creeps").SetValue(false));
     detonationMenu.AddItem(
         new MenuItem("autoDetonateProtection", "Detonate when enemy tries to destroy").SetValue(true)
             .SetTooltip("Detonates mine when enemy tries to kill it with auto attack or item"));
     optionsMenu.AddSubMenu(detonationMenu);
     var forceStaffMenu = new Menu("Auto ForceStaff", "autoForceStaff");
     forceStaffMenu.AddItem(new MenuItem("useForceStaff", "Use ForceStaff").SetValue(true));
     forceStaffMenu.AddItem(new MenuItem("checkRotating", "Dont use on turning enemy").SetValue(false));
     forceStaffMenu.AddItem(
         new MenuItem("straightTime", "Minimum straight time (secs)").SetValue(new Slider(0, 0, 5))
             .SetTooltip("Use force staff only on enemies who havent changed their direction X seconds"));
     optionsMenu.AddSubMenu(forceStaffMenu);
     var drawingMenu = new Menu("Drawings", "drawings");
     drawingMenu.AddItem(new MenuItem("drawTopPanel", "Draw TopPanel").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawSuicideKills", "Draw killability with Suicide").SetValue(true));
     drawingMenu.AddItem(new MenuItem("drawRemoteMineRange", "Draw range for remote mines").SetValue(true))
         .ValueChanged += (sender, args) =>
             {
                 if (args.GetNewValue<bool>())
                 {
                     foreach (var remoteMine in from remoteMine in Variables.RemoteMines
                                                let effect = remoteMine.RangeDisplay
                                                where effect == null || effect.IsDestroyed
                                                select remoteMine)
                     {
                         remoteMine.CreateRangeDisplay();
                     }
                 }
                 else
                 {
                     foreach (var effect in
                         Variables.RemoteMines.Select(remoteMine => remoteMine.RangeDisplay)
                             .Where(effect => effect != null && !effect.IsDestroyed))
                     {
                         effect.Dispose();
                     }
                 }
             };
     drawingMenu.AddItem(new MenuItem("drawLandMineRange", "Draw range for land mines").SetValue(true))
         .ValueChanged += (sender, args) =>
             {
                 if (args.GetNewValue<bool>())
                 {
                     foreach (var landMine in from landMine in Variables.LandMines
                                              let effect = landMine.RangeDisplay
                                              where effect == null || effect.IsDestroyed
                                              select landMine)
                     {
                         landMine.CreateRangeDisplay();
                     }
                 }
                 else
                 {
                     foreach (var effect in
                         Variables.LandMines.Select(remoteMine => remoteMine.RangeDisplay)
                             .Where(effect => effect != null && !effect.IsDestroyed))
                     {
                         effect.Dispose();
                     }
                 }
             };
     drawingMenu.AddItem(new MenuItem("drawStasisTrapRange", "Draw range for stasis traps").SetValue(true))
         .ValueChanged += (sender, args) =>
             {
                 if (args.GetNewValue<bool>())
                 {
                     foreach (var stasisTrap in from stasisTrap in Variables.StasisTraps
                                                let effect = stasisTrap.RangeDisplay
                                                where effect == null || effect.IsDestroyed
                                                select stasisTrap)
                     {
                         stasisTrap.CreateRangeDisplay();
                     }
                 }
                 else
                 {
                     foreach (var effect in
                         Variables.StasisTraps.Select(remoteMine => remoteMine.RangeDisplay)
                             .Where(effect => effect != null && !effect.IsDestroyed))
                     {
                         effect.Dispose();
                     }
                 }
             };
     var suicideMenu = new Menu("Auto Suicide", "autoSuicide");
     suicideMenu.AddItem(new MenuItem("autoSuicide", "Auto Suicide").SetValue(true));
     suicideMenu.AddItem(
         new MenuItem("HPTreshold", "HP treshold percent").SetValue(new Slider(100, 1))
             .SetTooltip("Use Suicide only if Your health percent goes below specified treshold"));
     menu.AddSubMenu(drawingMenu);
     optionsMenu.AddSubMenu(suicideMenu);
     menu.AddSubMenu(optionsMenu);
     menu.AddToMainMenu();
     this.DetonationMenu = detonationMenu;
     this.DrawingsMenu = drawingMenu;
     this.ForceStaffMenu = forceStaffMenu;
     this.SuicideMenu = suicideMenu;
     this.MainMenu = menu;
 }
Example #34
0
        private static void Main()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var settings = new Menu("Settings", "Settings");
            var singleCombos = new Menu("SingleCombos", "SingleCombos");
            singleCombos.AddItem(
                new MenuItem("HotKeyCombo.1.Enable", "Smash").SetValue(new KeyBind('Z', KeyBindType.Press)));
            singleCombos.AddItem(
                new MenuItem("HotKeyCombo.2.Enable", "Rolling").SetValue(new KeyBind('X', KeyBindType.Press)));
            singleCombos.AddItem(
                new MenuItem("HotKeyCombo.3.Enable", "Grip").SetValue(new KeyBind('C', KeyBindType.Press)));
            singleCombos.AddItem(
                new MenuItem("HotKeyCombo.4.Enable", "Grip+Rolling").SetValue(new KeyBind('V', KeyBindType.Press)));

            //settings.AddItem(new MenuItem("KillSteal.Enable", "Enable KillSteal with Q").SetValue(true));
            settings.AddItem(new MenuItem("Range.Enable", "Draw range for Grip").SetValue(true)).ValueChanged +=
                (sender, args) =>
                {
                    if (args.GetNewValue<bool>())
                    {
                        Members.SpellRange =
                            Members.MyHero.AddParticleEffect(@"particles\ui_mouseactions\drag_selected_ring.vpcf");
                        var extraRange = Members.MyHero.Inventory.Items.Any(x => x.StoredName() == "item_aether_lens")
                            ? 200
                            : 0;
                        var spellE = RealCastRange + extraRange + Members.MyHero.HullRadius;
                        Members.SpellRange.SetControlPoint(1, new Vector3(99, 255, 255));
                        Members.SpellRange.SetControlPoint(2, new Vector3(spellE, 255, 0));
                    }
                    else
                    {
                        if (Members.SpellRange != null && Members.SpellRange.IsValid && !Members.SpellRange.IsDestroyed)
                            Members.SpellRange.Dispose();
                    }
                };
            settings.AddItem(
                new MenuItem("Combo.Enable", "Do Combo Fore Selected Enemy").SetValue(new KeyBind('D', KeyBindType.Press)));
            var aAttack = new Menu("Auto Attack", "Auto Attack");
            aAttack.AddItem(new MenuItem("AutoAttack.Enable", "Enable AutoAttacking").SetValue(true));
            aAttack.AddItem(new MenuItem("OrbWalker.Enable", "Orbwalking").SetValue(true));
            var items = new Menu("Using", "Items");
            var drawing = new Menu("drawing", "drawing");
            drawing.AddItem(new MenuItem("Drawing.Enable", "Enable Drawing").SetValue(true));
            drawing.AddItem(new MenuItem("Drawing.Size", "Text Size").SetValue(new Slider(65, 1)));
            drawing.AddItem(new MenuItem("Drawing.ExtraPosX", "Position X").SetValue(new Slider(36, -200,200)));
            drawing.AddItem(new MenuItem("Drawing.ExtraPosY", "Position Y").SetValue(new Slider(-80, -200,200)));
            items.AddItem(new MenuItem("Prediction.Enable", "Prediction for abilities").SetValue(true));
            items.AddItem(
                new MenuItem("abilityEnable", "Abilities in combo:").SetValue(
                    new AbilityToggler(Members.AbilityList.ToDictionary(item => item, item => true))));
            items.AddItem(
                new MenuItem("itemEnable", "Items in combo:").SetValue(
                    new PriorityChanger(new List<string> { "item_blink" }, useAbilityToggler: true)));
            var daggerSelection = new Menu("Dagger", "dagger", textureName: "item_blink");
            daggerSelection.AddItem(
                new MenuItem("Dagger.CloseRange", "Extra Distance for blink").SetValue(
                    new Slider(200, 100, 800))).SetTooltip("1200 (dagger's default range) + your value");
            daggerSelection.AddItem(
                new MenuItem("Dagger.MinDistance", "Min distance for blink").SetValue(new Slider(400, 100, 800))).SetTooltip("dont use blink if you are in this range");
            daggerSelection.AddItem(
                new MenuItem("Dagger.ExtraDistance", "Min distance between target & blink pos").SetValue(new Slider(50, 50, 800)));
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            Members.Menu.AddSubMenu(settings);
            settings.AddSubMenu(singleCombos);
            settings.AddSubMenu(items);
            settings.AddSubMenu(aAttack);
            settings.AddSubMenu(drawing);
            items.AddSubMenu(daggerSelection);
            Members.Menu.AddSubMenu(devolper);
            _loaded = false;
            Events.OnLoad += (sender, args) =>
            {
                if (_loaded)
                    return;
                Load();
                _loaded = true;
            };
            if (!_loaded && ObjectManager.LocalHero != null &&
                ObjectManager.LocalHero.ClassID == Members.MyClassId && Game.IsInGame)
            {
                Load();
                _loaded = true;
            }

            Events.OnClose += (sender, args) =>
            {
                if (!_loaded)
                    return;
                Members.Menu.RemoveFromMainMenu();
                Game.OnUpdate -= Action.Game_OnUpdate;
                Game.OnUpdate -= UpdateItems;
                Game.OnUpdate -= HotkeyCombos.Game_OnUpdate;
                Drawing.OnDraw -= Draw.Drawing;
                _loaded = false;
            };
        }
Example #35
0
        private static void Main()
        {
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var settings = new Menu("Settings", "Settings");

            settings.AddItem(new MenuItem("KillSteal.Enable", "Enable KillSteal").SetValue(true));
            settings.AddItem(
                new MenuItem("Combo.Enable", "Do Combo Fore Selected Enemy").SetValue(new KeyBind('D', KeyBindType.Press)));
            settings.AddItem(
                new MenuItem("RearmBlink.Enable", "Rearm + blink").SetValue(new KeyBind('F', KeyBindType.Press))).ValueChanged+=ReamBlink.OnValueChanged;
            settings.AddItem(
                new MenuItem("RearmBlink.ExtraDelay", "Extra Delay for ream+blink").SetValue(new Slider(30, 0, 50)));
            settings.AddItem(new MenuItem("Block.rearm", "Rearm blocker").SetValue(true)).SetTooltip("It does not allow double-cast rearm");
            var drawing = new Menu("Drawing", "Drawing");
            drawing.AddItem(
                new MenuItem("Drawing.EnableDamage", "Draw damage: ").SetValue(
                    new StringList(new[] {"only for combo Target", "for all enemy heroes"})));
            var aAttack = new Menu("Auto Attack", "Auto Attack");
            var targetEfffect = new Menu("Target effect", "Target effect");
            targetEfffect.AddItem(new MenuItem("Target.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            targetEfffect.AddItem(new MenuItem("Target.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            targetEfffect.AddItem(new MenuItem("Target.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            aAttack.AddItem(new MenuItem("AutoAttack.Enable", "Enable AutoAttacking").SetValue(true));
            aAttack.AddItem(new MenuItem("OrbWalker.Enable", "Orbwalking").SetValue(true));
            var items = new Menu("Using", "Items");
            /*items.AddItem(
                new MenuItem("itemEnable", "Items in combo:").SetValue(
                    new AbilityToggler(new List<string> {"item_blink"}.ToDictionary(item => item, item => true))));*/
            items.AddItem(
                new MenuItem("abilityEnable", "Abilities in combo:").SetValue(
                    new AbilityToggler(Members.AbilityList.ToDictionary(item => item, item => true))));
            items.AddItem(
                new MenuItem("itemEnable", "Items in combo:").SetValue(
                    new PriorityChanger(new List<string>() /*{ "item_blink" }*/, useAbilityToggler: true)));
            var daggerSelection = new Menu("Dagger", "dagger",textureName:"item_blink");
            daggerSelection.AddItem(
                new MenuItem("Dagger.CloseRange", "Extra Distance for blink").SetValue(
                    new Slider(2500, 100, 3000))).SetTooltip("1200 (dagger's default range) + your value");
            daggerSelection.AddItem(
                new MenuItem("Dagger.MinDistance", "Min distance for blink").SetValue(new Slider(400, 100, 800))).SetTooltip("dont use blink if you are in this range");
            daggerSelection.AddItem(
                new MenuItem("Dagger.ExtraDistance", "Min distance between target & blink pos").SetValue(new Slider(50, 50, 800)));
            var devolper = new Menu("Developer", "Developer");
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages ingame").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Console.enable", "Debug messages in Console").SetValue(false));
            Members.Menu.AddSubMenu(settings);
            settings.AddSubMenu(aAttack);
            settings.AddSubMenu(drawing);
            drawing.AddSubMenu(targetEfffect);
            settings.AddSubMenu(items);
            items.AddSubMenu(daggerSelection);
            Members.Menu.AddSubMenu(devolper);
            _loaded = false;
            Events.OnLoad += (sender, args) =>
            {
                if (_loaded)
                    return;
                Load();
                _loaded = true;

            };
            if (!_loaded && ObjectManager.LocalHero != null &&
                ObjectManager.LocalHero.ClassID == ClassID.CDOTA_Unit_Hero_Tinker && Game.IsInGame)
            {
                Load();
                _loaded = true;
            }

            Events.OnClose += (sender, args) =>
            {
                if (!_loaded)
                    return;
                Members.Menu.RemoveFromMainMenu();
                Game.OnUpdate -= ComboAction.Game_OnUpdate;
                Game.OnUpdate-= UpdateItems;
                Drawing.OnDraw -= ComboAction.Drawing_OnDraw;
                Unit.OnModifierAdded -= TeleportRangeHelper.Unit_OnModifierAdded;
                Unit.OnModifierRemoved -= TeleportRangeHelper.UnitOnOnModifierRemoved;
                GameDispatcher.OnUpdate -= ReamBlink.OnUpdate;
                Player.OnExecuteOrder -= StopDummyRearming.OnExecuteOrder;
                _loaded = false;
            };
        }
Example #36
0
        private static void Main()
        {
            /*Entity.OnParticleEffectAdded += (entity, eventArgs) =>
             * {
             *  var partName = eventArgs.Name;
             *  var name = entity.Name;
             *  if (!partName.Contains("teleport"))
             *      return;
             *
             *  Printer.Print(entity.Name +": "+ eventArgs.Name);
             * };*/
            Members.Menu.AddItem(new MenuItem("Enable", "Enable").SetValue(true));
            var topPanel   = new Menu("Top Panel", "toppanel");
            var spellPanel = new Menu("Spell Panel", "spellPanel");
            var ultimate   = new Menu("Ultimate", "ultimate");
            var health     = new Menu("Health Panel", "health");
            var mana       = new Menu("Mana Panel", "mana");
            var status     = new Menu("Status panel", "status");
            var extraPos   = new Menu("Extra Position", "extraPos");
            var itemPanel  = new Menu("Item panel", "itempanel");

            var roshanTimer  = new Menu("Roshan Timer", "roshanTimer");
            var showMeMore   = new Menu("Show Me More", "showmemore");
            var showIllusion = new Menu("Show Illusion", "showillusion");
            var runevision   = new Menu("Rune Vision", "runevision");

            var autoItems = new Menu("Auto Items", "autoitems");
            var settings  = new Menu("Settings", "Settings");
            var page1     = new Menu("Page 1", "Page 1");
            var page2     = new Menu("Page 2", "Page 2");

            //===========================
            itemPanel.AddItem(new MenuItem("itempanel.Enable", "Enable").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Stash.Enable", "Draw Stash Items").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.Button.Enable", "Draw Button for toggle").SetValue(true));
            itemPanel.AddItem(new MenuItem("itempanel.X", "Panel Position X").SetValue(new Slider(100, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.Y", "Panel Position Y").SetValue(new Slider(200, 0, 2000)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            itemPanel.AddItem(new MenuItem("itempanel.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            itemPanel.AddItem(new MenuItem("itempanel.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            itemPanel.AddItem(new MenuItem("itempanel.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            topPanel.AddItem(new MenuItem("toppanel.Enable", "Enable").SetValue(true));
            topPanel.AddItem(
                new MenuItem("toppanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            //===========================
            spellPanel.AddItem(new MenuItem("spellpanel.Enable", "Enable").SetValue(true));
            spellPanel.AddItem(
                new MenuItem("spellpanel.Targets", "Draw For: ").SetValue(
                    new StringList(new[] { "Both", "Ally Team", "Enemy Team" })));
            var oldMethod = new Menu("OldMethod", "Without Textures");

            oldMethod.AddItem(new MenuItem("spellpanel.OldMethod.Enable", "Enable").SetValue(true));
            oldMethod.AddItem(new MenuItem("spellPanel.distBetweenSpells", "Distance spells").SetValue(new Slider(36, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.DistBwtweenLvls", "Distance lvls").SetValue(new Slider(6, 0, 200)));
            oldMethod.AddItem(new MenuItem("spellPanel.SizeSpell", "Level size").SetValue(new Slider(3, 1, 25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosX", "Extra Position X").SetValue(new Slider(25)));
            oldMethod.AddItem(new MenuItem("spellPanel.ExtraPosY", "Extra Position Y").SetValue(new Slider(125, 0, 400)));
            //---0-0-0-0-0-
            var newMethod = new Menu("New Method", "With Textures");

            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Enable", "Enable").SetValue(false));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.IconSize", "Icon Size").SetValue(new Slider(25, 1, 100)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.SizeLevel", "Text Size (for level)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.Size", "Text Size (for cooldown/mana)").SetValue(new Slider(50, 0, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraX", "Extra position X").SetValue(new Slider(0, -150, 150)));
            newMethod.AddItem(new MenuItem("spellpanel.NewMethod.ExtraY", "Extra position Y").SetValue(new Slider(0, -150, 150)));
            //===========================
            ultimate.AddItem(new MenuItem("ultimate.Enable", "Enable").SetValue(true));
            ultimate.AddItem(new MenuItem("ultimate.Icon.Enable", "Draw Icon").SetValue(true));
            ultimate.AddItem(
                new MenuItem("ultimate.Icon.Extra.Enable", "Draw Mana req with cd").SetValue(true)
                .SetTooltip("render lack of mana when spell on cooldown"));
            ultimate.AddItem(
                new MenuItem("ultimate.Type", "Type of drawing").SetValue(
                    new StringList(new[] { "Draw Icon", "Draw Line" }))).ValueChanged += (sender, args) =>
            {
                var newArg    = args.GetNewValue <StringList>().SelectedIndex;
                var newColor  = newArg == 1 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                var newColor2 = newArg == 0 ? Color.DarkSlateGray : new Color(195, 186, 173, 255);
                Members.Menu.Item("ultimate.Info").SetFontColor(newColor);
                Members.Menu.Item("ultimate.InfoAlways").SetFontColor(newColor);
                Members.Menu.Item("ultimate.Line.Size").SetFontColor(newColor2);
            };
            ultimate.AddItem(
                new MenuItem("ultimate.Info", "Show details").SetValue(true)
                .SetTooltip("show Ultimate's CD if u put ur mouse on icon"));
            ultimate.AddItem(
                new MenuItem("ultimate.InfoAlways", "Show details all time").SetValue(true)
                .SetTooltip("Show Details should be enabled"));
            ultimate.AddItem(
                new MenuItem("ultimate.Line.Size", "Line Size").SetValue(new Slider(15, 7, 30)));

            //===========================
            health.AddItem(new MenuItem("toppanel.Health.Enable", "Enable").SetValue(true));
            //===========================
            mana.AddItem(new MenuItem("toppanel.Mana.Enable", "Enable").SetValue(true));
            //===========================
            status.AddItem(new MenuItem("toppanel.Status.Enable", "Enable").SetValue(true));
            status.AddItem(new MenuItem("toppanel.AllyVision.Enable", "Vision on Ally Heroes").SetValue(true));
            status.AddItem(new MenuItem("toppanel.EnemiesStatus.Enable", "Enemies status").SetValue(true));
            //===========================
            extraPos.AddItem(
                new MenuItem("extraPos.X", "Extra Position for top panel: X").SetValue(new Slider(0, -25, 25)));
            extraPos.AddItem(
                new MenuItem("extraPos.Y", "Extra Position for top panel: Y").SetValue(new Slider(0, -25, 25)));
            //===========================
            roshanTimer.AddItem(new MenuItem("roshanTimer.Enable", "Enable").SetValue(true));
            //===========================
            showMeMore.AddItem(new MenuItem("showmemore.Enable", "Enable").SetValue(true));
            var charge = new Menu("", "charge", false, "spirit_breaker_charge_of_darkness", true);

            charge.AddItem(new MenuItem("tooltip", "When Charge on your Main Hero").SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Enable", "Enable").SetValue(true));
            charge.AddItem(new MenuItem("charge.Rect.Enable", "Draw red box").SetValue(false));
            charge.AddItem(new MenuItem("charge.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            charge.AddItem(new MenuItem("charge.Green", "Green").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Green));
            charge.AddItem(new MenuItem("charge.Blue", "Blue").SetValue(new Slider(0, 0, 255)).SetFontColor(Color.Blue));
            charge.AddItem(new MenuItem("charge.Alpha", "Alpha").SetValue(new Slider(4, 0, 255)).SetFontColor(Color.WhiteSmoke));
            //===========================
            var blur = new Menu("", "blur", false, "phantom_assassin_blur", true);

            blur.AddItem(new MenuItem("blur.Enable", "Show PA on minimap").SetValue(true));
            //===========================
            var wr = new Menu("", "wr", false, "windrunner_powershot", true);

            wr.AddItem(new MenuItem("wr.Enable", "Enable").SetValue(true));
            wr.AddItem(new MenuItem("wr.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            wr.AddItem(new MenuItem("wr.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            wr.AddItem(new MenuItem("wr.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var mirana = new Menu("", "mirana", false, "mirana_arrow", true);

            mirana.AddItem(new MenuItem("mirana.Enable", "Enable").SetValue(true));
            mirana.AddItem(new MenuItem("mirana.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            mirana.AddItem(new MenuItem("mirana.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            mirana.AddItem(new MenuItem("mirana.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var apparition = new Menu("", "apparition", false, "ancient_apparition_ice_blast", true);

            apparition.AddItem(new MenuItem("apparition.Enable", "Enable").SetValue(true));
            var lina = new Menu("", "lina", false, "lina_light_strike_array", true);

            lina.AddItem(new MenuItem("lina.Enable", "Enable").SetValue(true));
            var invoker = new Menu("", "invoker", false, "invoker_sun_strike", true);

            invoker.AddItem(new MenuItem("invoker.Enable", "Enable").SetValue(true));
            invoker.AddItem(new MenuItem("invoker.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            invoker.AddItem(new MenuItem("invoker.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            invoker.AddItem(new MenuItem("invoker.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var lesh = new Menu("", "lesh", false, "leshrac_split_earth", true);

            lesh.AddItem(new MenuItem("lesh.Enable", "Enable").SetValue(true));
            var kunkka = new Menu("", "kunkka", false, "kunkka_torrent", true);

            kunkka.AddItem(new MenuItem("kunkka.Enable", "Enable").SetValue(true));
            kunkka.AddItem(new MenuItem("kunkka.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            kunkka.AddItem(new MenuItem("kunkka.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            kunkka.AddItem(new MenuItem("kunkka.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            var tech = new Menu("", "tech", false, "npc_dota_hero_techies", true);

            tech.AddItem(new MenuItem("tech.Enable", "Enable").SetValue(true));
            var tinker = new Menu("", "tinker", false, "npc_dota_hero_tinker", true);

            tinker.AddItem(new MenuItem("tinker.Enable", "Enable").SetValue(true));
            var lifestealer = new Menu("", "life stealer", false, "life_stealer_infest", true);

            lifestealer.AddItem(new MenuItem("lifestealer.Enable", "Enable").SetValue(true));
            lifestealer.AddItem(new MenuItem("lifestealer.Icon.Enable", "Draw icon near hero").SetValue(false));
            lifestealer.AddItem(new MenuItem("lifestealer.creeps.Enable", "Draw icon near creep").SetValue(false));
            var arc = new Menu("", "arc", textureName: "arc_warden_spark_wraith", showTextWithTexture: true);

            arc.AddItem(new MenuItem("arc.Enable", "Enable").SetValue(true));
            var scan = new Menu("Enemy Scanning Ability", "Scan");

            scan.AddItem(new MenuItem("scan.Enable", "Enable").SetValue(true));
            var courEsp = new Menu("Courier on Minimap", "Cour");

            courEsp.AddItem(new MenuItem("Cour.Enable", "Enable").SetValue(true));
            //var cour = new Menu("Courier", "Courier");
            //cour.AddItem(new MenuItem("Courier.Enable", "Enable").SetValue(true)).SetTooltip("draw courier position on minimap");
            //===========================
            showIllusion.AddItem(new MenuItem("showillusion.Enable", "Enable").SetValue(true));
            showIllusion.AddItem(
                new MenuItem("showillusion.Type", "Type").SetValue(new StringList(new[] { "Smoke", "new 1", "new 2", "balloons" }, 2)));
            showIllusion.AddItem(new MenuItem("showillusion.X", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            showIllusion.AddItem(new MenuItem("showillusion.Y", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            showIllusion.AddItem(new MenuItem("showillusion.Z", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            showIllusion.AddItem(new MenuItem("showillusion.Alpha", "Alpha").SetValue(new Slider(40, 0, 255)));
            showIllusion.AddItem(new MenuItem("showillusion.Size", "Size").SetValue(new Slider(120, 1, 250)));
            //===========================
            runevision.AddItem(new MenuItem("runevision.Enable", "Enable").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.PrintText.Enable", "Print text on rune-spawning").SetValue(true));
            runevision.AddItem(new MenuItem("runevision.DrawOnMinimap.Enable", "Draw rune on minimap").SetValue(true));
            //===========================
            var itemOverlay = new Menu("Item overlay", "itemOverlay");

            itemOverlay.AddItem(new MenuItem("itemOverlay.Enable", "Enable").SetValue(false)).SetTooltip("will show all items on heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DrawCharges", "Draw Charges").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Size", "Size").SetValue(new Slider(100, 1, 200)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Extra", "Extra").SetValue(new Slider(26, 1, 100)));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Ally", "Enable for ally").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Enemy", "Enable for enemy").SetValue(true));
            itemOverlay.AddItem(new MenuItem("itemOverlay.Cour", "Enable for couriers").SetValue(true)).SetTooltip("only for enemy");
            var tpCatcher = new Menu("TP Catcher", "TpCather");

            tpCatcher.AddItem(new MenuItem("TpCather.Enable", "Enable").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Ally", "For Ally").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Enemy", "For Enemy").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.Map", "Draw on Map").SetValue(true));
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap", "Draw on MiniMap").SetValue(true));
            tpCatcher.AddItem(
                new MenuItem("TpCather.MiniMap.Type", "Draw on MiniMap Hero Icon or Rectangle").SetValue(true))
            .SetTooltip("true=icon; false=rectangle");
            tpCatcher.AddItem(new MenuItem("TpCather.MiniMap.Size", "MiniMap Size").SetValue(new Slider(20, 5, 30)));
            tpCatcher.AddItem(new MenuItem("TpCather.Map.Size", "Map Size").SetValue(new Slider(50, 5, 50)));
            var manaBars = new Menu("Manabars", "manaBars");

            manaBars.AddItem(new MenuItem("manaBars.Enable", "Enable").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Enable", "Enable digital values").SetValue(true));
            manaBars.AddItem(new MenuItem("manaBars.Nums.Size", "Dig Size").SetValue(new Slider(75, 1, 150)));
            manaBars.AddItem(new MenuItem("manaBars.Size", "Size").SetValue(new Slider(75, 1, 150)));

            manaBars.AddItem(new MenuItem("manaBars.Red", "Red").SetValue(new Slider(65, 0, 255)).SetFontColor(Color.Red));
            manaBars.AddItem(new MenuItem("manaBars.Green", "Green").SetValue(new Slider(105, 0, 255)).SetFontColor(Color.Green));
            manaBars.AddItem(new MenuItem("manaBars.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));

            //var dangItem = new Menu("Dangerous items", "dangitems");
            itemOverlay.AddItem(new MenuItem("itemOverlay.DangItems", "Draw only dangerous items").SetValue(false)).SetTooltip("show if enemy has Dangerous items. Working only for enemy heroes");
            itemOverlay.AddItem(new MenuItem("itemOverlay.OldMethod", "Use old method for drawing dangItems").SetValue(false));

            var dict = new Dictionary <string, bool>
            {
                { "item_gem", true },
                { "item_dust", true },
                { "item_sphere", true },
                { "item_blink", true },
                { "item_ward_observer", true },
                { "item_ward_sentry", true },
                { "item_black_king_bar", true },
                { "item_invis_sword", true },
                { "item_silver_edge", true },
                { "item_ward_dispenser", true }
            };

            itemOverlay.AddItem(new MenuItem("itemOverlay.List", "Items: ").SetValue(new AbilityToggler(dict)));
            //===========================
            autoItems.AddItem(new MenuItem("autoitems.Enable", "Enable").SetValue(true));
            autoItems.AddItem(new MenuItem("autoItems.Percent", "Health(%) for auto stick").SetValue(new Slider(15)));
            autoItems.AddItem(new MenuItem("autoItems.Percent2", "Mana(%) for auto stick").SetValue(new Slider(15)));
            var autoitemlist = new Dictionary <string, bool>
            {
                { "item_magic_wand", true },
                { "item_phase_boots", true },
                { "item_hand_of_midas", true }
            };

            autoItems.AddItem(new MenuItem("autoitems.List", "Items:").SetValue(new AbilityToggler(autoitemlist)));
            //===========================
            var lastPosition = new Menu("Last position", "lastPosition");

            lastPosition.AddItem(new MenuItem("lastPosition.Enable", "Enable").SetValue(true)).SetTooltip("show last positions of enemies");
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Prediction", "Enable Prediction").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Map", "on Map").SetValue(false));
            lastPosition.AddItem(new MenuItem("lastPosition.Map.X", "icon size").SetValue(new Slider(50, 10, 150)));
            lastPosition.AddItem(new MenuItem("lastPosition.Enable.Minimap", "on Minimap").SetValue(true));
            lastPosition.AddItem(new MenuItem("lastPosition.Minimap.X", "icon size").SetValue(new Slider(20, 10, 150)));

            //===========================
            var netWorth = new Menu("NetWorth Graph", "netWorth");

            netWorth.AddItem(new MenuItem("netWorth.Enable", "Enable").SetValue(true)).SetTooltip("draw networth graph based on item cost");
            netWorth.AddItem(new MenuItem("netWorth.Order", "Sort Players").SetValue(true));
            netWorth.AddItem(
                new MenuItem("netWorth.X", "Position: X").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(
                new MenuItem("netWorth.Y", "Position: Y").SetValue(new Slider(0, 0, 2000)));
            netWorth.AddItem(new MenuItem("netWorth.SizeX", "SizeX").SetValue(new Slider(255, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.SizeY", "SizeY").SetValue(new Slider(174, 1, 255)));
            netWorth.AddItem(new MenuItem("netWorth.Red", "Red").SetValue(new Slider(141, 0, 255)).SetFontColor(Color.Red));
            netWorth.AddItem(new MenuItem("netWorth.Green", "Green").SetValue(new Slider(182, 0, 255)).SetFontColor(Color.Green));
            netWorth.AddItem(new MenuItem("netWorth.Blue", "Blue").SetValue(new Slider(98, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var dmgCalc = new Menu("Damage Calculation", "dmgCalc");

            dmgCalc.AddItem(new MenuItem("dmgCalc.Enable", "Enable").SetValue(true)).SetTooltip("showing dmg from ur abilities");
            dmgCalc.AddItem(new MenuItem("dmgCalc.Abilities", "Abilities: ").SetValue(new AbilityToggler(new Dictionary <string, bool>())));
            var defCol      = new Menu("Default Color", "clrDef");
            var killableCol = new Menu("Color, When skills damage is enough", "clrEno");

            defCol.AddItem(new MenuItem("defCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            defCol.AddItem(new MenuItem("defCol.Green", "Green").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Green));
            defCol.AddItem(new MenuItem("defCol.Blue", "Blue").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Blue));
            killableCol.AddItem(new MenuItem("killableCol.Red", "Red").SetValue(new Slider(255, 0, 255)).SetFontColor(Color.Red));
            killableCol.AddItem(new MenuItem("killableCol.Green", "Green").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Green));
            killableCol.AddItem(new MenuItem("killableCol.Blue", "Blue").SetValue(new Slider(100, 0, 255)).SetFontColor(Color.Blue));
            //===========================
            var devolper = new Menu("Developer", "Developer");

            devolper.AddItem(new MenuItem("Dev.Hax.enable", "Hax in lobby").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.Text.enable", "Debug messages").SetValue(false));
            devolper.AddItem(new MenuItem("Dev.CreepsDisabler.enable", "Disable spawn creeps").SetValue(false))
            .ValueChanged +=
                (sender, args) =>
            {
                var type = args.GetNewValue <bool>() ? "enable" : "disable";
                Game.ExecuteCommand($"dota_creeps_no_spawning_{type}");
            };
            //===========================
            spellPanel.AddSubMenu(oldMethod);
            spellPanel.AddSubMenu(newMethod);
            topPanel.AddSubMenu(ultimate);
            topPanel.AddSubMenu(health);
            topPanel.AddSubMenu(mana);
            topPanel.AddSubMenu(status);
            topPanel.AddSubMenu(extraPos);
            page1.AddSubMenu(topPanel);
            page1.AddSubMenu(spellPanel);
            page1.AddSubMenu(roshanTimer);
            page1.AddSubMenu(showMeMore);
            showMeMore.AddSubMenu(charge);
            showMeMore.AddSubMenu(blur);
            showMeMore.AddSubMenu(wr);
            showMeMore.AddSubMenu(mirana);
            showMeMore.AddSubMenu(apparition);
            showMeMore.AddSubMenu(lina);
            showMeMore.AddSubMenu(invoker);
            showMeMore.AddSubMenu(kunkka);
            showMeMore.AddSubMenu(lesh);
            showMeMore.AddSubMenu(lifestealer);
            showMeMore.AddSubMenu(tech);
            showMeMore.AddSubMenu(tinker);
            showMeMore.AddSubMenu(arc);
            showMeMore.AddSubMenu(scan);
            showMeMore.AddSubMenu(courEsp);
            page1.AddSubMenu(showIllusion);
            page1.AddSubMenu(runevision);
            //settings.AddSubMenu(dangItem);
            settings.AddSubMenu(page1);
            settings.AddSubMenu(page2);
            page1.AddSubMenu(itemPanel);
            page1.AddSubMenu(itemOverlay);
            page2.AddSubMenu(manaBars);
            page2.AddSubMenu(autoItems);
            page2.AddSubMenu(lastPosition);
            page2.AddSubMenu(netWorth);
            page2.AddSubMenu(dmgCalc);
            page2.AddSubMenu(tpCatcher);
            dmgCalc.AddSubMenu(defCol);
            dmgCalc.AddSubMenu(killableCol);

            Members.Menu.AddSubMenu(settings);
            Members.Menu.AddSubMenu(devolper);

            Members.HeroesList        = new HeroesList();
            Members.Manabars          = new Manabars();
            Members.ItemOverlay       = new ItemOverlay();
            Members.DamageCalculation = new DamageCalculation();
            Members.AbilityOverlay    = new AbilityOverlay();

            if (Drawing.Direct3DDevice9 != null)
            {
                Members.RoshanFont = new Font(
                    Drawing.Direct3DDevice9,
                    new FontDescription
                {
                    FaceName        = "Tahoma",
                    Height          = 15,
                    OutputPrecision = FontPrecision.Default,
                    Quality         = FontQuality.Default
                });
            }
            Events.OnLoad += (sender, args) =>
            {
                Members.MyHero   = ObjectManager.LocalHero;
                Members.MyPlayer = ObjectManager.LocalPlayer;

                Members.AbilityDictionary   = new Dictionary <uint, List <Ability> >();
                Members.ItemDictionary      = new Dictionary <uint, List <Item> >();
                Members.StashItemDictionary = new Dictionary <uint, List <Item> >();
                Members.NetWorthDictionary  = new Dictionary <string, long>();

                Members.Heroes       = new List <Hero>();
                Members.AllyHeroes   = new List <Hero>();
                Members.EnemyHeroes  = new List <Hero>();
                Members.Players      = new List <Player>();
                Members.AllyPlayers  = new List <Player>();
                Members.EnemyPlayers = new List <Player>();
                Members.BaseList     = new List <Unit>();

                Members.PAisHere   = null;
                Members.BaraIsHere = false;
                Members.Apparition = false;
                Members.Mirana     = null;
                Members.Windrunner = null;
                Updater.HeroList.Flush();
                Updater.BaseList.Flush();
                Updater.PlayerList.Flush();
                Game.OnUpdate += Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate += Updater.BaseList.Update;
                Game.OnUpdate += Devolp.ConsoleCommands;
                RoshanAction.Flush();
                AutoItems.Flush();
                Game.OnUpdate += RoshanAction.Roshan;
                Game.OnUpdate += Game_OnUpdate;

                Drawing.OnDraw += DrawHelper.Overlay;

                Drawing.OnDraw += ItemPanel.Draw;
                ShowMeMore.Flush();
                Drawing.OnDraw += ShowMeMore.Draw;
                Entity.OnParticleEffectAdded += ShowMeMore.Entity_OnParticleEffectAdded;
                Unit.OnModifierAdded         += ShowMeMore.OnModifierAdded;
                Unit.OnModifierRemoved       += ShowMeMore.OnModifierRemoved;
                Runes.Flush();
                Drawing.OnDraw += Runes.Draw;


                Drawing.OnPreReset  += DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset += DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene  += DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc      += Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload += DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent += FireEvent.Game_OnGameEvent;

                Game.PrintMessage(
                    "<font face='Comic Sans MS, cursive'><font color='#00aaff'>" + Members.Menu.DisplayName +
                    " By Jumpering" +
                    " loaded!</font> <font color='#aa0000'>v" + Assembly.GetExecutingAssembly().GetName().Version,
                    MessageType.LogMessage);
                Printer.PrintSuccess("> " + Members.Menu.DisplayName + " loaded v" +
                                     Assembly.GetExecutingAssembly().GetName().Version);

                /*Entity.OnParticleEffectAdded += Entity_OnParticleEffectAdded;
                 * Drawing.OnDraw += Drawing_OnDraw;*/
                try
                {
                    Members.Menu.AddToMainMenu();
                    if (Members.Menu.Item("Dev.CreepsDisabler.enable").GetValue <bool>())
                    {
                        Game.ExecuteCommand("dota_creeps_no_spawning_enable");
                    }
                }
                catch (Exception)
                {
                    Printer.Print("Members.Menu.AddToMainMenu();");
                }
            };
            Events.OnClose += (sender, args) =>
            {
                Game.OnUpdate -= Updater.HeroList.Update;
                //Game.OnUpdate += Updater.PlayerList.Update;
                Game.OnUpdate -= Updater.BaseList.Update;
                Game.OnUpdate -= Devolp.ConsoleCommands;
                Game.OnUpdate -= RoshanAction.Roshan;
                Game.OnUpdate -= Game_OnUpdate;

                Drawing.OnDraw -= DrawHelper.Overlay;
                Drawing.OnDraw -= ItemPanel.Draw;
                Drawing.OnDraw -= ShowMeMore.Draw;
                Entity.OnParticleEffectAdded -= ShowMeMore.Entity_OnParticleEffectAdded;
                Unit.OnModifierAdded         -= ShowMeMore.OnModifierAdded;
                Unit.OnModifierRemoved       -= ShowMeMore.OnModifierRemoved;
                Drawing.OnDraw      -= Runes.Draw;
                Drawing.OnPreReset  -= DrawHelper.Render.Drawing_OnPreReset;
                Drawing.OnPostReset -= DrawHelper.Render.Drawing_OnPostReset;
                Drawing.OnEndScene  -= DrawHelper.Render.Drawing_OnEndScene;
                Game.OnWndProc      -= Game_OnWndProc;
                AppDomain.CurrentDomain.DomainUnload -= DrawHelper.Render.CurrentDomainDomainUnload;
                Game.OnFireEvent -= FireEvent.Game_OnGameEvent;
                Members.TopPanelPostiion.Clear();
                Members.Heroes.Clear();
                Members.EnemyHeroes.Clear();
                Members.AllyHeroes.Clear();
                Printer.PrintInfo("> " + Members.Menu.DisplayName + " unloaded");
                try
                {
                    Members.Menu.RemoveFromMainMenu();
                }
                catch (Exception)
                {
                    Printer.PrintError("Members.Menu.RemoveFromMainMenu();");
                }
            };
        }