public static void CreateMenu()
        {
            if (MainMenu != null)
            {
                return;
            }

            MainMenu = EloBuddy.SDK.Menu.MainMenu.AddMenu("MoonWalkEvade", "MoonWalkEvade");

            // Set up main menu
            MainMenu.AddGroupLabel("General Settings");
            MainMenu.Add("evadeMode", new ComboBox("Evade Mode", 0, "Smooth - Moon Walk Style", "Fast - EvadePlus Style"));
            MainMenu.AddSeparator();

            MainMenu.Add("fowDetection", new CheckBox("Enable FOW Detection"));
            MainMenu.Add("processSpellDetection", new CheckBox("Enable Fast Spell Detection"));
            MainMenu.Add("limitDetectionRange", new CheckBox("Limit Spell Detection Range"));
            MainMenu.Add("recalculatePosition", new CheckBox("Allow Recalculation Of Evade Position", false));
            MainMenu.Add("moveToInitialPosition", new CheckBox("Move To Desired Position After Evade", false));
            MainMenu.AddSeparator();

            MainMenu.Add("minComfortDist", new Slider("Minimum Comfort Distance To Enemies", 550, 0, 1000));
            MainMenu.AddLabel("If possible");
            MainMenu.AddSeparator(10);
            MainMenu.Add("ignoreComfort", new Slider("Ignore Comfort Distance For X Enemies", 1, 1, 5));
            MainMenu.AddSeparator();

            MainMenu.AddGroupLabel("Humanizer");
            MainMenu.Add("skillshotActivationDelay", new Slider("Reaction Delay", 0, 0, 400));
            MainMenu.AddSeparator();

            MainMenu.Add("extraEvadeRange", new Slider("Extra Evade Range", 0, 0, 300));
            MainMenu.Add("randomizeExtraEvadeRange", new CheckBox("Randomize Extra Range", false));

            var heroes     = Program.DeveloperMode ? EntityManager.Heroes.AllHeroes : EntityManager.Heroes.Enemies;
            var heroNames  = heroes.Select(obj => obj.ChampionName).ToArray();
            var skillshots =
                SkillshotDatabase.Database.Where(s => heroNames.Contains(s.OwnSpellData.ChampionName)).ToList();

            skillshots.AddRange(
                SkillshotDatabase.Database.Where(
                    s =>
                    s.OwnSpellData.ChampionName == "AllChampions" &&
                    heroes.Any(obj => obj.Spellbook.Spells.Select(c => c.Name).Contains(s.OwnSpellData.SpellName))));
            var evadeSpells =
                EvadeSpellDatabase.Spells.Where(s => Player.Instance.ChampionName.Contains(s.ChampionName)).ToList();

            evadeSpells.AddRange(EvadeSpellDatabase.Spells.Where(s => s.ChampionName == "AllChampions"));


            SkillshotMenu = MainMenu.AddSubMenu("Skillshots");

            foreach (var c in skillshots)
            {
                var skillshotString = c.ToString().ToLower();

                if (MenuSkillshots.ContainsKey(skillshotString))
                {
                    continue;
                }

                MenuSkillshots.Add(skillshotString, c);

                SkillshotMenu.AddGroupLabel(c.DisplayText);
                SkillshotMenu.Add(skillshotString + "/enable", new CheckBox("Dodge", c.OwnSpellData.EnabledByDefault));
                SkillshotMenu.Add(skillshotString + "/draw", new CheckBox("Draw"));

                var dangerous = new CheckBox("Dangerous", c.OwnSpellData.IsDangerous);
                dangerous.OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    GetSkillshot(sender.SerializationId).OwnSpellData.IsDangerous = args.NewValue;
                };
                SkillshotMenu.Add(skillshotString + "/dangerous", dangerous);

                var dangerValue = new Slider("Danger Value", c.OwnSpellData.DangerValue, 1, 5);
                dangerValue.OnValueChange += delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    GetSkillshot(sender.SerializationId).OwnSpellData.DangerValue = args.NewValue;
                };
                SkillshotMenu.Add(skillshotString + "/dangervalue", dangerValue);

                SkillshotMenu.AddSeparator();
            }

            // Set up spell menu
            SpellMenu = MainMenu.AddSubMenu("Evading Spells");

            foreach (var e in evadeSpells)
            {
                var evadeSpellString = e.SpellName;

                if (MenuEvadeSpells.Any(x => x.SpellName == evadeSpellString))
                {
                    continue;
                }

                MenuEvadeSpells.Add(e);

                SpellMenu.AddGroupLabel(evadeSpellString);
                SpellMenu.Add(evadeSpellString + "/enable", new CheckBox("Use " + (!e.isItem ? e.Slot.ToString() : "")));

                var dangerValueSlider = new Slider("Danger Value", e.DangerValue, 1, 5);
                dangerValueSlider.OnValueChange += delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    MenuEvadeSpells.First(x =>
                                          x.SpellName.Contains(sender.SerializationId.Split('/')[0])).DangerValue = args.NewValue;
                };
                SpellMenu.Add(evadeSpellString + "/dangervalue", dangerValueSlider);

                SpellMenu.AddSeparator();
            }


            DrawMenu = MainMenu.AddSubMenu("Drawings");
            DrawMenu.Add("disableAllDrawings", new CheckBox("Disable All Drawings", false));
            DrawMenu.Add("drawEvadePoint", new CheckBox("Draw Evade Point"));
            DrawMenu.Add("drawEvadeStatus", new CheckBox("Draw Evade Status"));
            DrawMenu.Add("drawSkillshots", new CheckBox("Draw Skillshots"));
            DrawMenu.Add("drawDangerPolygon", new CheckBox("Draw Danger Polygon"));


            HotkeysMenu = MainMenu.AddSubMenu("KeyBinds");
            HotkeysMenu.Add("enableEvade", new KeyBind("Enable Evade", true, KeyBind.BindTypes.PressToggle, 'M'));
            HotkeysMenu.Add("dodgeOnlyDangerousH", new KeyBind("Dodge Only Dangerous (Hold)", false, KeyBind.BindTypes.HoldActive));
            HotkeysMenu.Add("dodgeOnlyDangerousT", new KeyBind("Dodge Only Dangerous (Toggle)", false, KeyBind.BindTypes.PressToggle));
            HotkeysMenu.AddSeparator();
            HotkeysMenu.Add("debugMode", new KeyBind("Debug Mode", false, KeyBind.BindTypes.PressToggle));
            HotkeysMenu.Add("debugModeIntervall", new Slider("Debug Skillshot Creation Intervall", 1000, 0, 5000));
            HotkeysMenu.AddStringList("debugMissile", "Selected Skillshot", SkillshotDatabase.Database.Select(x => x.OwnSpellData.SpellName).ToArray(), 0);
            HotkeysMenu.Add("isProjectile", new CheckBox("Is Projectile?"));

            CollisionMenu = MainMenu.AddSubMenu("Collision");
            CollisionMenu.Add("minion", new CheckBox("Attend Minion Collision"));
            CollisionMenu.Add("yasuoWall", new CheckBox("Attend Yasuo Wall"));
            CollisionMenu.Add("useProj", new CheckBox("Use Spell Projection", false));
        }
        public static void CreateMenu()
        {
            if (MainMenu != null)
            {
                return;
            }

            MainMenu = EloBuddy.SDK.Menu.MainMenu.AddMenu("MoonWalkEvade", "MoonWalkEvade");

            // Set up main menu
            MainMenu.AddGroupLabel("Genel Ayarlar");
            MainMenu.Add("evadeMode", new ComboBox("Kaçış Modu", 0, "Akıllı - Moon Walk Stili", "Hızlı - EvadePlus Stili"));
            MainMenu.AddSeparator();

            MainMenu.Add("fowDetection", new CheckBox("Görülmeyen yerden büyülerden kaç"));
            MainMenu.Add("processSpellDetection", new CheckBox("Hızlı büyü Tespit etmeyi Aktif Et"));
            MainMenu.Add("limitDetectionRange", new CheckBox("Büyü Tespit Etme Menzilini Sınırla"));
            MainMenu.Add("recalculatePosition", new CheckBox("Kaçış Pozisyonunu yeniden Hesapla", false));
            MainMenu.Add("moveToInitialPosition", new CheckBox("Kaçarken İstenen Pozisyona Doğru Yürü", false));
            MainMenu.AddSeparator();

            MainMenu.Add("minComfortDist", new Slider("Düşmanlardan en iyi pozisyona doğru ilerle(değiştirmeyin)", 550, 0, 1000));
            MainMenu.AddLabel("Mümkünse");
            MainMenu.AddSeparator(10);
            MainMenu.Add("ignoreComfort", new Slider("X kadar düşman varsa bu pozisyonu hesaplama(değiştirmeyin)", 1, 1, 5));
            MainMenu.AddSeparator();

            MainMenu.AddGroupLabel("İnsancıl Ayar");
            MainMenu.Add("skillshotActivationDelay", new Slider("Tepki Süresi", 0, 0, 400));
            MainMenu.AddSeparator();

            MainMenu.Add("extraEvadeRange", new Slider("Ekstra Kaçma Mesafesi", 0, 0, 300));
            MainMenu.Add("randomizeExtraEvadeRange", new CheckBox("Karışık Ekstra Menzil", false));

            var heroes     = Program.DeveloperMode ? EntityManager.Heroes.AllHeroes : EntityManager.Heroes.Enemies;
            var heroNames  = heroes.Select(obj => obj.ChampionName).ToArray();
            var skillshots =
                SkillshotDatabase.Database.Where(s => heroNames.Contains(s.OwnSpellData.ChampionName)).ToList();

            skillshots.AddRange(
                SkillshotDatabase.Database.Where(
                    s =>
                    s.OwnSpellData.ChampionName == "AllChampions" &&
                    heroes.Any(obj => obj.Spellbook.Spells.Select(c => c.Name).Contains(s.OwnSpellData.SpellName))));
            var evadeSpells =
                EvadeSpellDatabase.Spells.Where(s => Player.Instance.ChampionName.Contains(s.ChampionName)).ToList();

            evadeSpells.AddRange(EvadeSpellDatabase.Spells.Where(s => s.ChampionName == "AllChampions"));


            SkillshotMenu = MainMenu.AddSubMenu("Büyüler");

            foreach (var c in skillshots)
            {
                var skillshotString = c.ToString().ToLower();

                if (MenuSkillshots.ContainsKey(skillshotString))
                {
                    continue;
                }

                MenuSkillshots.Add(skillshotString, c);

                SkillshotMenu.AddGroupLabel(c.DisplayText);
                SkillshotMenu.Add(skillshotString + "/enable", new CheckBox("Büyülerden Kaçma", c.OwnSpellData.EnabledByDefault));
                SkillshotMenu.Add(skillshotString + "/draw", new CheckBox("Göster"));

                var dangerous = new CheckBox("Tehlike", c.OwnSpellData.IsDangerous);
                dangerous.OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    GetSkillshot(sender.SerializationId).OwnSpellData.IsDangerous = args.NewValue;
                };
                SkillshotMenu.Add(skillshotString + "/dangerous", dangerous);

                var dangerValue = new Slider("Tehlike Seviyesi", c.OwnSpellData.DangerValue, 1, 5);
                dangerValue.OnValueChange += delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    GetSkillshot(sender.SerializationId).OwnSpellData.DangerValue = args.NewValue;
                };
                SkillshotMenu.Add(skillshotString + "/dangervalue", dangerValue);

                SkillshotMenu.AddSeparator();
            }

            // Set up spell menu
            SpellMenu = MainMenu.AddSubMenu("Büyülerden Kaç");

            foreach (var e in evadeSpells)
            {
                var evadeSpellString = e.SpellName;

                if (MenuEvadeSpells.Any(x => x.SpellName == evadeSpellString))
                {
                    continue;
                }

                MenuEvadeSpells.Add(e);

                SpellMenu.AddGroupLabel(evadeSpellString);
                SpellMenu.Add(evadeSpellString + "/enable", new CheckBox("Kullan " + (!e.isItem ? e.Slot.ToString() : "")));

                var dangerValueSlider = new Slider("Tehlike Seviyesi", e.DangerValue, 1, 5);
                dangerValueSlider.OnValueChange += delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    MenuEvadeSpells.First(x =>
                                          x.SpellName.Contains(sender.SerializationId.Split('/')[0])).DangerValue = args.NewValue;
                };
                SpellMenu.Add(evadeSpellString + "/dangervalue", dangerValueSlider);

                SpellMenu.AddSeparator();
            }


            DrawMenu = MainMenu.AddSubMenu("Göstergeler,Çizimler");
            DrawMenu.Add("disableAllDrawings", new CheckBox("Tüm Göstergeler Devredışı", false));
            DrawMenu.Add("drawEvadePoint", new CheckBox("Kaçılacak noktayı Göster"));
            DrawMenu.Add("drawEvadeStatus", new CheckBox("Kaçma Durumunu Göster"));
            DrawMenu.Add("drawSkillshots", new CheckBox("Büyülerin gittiği yeri"));
            DrawMenu.Add("drawDangerPolygon", new CheckBox("Tehlikeli Alanı Göster"));


            HotkeysMenu = MainMenu.AddSubMenu("Tuşlar");
            HotkeysMenu.Add("enableEvade", new KeyBind("Kaçma Aktif", true, KeyBind.BindTypes.PressToggle, 'M'));
            HotkeysMenu.Add("dodgeOnlyDangerousH", new KeyBind("Sadece Tehlikede Kaç (Basılı Tut)", false, KeyBind.BindTypes.HoldActive));
            HotkeysMenu.Add("dodgeOnlyDangerousT", new KeyBind("Sadece Tehlikede Kaç (Tuş)", false, KeyBind.BindTypes.PressToggle));
            HotkeysMenu.AddSeparator();
            HotkeysMenu.Add("debugMode", new KeyBind("Hata Ayıklama Modu", false, KeyBind.BindTypes.PressToggle));
            HotkeysMenu.Add("debugModeIntervall", new Slider("Hata Ayıklama Süresi Aralığı", 1000, 0, 5000));
            HotkeysMenu.AddStringList("debugMissile", "Seçilen Büyüler", SkillshotDatabase.Database.Select(x => x.OwnSpellData.SpellName).ToArray(), 0);
            HotkeysMenu.Add("isProjectile", new CheckBox("Mermi?"));

            CollisionMenu = MainMenu.AddSubMenu("Önüne birşey gelmesini ayarla(Collision)");
            CollisionMenu.Add("minion", new CheckBox("Minyonun önüne geçmesini Hesapla"));
            CollisionMenu.Add("yasuoWall", new CheckBox("Yasuo Duvaırını Hesapla"));
            CollisionMenu.Add("useProj", new CheckBox("Büyü Öngörümü Kullan", false));
        }
Beispiel #3
0
        private static void OnLoadingComplete(EventArgs args)
        {
            if (!_Player.ChampionName.Contains("Tristana"))
            {
                return;
            }
            Chat.Print("Bristana Loaded!", Color.Orange);
            Bootstrap.Init(null);
            Q     = new Spell.Active(SpellSlot.Q);
            W     = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 450, int.MaxValue, 180);
            E     = new Spell.Targeted(SpellSlot.E, (uint)Player.Instance.GetAutoAttackRange());
            R     = new Spell.Targeted(SpellSlot.R, (uint)Player.Instance.GetAutoAttackRange());
            Botrk = new Item(ItemId.Blade_of_the_Ruined_King);
            Bil   = new Item(3144, 475f);
            Thm   = new Font(Drawing.Direct3DDevice, new FontDescription {
                FaceName = "Tahoma", Height = 32, Weight = FontWeight.Bold, OutputPrecision = FontPrecision.Default, Quality = FontQuality.ClearType
            });
            Menu = MainMenu.AddMenu("Bristana", "Bristana");
            Menu.AddGroupLabel("Bristana");
            Menu.AddLabel(" Good Luck! ");
            SpellMenu = Menu.AddSubMenu("Combo Settings", "Combo");
            SpellMenu.AddGroupLabel("Combo Settings");
            SpellMenu.Add("ComboQ", new CheckBox("Combo [Q]"));
            SpellMenu.Add("ComboER", new CheckBox("Combo [ER]"));
            SpellMenu.AddSeparator();
            SpellMenu.Add("RKs", new CheckBox("Combo [R]"));
            SpellMenu.Add("RKb", new KeyBind(" Semi [R] KillSteal", false, KeyBind.BindTypes.HoldActive, 'R'));
            SpellMenu.AddSeparator();
            SpellMenu.AddGroupLabel("Combo [E] On");
            foreach (var target in EntityManager.Heroes.Enemies)
            {
                SpellMenu.Add("useECombo" + target.ChampionName, new CheckBox("" + target.ChampionName));
            }

            HarassMenu = Menu.AddSubMenu("Harass Settings", "Harass");
            HarassMenu.AddGroupLabel("Harass Settings");
            HarassMenu.Add("HarassQ", new CheckBox("Harass [Q]", false));
            HarassMenu.AddGroupLabel("Harass [E] on");
            foreach (var target in EntityManager.Heroes.Enemies)
            {
                HarassMenu.Add("HarassE" + target.ChampionName, new CheckBox("" + target.ChampionName));
            }
            HarassMenu.Add("manaHarass", new Slider("Min Mana For Harass", 50, 0, 100));

            LaneMenu = Menu.AddSubMenu("Laneclear Settings", "Clear");
            LaneMenu.AddGroupLabel("Laneclear Settings");
            LaneMenu.Add("ClearQ", new CheckBox("Laneclear [Q]", false));
            LaneMenu.Add("ClearE", new CheckBox("Laneclear [E]", false));
            LaneMenu.Add("ClearTower", new CheckBox("Laneclear [E] Turret", false));
            LaneMenu.Add("manaFarm", new Slider("Min Mana For LaneClear", 50, 0, 100));

            JungleMenu = Menu.AddSubMenu("JungleClear Settings", "JungleClear");
            JungleMenu.AddGroupLabel("JungleClear Settings");
            JungleMenu.Add("jungleQ", new CheckBox("JungleClear [Q]"));
            JungleMenu.Add("jungleE", new CheckBox("JungleClear [E]"));
            JungleMenu.Add("jungleW", new CheckBox("JungleClear [W]", false));
            JungleMenu.Add("manaJung", new Slider("Min Mana For JungleClear", 50, 0, 100));

            Items = Menu.AddSubMenu("Items Settings", "Items");
            Items.AddGroupLabel("Items Settings");
            Items.Add("BOTRK", new CheckBox("Use [Botrk]"));
            Items.Add("ihp", new Slider("My HP Use BOTRK <=", 50));
            Items.Add("ihpp", new Slider("Enemy HP Use BOTRK <=", 50));
            Items.AddGroupLabel("Qss Settings");
            Items.Add("Qss", new CheckBox("Use Qss"));
            Items.AddGroupLabel("Qss On CC");
            Items.Add("stun", new CheckBox("Stuns"));
            Items.Add("rot", new CheckBox("Root"));
            Items.Add("tunt", new CheckBox("Taunt"));
            Items.Add("snare", new CheckBox("Snare"));
            Items.Add("charm", new CheckBox("Charm", false));
            Items.Add("slow", new CheckBox("Slows", false));
            Items.Add("blind", new CheckBox("Blinds", false));
            Items.Add("fear", new CheckBox("Fear", false));
            Items.Add("silence", new CheckBox("Silence", false));
            Items.Add("supperss", new CheckBox("Supperss", false));
            Items.Add("poly", new CheckBox("Polymorph", false));
            Items.Add("delay", new Slider("Humanizer Qss Delay", 0, 0, 1500));

            Misc = Menu.AddSubMenu("Misc Settings", "Draw");
            Misc.AddGroupLabel("Anti Gapcloser");
            Misc.Add("antiGap", new CheckBox("Anti Gapcloser"));
            Misc.Add("antiRengar", new CheckBox("Anti Rengar"));
            Misc.Add("antiKZ", new CheckBox("Anti Kha'Zix"));
            Misc.Add("inter", new CheckBox("Use [R] Interupt"));
            Misc.AddGroupLabel("Drawings Settings");
            Misc.Add("DrawE", new CheckBox("Draw E"));
            Misc.Add("DrawW", new CheckBox("Draw W", false));
            Misc.Add("Notifications", new CheckBox("Notifications Can Kill R"));

            Skin = Menu.AddSubMenu("Skin Changer", "SkinChanger");
            Skin.Add("checkSkin", new CheckBox("Use Skin Changer"));
            Skin.Add("skin.Id", new ComboBox("Skin Mode", 0, "Classic", "Riot Tristana", "Earnest Elf Tristana", "Firefighter Tristana", "Guerilla Tristana", "Rocket Tristana", "Color Tristana", "Color Tristana", "Color Tristana", "Color Tristana", "Dragon Trainer Tristana"));

            Game.OnTick                      += Game_OnTick;
            Drawing.OnDraw                   += Drawing_OnDraw;
            Gapcloser.OnGapcloser            += Gapcloser_OnGapCloser;
            Interrupter.OnInterruptableSpell += Interupt;
            GameObject.OnCreate              += GameObject_OnCreate;
        }