コード例 #1
0
ファイル: Menu.cs プロジェクト: Pokerkoffer/EloBuddy-2
 public static void Initialize()
 {
     ClearMenu = MainMenu.AddSubMenu("Clear", "Clear");
     ClearMenu.AddGroupLabel("Clear Options");
     _q = ClearMenu.Add("Clear.Q", new CheckBox("Use Q"));
     _w = ClearMenu.Add("Clear.W", new CheckBox("Use W"));
 }
コード例 #2
0
 protected override void JungleClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("JungleClear.ManaPercent"))
     {
         Obj_AI_Minion minion = null;
         if (ClearMenu.CheckBox("JungleClear.W"))
         {
             minion = W.JungleClear(false);
             if (ShouldWaitMana)
             {
                 return;
             }
             CastW(minion);
         }
         if (ClearMenu.CheckBox("JungleClear.E"))
         {
             CastE(E.JungleClear(false) ?? minion);
         }
         if (ClearMenu.CheckBox("JungleClear.Q"))
         {
             CastQ(Q.JungleClear(false));
         }
     }
     base.JungleClear();
 }
コード例 #3
0
ファイル: sion.cs プロジェクト: kin123/EloBuddy
        private static void OnLoaded(EventArgs args)
        {
            if (Player.Instance.ChampionName != "Sion")
            {
                return;
            }


            Q = new Spell.Skillshot(SpellSlot.Q, 600, SkillShotType.Cone, 250, 1600, 140);
            W = new Spell.Active(SpellSlot.W, 550);
            E = new Spell.Skillshot(SpellSlot.E, 725, SkillShotType.Linear, 250, 1600, 60);
            R = new Spell.Skillshot(SpellSlot.R, 550, SkillShotType.Cone, 300, 900, 140);

            Menu = MainMenu.AddMenu("HTTF Sion", "Sion");

            ComboMenu = Menu.AddSubMenu("Combo Settings", "Combo");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.Add("ComboQ", new CheckBox("Use Q Combo"));
            ComboMenu.Add("ComboW", new CheckBox("Use W Combo"));
            ComboMenu.Add("ComboE", new CheckBox("Use E Combo"));
            ComboMenu.Add("ComboR", new CheckBox("Use R Combo"));
            ComboMenu.AddGroupLabel("Ultimate Settings");
            ComboMenu.Add("REnemies", new Slider("Min Hit Enemies Use R :", 3, 1, 5));
            ComboMenu.AddGroupLabel("FLEE");
            ComboMenu.Add("FleeR", new CheckBox("Use R "));

            ComboMenu.AddGroupLabel("Harass Settings");
            ComboMenu.Add("HQ", new CheckBox("Use Q Harass"));
            ComboMenu.Add("HW", new CheckBox("Use W Harass"));
            ComboMenu.Add("HE", new CheckBox("Use E Harass"));
            ComboMenu.Add("HarassWEQ", new CheckBox("Harass is W->E->Q"));



            ClearMenu = Menu.AddSubMenu("JungleClear Settings", "JungleClear");
            ClearMenu.AddGroupLabel("JungleClear Settings");
            ClearMenu.Add("QJungle", new CheckBox("Use Q JungleClear"));

            ClearMenu.Add("WJungle", new CheckBox("Use W JungleClear"));
            ClearMenu.Add("EJungle", new CheckBox("Use E JungleClear"));

            ClearMenu.AddGroupLabel("Lane Clear Settings");
            ClearMenu.Add("LaneClearQ", new CheckBox("Use Q LaneClear"));
            ClearMenu.Add("QMinions", new Slider("Min Hit Enemies Use R :", 3, 1, 6));
            ClearMenu.Add("LaneClearW", new CheckBox("Use W LaneClear"));
            ClearMenu.Add("LaneClearE", new CheckBox("Use E LaneClear"));


            Drawings = Menu.AddSubMenu("Draw Settings", "Draw");
            Drawings.AddGroupLabel("Drawing Settings");
            Drawings.Add("DrawQ", new CheckBox("Q Range"));
            Drawings.Add("DrawE", new CheckBox("E Range"));
            Drawings.Add("DrawW", new CheckBox("W Range"));
            Drawings.Add("Draw_Disabled", new CheckBox("Disabled Drawings"));



            Game.OnUpdate  += OnUpdate;
            Drawing.OnDraw += Drawing_OnDraw;
        }
コード例 #4
0
ファイル: Jhin.cs プロジェクト: loki892015/EloBuddy-1
 protected override void LastHit()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LastHit.ManaPercent"))
     {
         Q.LastHit((LastHitType)ClearMenu.Slider("LastHit.Q"));
     }
     base.LastHit();
 }
コード例 #5
0
        static void OnLoadingComplete(EventArgs args)
        {
            if (!_Player.ChampionName.Contains("Malphite"))
            {
                return;
            }
            Chat.Print("HTTF TopLane Series Yuklendi Ceviri TekinTR!", Color.Orange);
            Bootstrap.Init(null);
            Q         = new Spell.Targeted(SpellSlot.Q, 625);
            W         = new Spell.Active(SpellSlot.W, 250);
            E         = new Spell.Active(SpellSlot.E, 400);
            R         = new Spell.Skillshot(SpellSlot.R, 1000, SkillShotType.Circular, 250, 700, 270);
            Ignite    = new Spell.Targeted(_Player.GetSpellSlotFromName("summonerdot"), 600);
            Menu      = MainMenu.AddMenu("HTTF Malhite", "Malphite");
            ComboMenu = Menu.AddSubMenu("KomboAyarlari", "Combo");
            ComboMenu.AddGroupLabel("Kombo Ayarlari");
            ComboMenu.Add("ComboQ", new CheckBox("Kullan Q "));
            ComboMenu.Add("ComboW", new CheckBox("Kullan W "));
            ComboMenu.Add("ComboE", new CheckBox("Kullan E "));
            ComboMenu.AddGroupLabel("R ayarlari");
            ComboMenu.Add("ComboFQ", new KeyBind("Kullan R Secili hedefe", false, KeyBind.BindTypes.HoldActive, 'G'));
            ComboMenu.Add("ComboR", new CheckBox("Kullan R butun dusmanlar bir arada ise"));
            ComboMenu.Add("MinR", new Slider("R en az kac kisiye isabet etsin:", 3, 1, 5));


            ComboMenu.AddGroupLabel("Durtme ayarlari");
            ComboMenu.Add("HarassQ", new CheckBox("Kullan Q "));
            ComboMenu.Add("HarassW", new CheckBox("Kullan W "));
            ComboMenu.Add("HarassE", new CheckBox("Kullan E "));
            ComboMenu.Add("ManaQ", new Slider("Mana ayari % :", 40));

            ClearMenu = Menu.AddSubMenu("Orman Temizleme", "JungleClear");
            ClearMenu.AddGroupLabel("Orman temizleme");
            ClearMenu.Add("QJungle", new CheckBox("Kullan Q "));
            ClearMenu.Add("WJungle", new CheckBox("Kullan W "));
            ClearMenu.Add("EJungle", new CheckBox("Kullan E "));
            ClearMenu.Add("JungleMana", new Slider("Mana ayari % :", 20));

            ClearMenu.AddGroupLabel("Koridor temizleme");
            ClearMenu.Add("LaneClearQ", new CheckBox("Kullan Q "));
            ClearMenu.Add("LaneClearW", new CheckBox("Kullan W "));
            ClearMenu.Add("LaneClearE", new CheckBox("Kullan E "));
            ClearMenu.Add("ManaLC", new Slider("Mana ayari", 50));
            ClearMenu.AddGroupLabel("SonVurus Ayarlari");
            ClearMenu.Add("LastHitQ", new CheckBox("Kullan Q SonVurus"));
            ClearMenu.Add("ManaLH", new Slider("Mana ayari % : ", 50));


            Drawings = Menu.AddSubMenu("Cizim Ayarlari", "Draw");
            Drawings.AddGroupLabel("Cizim Ayarlari");
            Drawings.Add("DrawQ", new CheckBox("Goster Q Menzili"));
            Drawings.Add("DrawE", new CheckBox("Goster E Menzili"));
            Drawings.Add("DrawR", new CheckBox("Goster R Menzili"));
            Drawings.Add("Draw_Disabled", new CheckBox("Disabled Drawings"));

            Drawing.OnDraw += Drawing_OnDraw;
            Game.OnUpdate  += Game_OnUpdate;
        }
コード例 #6
0
ファイル: Malphite.cs プロジェクト: kin123/EloBuddy
        static void OnLoadingComplete(EventArgs args)
        {
            if (!_Player.ChampionName.Contains("Malphite"))
            {
                return;
            }
            Chat.Print("HTTF TopLane Series Loaded!", Color.Orange);
            Bootstrap.Init(null);
            Q         = new Spell.Targeted(SpellSlot.Q, 625);
            W         = new Spell.Active(SpellSlot.W, 250);
            E         = new Spell.Active(SpellSlot.E, 400);
            R         = new Spell.Skillshot(SpellSlot.R, 1000, SkillShotType.Circular, 250, 700, 270);
            Ignite    = new Spell.Targeted(_Player.GetSpellSlotFromName("summonerdot"), 600);
            Menu      = MainMenu.AddMenu("HTTF Malhite", "Malphite");
            ComboMenu = Menu.AddSubMenu("Combo Settings", "Combo");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.Add("ComboQ", new CheckBox("Use Q Combo"));
            ComboMenu.Add("ComboW", new CheckBox("Use W Combo"));
            ComboMenu.Add("ComboE", new CheckBox("Use E Combo"));
            ComboMenu.AddGroupLabel("Ultimate Settings");
            ComboMenu.Add("ComboFQ", new KeyBind("Use R Selected Target", false, KeyBind.BindTypes.HoldActive, 'G'));
            ComboMenu.Add("ComboR", new CheckBox("Use R in multitarget"));
            ComboMenu.Add("MinR", new Slider("Min Hit Enemies Use R :", 3, 1, 5));


            ComboMenu.AddGroupLabel("Harass Settings");
            ComboMenu.Add("HarassQ", new CheckBox("Use Q Harass"));
            ComboMenu.Add("HarassW", new CheckBox("Use W Harass"));
            ComboMenu.Add("HarassE", new CheckBox("Use E Harass"));
            ComboMenu.Add("ManaQ", new Slider("Mana Harass % :", 40));

            ClearMenu = Menu.AddSubMenu("JungleClear Settings", "JungleClear");
            ClearMenu.AddGroupLabel("JungleClear Settings");
            ClearMenu.Add("QJungle", new CheckBox("Use Q JungleClear"));
            ClearMenu.Add("WJungle", new CheckBox("Use W JungleClear"));
            ClearMenu.Add("EJungle", new CheckBox("Use E JungleClear"));
            ClearMenu.Add("JungleMana", new Slider("Mana JungleClear % :", 20));

            ClearMenu.AddGroupLabel("Lane Clear Settings");
            ClearMenu.Add("LaneClearQ", new CheckBox("Use Q LaneClear"));
            ClearMenu.Add("LaneClearW", new CheckBox("Use W LaneClear"));
            ClearMenu.Add("LaneClearE", new CheckBox("Use E LaneClear"));
            ClearMenu.Add("ManaLC", new Slider("Mana LaneClear", 50));
            ClearMenu.AddGroupLabel("LastHit Settings");
            ClearMenu.Add("LastHitQ", new CheckBox("Use Q LastHit"));
            ClearMenu.Add("ManaLH", new Slider("Mana LastHit % : ", 50));


            Drawings = Menu.AddSubMenu("Draw Settings", "Draw");
            Drawings.AddGroupLabel("Drawing Settings");
            Drawings.Add("DrawQ", new CheckBox("Q Range"));
            Drawings.Add("DrawE", new CheckBox("E Range"));
            Drawings.Add("DrawR", new CheckBox("R Range"));
            Drawings.Add("Draw_Disabled", new CheckBox("Disabled Drawings"));

            Drawing.OnDraw += Drawing_OnDraw;
            Game.OnUpdate  += Game_OnUpdate;
        }
コード例 #7
0
 protected override void LaneClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
     {
         Q.LaneClear(true, ClearMenu.Slider("LaneClear.Q"));
         W.LaneClear(true, ClearMenu.Slider("LaneClear.W"));
     }
     base.LaneClear();
 }
コード例 #8
0
 protected override void LaneClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
     {
         CastQ(Q.LaneClear(false, ClearMenu.Slider("LaneClear.Q")));
         CastW(W.LaneClear(false, ClearMenu.Slider("LaneClear.W")));
     }
     base.LaneClear();
 }
コード例 #9
0
 public static void Initialize()
 {
     ClearMenu = MainMenu.AddSubMenu("LaneTemizleme", "Clear");
     ClearMenu.AddGroupLabel("LaneTemizleme Ayarları");
     _q     = ClearMenu.Add("Clear.Q", new CheckBox("Kullan Q"));
     _w     = ClearMenu.Add("Clear.W", new CheckBox("Kullan W"));
     _e     = ClearMenu.Add("Clear.E", new CheckBox("Kullan E"));
     _hydra = ClearMenu.Add("Clear.Hydra", new CheckBox("Kullan Tiamat/Hydra"));
 }
コード例 #10
0
 protected override void LaneClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
     {
         var minion = W.LaneClear(false, ClearMenu.Slider("LaneClear.W"));
         CastW(minion);
         CastQ(Q.LaneClear(false, ClearMenu.Slider("LaneClear.Q")));
         CastE(E.LaneClear(false, ClearMenu.Slider("LaneClear.E")) ?? minion);
     }
     base.LaneClear();
 }
コード例 #11
0
 protected override void LastHit()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LastHit.ManaPercent"))
     {
         var tuples = Q.LastHit((LastHitType)ClearMenu.Slider("LastHit.Q"), false);
         var minion = tuples.FirstOrDefault();
         if (minion != null)
         {
             CastQ(minion);
         }
     }
     base.LastHit();
 }
コード例 #12
0
ファイル: Jhin.cs プロジェクト: loki892015/EloBuddy-1
 protected override void LaneClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
     {
         Q.Type = SpellType.Circular;
         var minion = Q.LaneClear(false, ClearMenu.Slider("LaneClear.Q"));
         Q.Type = SpellType.Targeted;
         CastQ(minion);
         W.LaneClear(true, ClearMenu.Slider("LaneClear.W"));
         E.LaneClear(true, ClearMenu.Slider("LaneClear.E"));
     }
     base.LaneClear();
 }
コード例 #13
0
ファイル: Menu.cs プロジェクト: Pokerkoffer/EloBuddy-2
 public static void Initialize()
 {
     ClearMenu.AddGroupLabel("Smite Mobs");
     _enable = ClearMenu.Add("Smite.Enable", new CheckBox("Use Smite"));
     ClearMenu.AddSeparator();
     _baron  = ClearMenu.Add("Smite.Baron", new CheckBox("Baron Nashor"));
     _dragon = ClearMenu.Add("Smite.Dragon", new CheckBox("Dragon"));
     _red    = ClearMenu.Add("Smite.Red", new CheckBox("Red Brambleback"));
     _blue   = ClearMenu.Add("Smite.Blue", new CheckBox("Blue Sentinel"));
     _krug   = ClearMenu.Add("Smite.Krug", new CheckBox("Ancient Krug"));
     _gromp  = ClearMenu.Add("Smite.Gromp", new CheckBox("Gromp"));
     _raptor = ClearMenu.Add("Smite.Raptor", new CheckBox("Crimson Raptor"));
     _wolf   = ClearMenu.Add("Smite.Wolf", new CheckBox("Greater Murk Wolf"));
 }
コード例 #14
0
 public static void Initialize()
 {
     ClearMenu.AddGroupLabel("Çarp Atılacak");
     _enable = ClearMenu.Add("Smite.Enable", new CheckBox("Kullan Çarp"));
     ClearMenu.AddSeparator();
     _baron  = ClearMenu.Add("Smite.Baron", new CheckBox("Baron Nashor"));
     _dragon = ClearMenu.Add("Smite.Dragon", new CheckBox("Ejder"));
     _red    = ClearMenu.Add("Smite.Red", new CheckBox("Red"));
     _blue   = ClearMenu.Add("Smite.Blue", new CheckBox("Blue"));
     _krug   = ClearMenu.Add("Smite.Krug", new CheckBox("Yampiri Yengeç"));
     _gromp  = ClearMenu.Add("Smite.Gromp", new CheckBox("Kurbağa"));
     _raptor = ClearMenu.Add("Smite.Raptor", new CheckBox("Sivri Gagalar"));
     _wolf   = ClearMenu.Add("Smite.Wolf", new CheckBox("AlacaKurtlar"));
 }
コード例 #15
0
ファイル: Jhin.cs プロジェクト: loki892015/EloBuddy-1
 protected override void JungleClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("JungleClear.ManaPercent"))
     {
         if (ClearMenu.CheckBox("JungleClear.Q"))
         {
             Q.JungleClear();
         }
         if (ClearMenu.CheckBox("JungleClear.W"))
         {
             W.JungleClear();
         }
         if (ClearMenu.CheckBox("JungleClear.E"))
         {
             E.JungleClear();
         }
     }
     base.JungleClear();
 }
コード例 #16
0
 protected override void JungleClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("JungleClear.ManaPercent"))
     {
         if (ClearMenu.CheckBox("JungleClear.Q"))
         {
             CastQ(Q.JungleClear(false));
         }
         if (ClearMenu.CheckBox("JungleClear.W"))
         {
             CastW(W.JungleClear(false));
         }
         if (ClearMenu.CheckBox("JungleClear.E"))
         {
             CastE(E.JungleClear(false));
         }
     }
     base.JungleClear();
 }
コード例 #17
0
 protected override void JungleClear(Menu menu)
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("JungleClear.ManaPercent"))
     {
         if (ClearMenu.CheckBox("JungleClear.Q"))
         {
             CastQ(Q.JungleClear(false));
         }
         if (ClearMenu.CheckBox("JungleClear.W"))
         {
             CastW(W.JungleClear(false));
         }
         if (ClearMenu.CheckBox("JungleClear.E"))
         {
             var minion = E.JungleClear(false);
             CastE(minion);
         }
     }
     base.JungleClear(menu);
 }
コード例 #18
0
        protected override void LastHit()
        {
            if (ClearMenu.Slider("LastHit.E") > 0)
            {
                var minion = E.LastHit(LastHitType.Always, false).FirstOrDefault();
                if (minion != null)
                {
                    switch (ClearMenu.Slider("LastHit.E"))
                    {
                    case 1:
                        CastE(minion);
                        break;

                    case 2:
                        E.Cast(minion);
                        break;
                    }
                }
            }
            base.LastHit();
        }
コード例 #19
0
 protected override void LaneClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
     {
         if (Q.IsReady && ClearMenu.Slider("LaneClear.Q") > 0)
         {
             var minions = Q.LaneClearMinions;
             if (minions.Count >= ClearMenu.Slider("LaneClear.Q"))
             {
                 var result = GetBestHitQ(minions);
                 if (result.Hits >= ClearMenu.Slider("LaneClear.Q"))
                 {
                     Q.Cast(result.Position);
                 }
             }
         }
         if (W.IsReady && ClearMenu.Slider("LaneClear.W") > 0)
         {
             var minions = W.LaneClearMinions;
             if (minions.Count() >= ClearMenu.Slider("LaneClear.W"))
             {
                 W.Cast();
             }
         }
         if (E.IsReady && ClearMenu.Slider("LaneClear.E") > 0)
         {
             var minions = E.LaneClearMinions;
             if (minions.Count >= ClearMenu.Slider("LaneClear.E"))
             {
                 var result = GetBestHitE(minions);
                 if (result.Hits >= ClearMenu.Slider("LaneClear.E"))
                 {
                     CastE(result.Target);
                 }
             }
         }
     }
     base.LaneClear();
 }
コード例 #20
0
        protected override void LaneClear()
        {
            if (MyHero.ManaPercent >= ClearMenu.Slider("LaneClear.ManaPercent"))
            {
                Q.LaneClear(true, ClearMenu.Slider("LaneClear.Q"));
                W.LaneClear(true, ClearMenu.Slider("LaneClear.W"));
                var minion = E.LaneClear(false);
                if (minion != null)
                {
                    switch (ClearMenu.Slider("LaneClear.E"))
                    {
                    case 1:
                        CastE(minion);
                        break;

                    case 2:
                        E.Cast(minion);
                        break;
                    }
                }
            }
            base.LaneClear();
        }
コード例 #21
0
 protected override void JungleClear()
 {
     if (MyHero.ManaPercent >= ClearMenu.Slider("JungleClear.ManaPercent"))
     {
         if (ClearMenu.CheckBox("JungleClear.Q"))
         {
             Q.JungleClear();
         }
         if (ClearMenu.CheckBox("JungleClear.W"))
         {
             W.JungleClear();
         }
         if (ClearMenu.CheckBox("JungleClear.R"))
         {
             var minion = R.JungleClear(false);
             if (minion != null)
             {
                 CastR(minion);
             }
         }
     }
     base.JungleClear();
 }
コード例 #22
0
        private static void Load(EventArgs args)
        {
            if (Player.ChampionName != "Ekko")
            {
                return;
            }
            Chat.Print("Ekko7 Loaded!", Color.Yellow);
            Chat.Print("Doctor7 Good Luck!", Color.GreenYellow);
            Q    = new Spell.Skillshot(SpellSlot.Q, 800, SkillShotType.Linear, (int).25, 1700, 60);
            Q2   = new Spell.Skillshot(SpellSlot.Q, 1050, SkillShotType.Linear, (int).5f, 1200, 120);
            W    = new Spell.Skillshot(SpellSlot.W, 1600, SkillShotType.Circular, (int).5f, int.MaxValue, 350);
            E    = new Spell.Skillshot(SpellSlot.E, 352, SkillShotType.Linear);
            R    = new Spell.Skillshot(SpellSlot.R, 375, SkillShotType.Circular, (int).1f, int.MaxValue, 375);
            R1   = new Spell.Active(SpellSlot.R);
            Menu = MainMenu.AddMenu("Ekko7", "ekko");
            Menu.AddGroupLabel("EKKO7");
            Menu.AddSeparator();
            Menu.AddLabel("FEATURES ADDON");
            Menu.AddSeparator();
            Menu.AddLabel("Combo Settings");
            Menu.AddLabel("Harass Settings");
            Menu.AddLabel("LaneClear Settings");
            Menu.AddLabel("JungleClear Settings");
            Menu.AddLabel("Flee Settings");
            Menu.AddLabel("Ultimate Settings");
            Menu.AddLabel("Drawings Settings");
            Menu.AddLabel("KillSteal Settings");

            ComboMenu = Menu.AddSubMenu("Combo Settings", "combo");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.Add("UseQCombo", new CheckBox("Spell [Q]"));
            ComboMenu.Add("UseECombo", new CheckBox("Spell [E]"));
            ComboMenu.Add("UseWCombo", new CheckBox("Spell [W]"));
            ComboMenu.Add("Whit", new Slider("Min W Enemies", 1, 1, 5));

            HarassMenu = Menu.AddSubMenu("Harass Settings", "harass");
            HarassMenu.AddGroupLabel("Harass Settings");
            HarassMenu.Add("QHarass", new CheckBox("Spell [Q]"));
            HarassMenu.Add("WHarass", new CheckBox("Spell [W]", false));
            HarassMenu.Add("EHarass", new CheckBox("Spell [E]", false));
            HarassMenu.Add("HarassMana", new Slider("Min Mana For Harass", 50));
            HarassMenu.AddSeparator(18);
            HarassMenu.AddLabel("E Harass Settings");
            HarassMenu.Add("DontE", new Slider("Don't Use E >= Enemies", 3, 1, 5));
            HarassMenu.Add("EHP", new Slider("Dont Use E HP <= %", 20));

            ClearMenu = Menu.AddSubMenu("LaneClear Settings", "Clear Settings");
            ClearMenu.AddLabel("Lane Clear");
            ClearMenu.Add("QClear", new CheckBox("Spell [Q]"));
            ClearMenu.Add("ClearMana", new Slider("Min Mana For LaneClear", 60, 0, 100));

            JungleMenu = Menu.AddSubMenu("JungleClear Settings", "Jungle Settings");
            JungleMenu.AddLabel("Jungle Clear");
            JungleMenu.Add("QJungleClear", new CheckBox("Spell [Q]"));
            JungleMenu.Add("EJungleClear", new CheckBox("Spell [E]"));
            JungleMenu.Add("JungleMana", new Slider("Min Mana For JungleClear", 30, 0, 100));

            Misc = Menu.AddSubMenu("Ultimate Settings", "Misc");
            Misc.AddGroupLabel("Ultimate Settings");
            Misc.AddSeparator(18);
            Misc.AddLabel("Ultimate Settings");
            Misc.Add("UseRHit", new CheckBox("Use R Count", false));
            Misc.Add("RHit", new Slider("R Count Enemies >= {0}", 3, 2, 5));
            Misc.Add("R_Safe_Net2", new Slider("R If HP <= %", 25, 0, 100));
            Misc.Add("RKill", new CheckBox("R Killable", false));

            Skin = Menu.AddSubMenu("Skin Changer", "SkinChanger");
            Skin.Add("checkSkin", new CheckBox("Use Skin Changer"));
            Skin.Add("skin.Id", new ComboBox("Skin Mode", 0, "Classic", "1", "2"));

            Drawings = Menu.AddSubMenu("Draw Settings", "Draw");
            Drawings.AddGroupLabel("Drawing Settings");
            Drawings.Add("DrawQ", new CheckBox("Q Range"));
            Drawings.Add("DrawW", new CheckBox("W Range", false));
            Drawings.Add("DrawE", new CheckBox("E Range", false));
            Drawings.Add("DrawR", new CheckBox("R Range"));

            AttackableUnit.OnDamage += AIHeroClient_OnDamage;
            Drawing.OnDraw          += Drawing_OnDraw;
            Game.OnUpdate           += Game_OnUpdate;
        }
コード例 #23
0
ファイル: Jhin.cs プロジェクト: loki892015/EloBuddy-1
        public Jhin()
        {
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " is R killable", new Font("Arial", 30F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                TextsInHeroPosition.Add(enemy.NetworkId, new Text("R killable", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " last predicted position", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
            }
            Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600)
            {
                Width     = 450,
                Speed     = 1800,
                CastDelay = 250,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500)
            {
                Width                 = 40,
                CastDelay             = 750,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Circular, 750)
            {
                Width     = 135,
                CastDelay = 250,
                Speed     = 1600,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500)
            {
                Width                 = 65,
                CastDelay             = 250,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            Evader.OnEvader += delegate
            {
                if (EvaderMenu.CheckBox("BlockW"))
                {
                    LastBlockTick = Core.GameTickCount;
                }
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    if (args.Slot == SpellSlot.W)
                    {
                        args.Process = Core.GameTickCount - LastBlockTick > 750;
                    }
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "JhinR")
                        {
                            IsCastingR = true;
                            LastRCone  = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(45 * 2f * Math.PI / 175f), R.Range);
                            Stacks     = 4;
                        }
                        else if (args.SData.Name == "JhinRShot")
                        {
                            R.LastCastTime = Core.GameTickCount;
                            TapKeyPressed  = false;
                            Stacks--;
                        }
                        break;
                    }
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsValidTarget(E.Range) && sender.IsEnemy)
                {
                    if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End))
                    {
                        if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range) && E.IsReady)
                        {
                            E.Cast(args.End);
                        }
                        if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow())
                        {
                            WShouldWaitTick = Core.GameTickCount;
                        }
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey", new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR) && R.EnemyHeroes.Count > 0)
                    {
                        TapKeyPressed = true;
                    }
                };
                KeysMenu.AddValue("UltKey", new KeyBind("R Key in game", false, KeyBind.BindTypes.HoldActive, 'R')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR))
                    {
                        Player.IssueOrder(GameObjectOrder.Stop, Player.Instance.ServerPosition);
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("AutoW",
                                      new KeyBind("AutoW Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff))
                    {
                        if (MiscMenu.CheckBox("AutoW." + enemy.ChampionName))
                        {
                            CastW(enemy);
                        }
                    }
                });
            }

            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W", false));
                ComboMenu.AddValue("E", new CheckBox("Use E", false));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
            }
            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 3);
                UltimateMenu.AddValue("OnlyKillable", new CheckBox("Only attack if it's killable", false));
                UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius"));
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 6, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W", false));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E", false));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("Qmin", new CheckBox("Use Q On Minions"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E", false));
                KillStealMenu.AddValue("R", new CheckBox("Use R"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                AutomaticMenu.AddValue("Immobile", new CheckBox("Use E on hero immobile"));
                AutomaticMenu.AddValue("Buffed", new CheckBox("Use W on hero with buff"));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("BlockW", new CheckBox("Block W to Evade"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddSubMenu("Misc");
            {
                MiscMenu.AddValue("Champions", new GroupLabel("Allowed champions to use Auto W"));
                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MiscMenu.AddValue("AutoW." + enemy.ChampionName, new CheckBox(enemy.ChampionName));
                }
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings(false);
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
                DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable"));
                DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("Draw last predicted position"));
            }
        }
コード例 #24
0
        public Xerath()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Linear, 1500)
            {
                CastDelay = 500,
                Width     = 100,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 1000)
            {
                CastDelay = 750,
                Width     = 100,//Width = 250,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Linear, 1125)
            {
                CastDelay             = 250,
                Speed                 = 1400,
                Width                 = 60,
                CollidesWithYasuoWall = true,
                AllowedCollisionCount = 0,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Circular, 5600)
            {
                Width     = 190,
                CastDelay = 600,
            };
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                IsKillableOnEnemyPosition.Add(enemy.NetworkId, new Text("R KILLABLE", new Font("Arial", TextEnemyPositionSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
                IsKillableOnScreen.Add(enemy.NetworkId, new Text(enemy.BaseSkinName + " is killable", new Font("Arial", TextScreenSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
            }
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime = Core.GameTickCount;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.E:
                        E.LastCastTime    = Core.GameTickCount;
                        E.LastEndPosition = sender.Position + (args.End - sender.Position).Normalized() * E.Range;
                        break;

                    case SpellSlot.R:
                        R.LastCastTime = Core.GameTickCount;
                        TapKeyPressed  = false;
                        break;
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName)
                {
                    Spells.E.Missile = missile;
                }
            };
            GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName)
                {
                    Spells.E.Missile = null;
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.End.Distance(MyHero, true) <= sender.Distance(MyHero, true))
                {
                    CastE(sender);
                }
            };
            Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.EndPos.Distance(MyHero, true) <= sender.Distance(MyHero, true))
                {
                    CastE(sender);
                }
            };
            Interrupter.OnInterruptableSpell +=
                delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Interrupter"))
                {
                    CastE(sender);
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey",
                                  new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned)
                    {
                        TapKeyPressed = true;
                        if (!IsCastingR)
                        {
                            R.Cast();
                        }
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("StartWithCC",
                                      new KeyBind("Start with CC", false, KeyBind.BindTypes.PressToggle, 'L')),
                    delegate
                {
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            E.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
            }

            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 2);
                UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius"));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q", false));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 0, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells"));
                AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable"));
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
コード例 #25
0
        public Zed()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Linear, 925)
            {
                CastDelay = 250,
                Speed     = 1700,
                Width     = 50
            };
            Q.SetSourceFunction(() => MyHero);
            Q.SetRangeCheckSourceFunction(() => MyHero);
            W = new SpellBase(SpellSlot.W, SpellType.Linear, WRange)
            {
                Speed = 1750,
                Width = 60
            };
            E = new SpellBase(SpellSlot.E, SpellType.Self, 280);
            E.SetSourceFunction(() => MyHero);
            E.SetRangeCheckSourceFunction(() => MyHero);
            R          = new SpellBase(SpellSlot.R, SpellType.Targeted, 625);
            IsDeadText = new Text("", new Font("Arial", 30F, FontStyle.Bold))
            {
                Color    = Color.Red,
                Position = new Vector2(100, 50)
            };
            Obj_AI_Base.OnBuffGain += delegate(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName && args.Buff.Caster.IsMe)
                {
                    switch (args.Buff.Name)
                    {
                    case "zedwshadowbuff":
                        WShadow = minion;
                        break;

                    case "zedrshadowbuff":
                        RShadow = minion;
                        break;
                    }
                }
            };
            Obj_AI_Base.OnPlayAnimation += delegate(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName)
                {
                    if (args.Animation == "Death")
                    {
                        if (WShadow.IdEquals(minion))
                        {
                            WShadow = null;
                        }
                        else if (RShadow.IdEquals(minion))
                        {
                            RShadow = null;
                        }
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                if (sender.Name == IsDeadName && RTarget != null && RTarget.IsInRange(sender, 200))
                {
                    IsDeadObject = sender;
                }
            };
            GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName)
                {
                    if (WShadow.IdEquals(minion))
                    {
                        WShadow = null;
                    }
                    else if (RShadow.IdEquals(minion))
                    {
                        RShadow = null;
                    }
                }
                else if (sender.IdEquals(IsDeadObject))
                {
                    IsDeadObject = null;
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        if (args.SData.Name == "ZedW")
                        {
                            W.LastCastTime    = Core.GameTickCount;
                            W.LastEndPosition = args.End;
                        }
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "ZedR")
                        {
                            MarkedDamageReceived = 0;
                            EnemyWillDie         = false;
                        }
                        break;
                    }
                }
            };
            Evader.OnEvader += delegate(EvaderArgs args)
            {
                var w1Distance = W.IsReady && IsW1 && EvaderMenu.CheckBox("Evader.W1")
                    ? MyHero.GetDistanceSqr(args.Sender)
                    : 16000000;
                var w2Distance = W.IsReady && WShadowIsValid && EvaderMenu.CheckBox("Evader.W2") &&
                                 !args.WillHitMyHero(WShadow.Position)
                    ? WShadow.GetDistanceSqr(args.Sender)
                    : 16000000;
                var rTarget    = TargetSelector.GetTarget(R.Range, DamageType.Physical) ?? args.Sender;
                var r1Distance = R.IsReady && IsR1 && rTarget != null && R.InRange(rTarget) &&
                                 EvaderMenu.CheckBox("Evader.R1")
                    ? MyHero.GetDistanceSqr(args.Sender)
                    : 16000000;
                var r2Distance = R.IsReady && RShadowIsValid && EvaderMenu.CheckBox("Evader.R2") &&
                                 !args.WillHitMyHero(RShadow.Position)
                    ? RShadow.GetDistanceSqr(args.Sender)
                    : 16000000;
                var min = Math.Min(w1Distance, Math.Min(w2Distance, Math.Min(r1Distance, r2Distance)));
                if (min < 16000000)
                {
                    if (Math.Abs(min - r2Distance) < float.Epsilon)
                    {
                        R.Cast();
                    }
                    else if (Math.Abs(min - r1Distance) < float.Epsilon)
                    {
                        R.Cast(rTarget);
                    }
                    else if (Math.Abs(min - w2Distance) < float.Epsilon)
                    {
                        W.Cast();
                    }
                    else if (Math.Abs(min - w1Distance) < float.Epsilon)
                    {
                        var wPos = MyHero.ServerPosition +
                                   ((args.Sender.ServerPosition - MyHero.ServerPosition).Normalized() * WRange)
                                   .To2D()
                                   .Perpendicular()
                                   .To3DWorld();
                        W.Cast(wPos);
                    }
                }
            };

            AttackableUnit.OnDamage += delegate(AttackableUnit sender, AttackableUnitDamageEventArgs args)
            {
                if (args.Source.IsMe)
                {
                    var hero = args.Target as AIHeroClient;
                    if (hero != null && TargetHaveR(hero))
                    {
                        MarkedDamageReceived += args.Damage;
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                Orbwalker.RegisterKeyBind(
                    KeysMenu.AddValue("Combo2", new KeyBind("Combo without R", false, KeyBind.BindTypes.HoldActive, 'A')),
                    Orbwalker.ActiveModes.Combo);
                Orbwalker.RegisterKeyBind(
                    KeysMenu.AddValue("Harass2", new KeyBind("Harass WEQ", false, KeyBind.BindTypes.HoldActive, 'S')),
                    Orbwalker.ActiveModes.Harass);
            }

            Q.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddStringList("Mode", "R Combo Mode", new[] { "Line", "Triangle", "MousePos" });
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
                ComboMenu.AddValue("R", new CheckBox("Use R"));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
                ComboMenu.AddValue("SwapDead", new CheckBox("Use W2/R2 if target will die"));
                ComboMenu.AddValue("SwapGapclose", new CheckBox("Use W2/R2 to get close to target"));
                ComboMenu.AddValue("SwapHP", new Slider("Use W2/R2 if my % of health is less than {0}", 15));
                ComboMenu.AddValue("Prevent", new CheckBox("Don't use spells before R"));
                if (EntityManager.Heroes.Enemies.Count > 0)
                {
                    ComboMenu.AddValue("BlackList.R", new GroupLabel("Don't use R on:"));
                    var enemiesAdded = new HashSet <string>();
                    foreach (var enemy in EntityManager.Heroes.Enemies)
                    {
                        if (!enemiesAdded.Contains(enemy.ChampionName))
                        {
                            ComboMenu.AddValue("BlackList." + enemy.ChampionName,
                                               new CheckBox(enemy.ChampionName, false));
                            enemiesAdded.Add(enemy.ChampionName);
                        }
                    }
                }
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Collision", new CheckBox("Check collision when casting Q (more damage)", false));
                HarassMenu.AddValue("WE", new CheckBox("Only harass when combo WE will hit", false));
                HarassMenu.AddValue("SwapGapclose", new CheckBox("Use W2 if target is killable"));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 4, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E", new CheckBox("Use E", false));
                AutomaticMenu.AddValue("SwapDead", new CheckBox("Use W2/R2 if target will die", false));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("Evader.W1", new CheckBox("Use W1", false));
                EvaderMenu.AddValue("Evader.W2", new CheckBox("Use W2"));
                EvaderMenu.AddValue("Evader.R1", new CheckBox("Use R1"));
                EvaderMenu.AddValue("Evader.R2", new CheckBox("Use R2"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                CircleManager.Circles.Add(new Circle(
                                              DrawingsMenu.AddValue("W.Shadow", new CheckBox("Draw W shadow circle")), SharpDX.Color.Blue,
                                              () => 100, () => WShadowIsValid,
                                              () => WShadow)
                {
                    Width = 1
                });

                CircleManager.Circles.Add(new Circle(
                                              DrawingsMenu.AddValue("R.Shadow", new CheckBox("Draw R shadow circle")), SharpDX.Color.Orange,
                                              () => 100, () => RShadowIsValid,
                                              () => RShadow)
                {
                    Width = 1
                });
                DrawingsMenu.AddValue("IsDead", new CheckBox("Draw text if target will die"));
                DrawingsMenu.AddValue("Passive", new CheckBox("Draw text when passive is available"));
            }
        }
コード例 #26
0
ファイル: Program.cs プロジェクト: NeTeLead/olaf
        public static void Loading_OnLoadingComplete(EventArgs args)
        {
            if (!_Player.ChampionName.Contains("Ryze"))
            {
                return;
            }
            Chat.Print("Ryze7 Loaded!", Color.Orange);
            Bootstrap.Init(null);
            Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Linear, 250, 1500, 50);
            Q.AllowedCollisionCount = 0;
            W         = new Spell.Targeted(SpellSlot.W, 600);
            E         = new Spell.Targeted(SpellSlot.E, 600);
            R         = new Spell.Active(SpellSlot.R);
            Ignite    = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerdot"), 600);
            Seraph    = new Item(3040);
            Tahoma16B = new Font(Drawing.Direct3DDevice, new FontDescription {
                FaceName = "Tahoma", Height = 15, Weight = FontWeight.Bold, OutputPrecision = FontPrecision.Default, Quality = FontQuality.ClearType
            });
            menu      = MainMenu.AddMenu("Ryze7", "Ryze");
            ComboMenu = menu.AddSubMenu("Combo Settings", "Combo");
            ComboMenu.Add("ComboQ", new CheckBox("Spell [Q]"));
            ComboMenu.Add("ComboW", new CheckBox("Spell [W]"));
            ComboMenu.Add("ComboE", new CheckBox("Spell [E]"));
            ComboMenu.Add("ComboR", new CheckBox("Spell [R]"));
            ComboMenu.Add("Human", new Slider("Humanizer Delay", 1, 0, 1000));

            HarassMenu = menu.AddSubMenu("Harass Settings", "Harass");
            HarassMenu.Add("HQ", new CheckBox("Spell [Q]"));
            HarassMenu.Add("HW", new CheckBox("Spell [W]"));
            HarassMenu.Add("HE", new CheckBox("Spell [E]"));
            HarassMenu.Add("HarassMana", new Slider("Min Mana For Harass", 50, 0, 100));

            LastHitMenu = menu.AddSubMenu("LastHit Settings", "LastHit");
            LastHitMenu.Add("LHQ", new CheckBox("Spell [Q]"));
            LastHitMenu.Add("LHW", new CheckBox("Spell [W]", false));
            LastHitMenu.Add("LHE", new CheckBox("Spell [E]", false));
            LastHitMenu.Add("LastHitMana", new Slider("Min Mana For LastHit", 50, 0, 100));

            ClearMenu = menu.AddSubMenu("LaneClear Settings", "LaneClear");
            ClearMenu.Add("LCQ", new CheckBox("Spell [Q]"));
            ClearMenu.Add("LCW", new CheckBox("Spell [W]"));
            ClearMenu.Add("LCE", new CheckBox("Spell [E]"));
            ClearMenu.Add("LCR", new CheckBox("Spell [R]", false));
            ClearMenu.Add("LaneClearMana", new Slider("Min Mana For LaneClear", 50, 0, 100));

            JungleMenu = menu.AddSubMenu("JungleClear Settings", "JungleClear");
            JungleMenu.Add("JQ", new CheckBox("Spell [Q]"));
            JungleMenu.Add("JW", new CheckBox("Spell [W]"));
            JungleMenu.Add("JE", new CheckBox("Spell [E]"));
            JungleMenu.Add("JR", new CheckBox("Spell [R]", false));
            JungleMenu.Add("JungleClearMana", new Slider("Min Mana For JungleClear", 30, 0, 100));

            KsMenu = menu.AddSubMenu("KillSteal Settings", "KillSteal");
            KsMenu.AddGroupLabel("KillSteal Setting");
            KsMenu.Add("KsQ", new CheckBox("Spell [Q]"));
            KsMenu.Add("KsW", new CheckBox("Spell [W]"));
            KsMenu.Add("KsE", new CheckBox("Spell [E]"));
            KsMenu.Add("KsIgnite", new CheckBox("Use [Ignite] KillSteal"));

            Misc = menu.AddSubMenu("Misc Settings", "Misc");
            Misc.AddGroupLabel("AntiGap Setting");
            Misc.Add("gapw", new CheckBox("AntiGap [W]"));
            Misc.AddGroupLabel("Seraph Settings");
            Misc.Add("dts", new CheckBox("Use Seraph"));
            Misc.Add("Hp", new Slider("HP For Seraph", 30, 0, 100));
            Misc.AddGroupLabel("Skin Changer");
            Misc.Add("checkSkin", new CheckBox("Use Skin Changer"));
            Misc.Add("skin.Id", new ComboBox("Skin Mode", 3, "Default", "1", "2", "3", "4", "5", "6", "7", "8"));

            Autos = menu.AddSubMenu("Stacks Settings", "Stacks");
            Autos.Add("AutoStack", new KeyBind("Auto Stack", false, KeyBind.BindTypes.PressToggle, 'T'));
            Autos.Add("MaxStack", new Slider("Keep Max Stacks", 2, 1, 5));
            Autos.Add("StackMana", new Slider("Min Mana AutoStack", 70, 0, 100));
            Autos.Add("DrawSt", new CheckBox("Draw Stacks"));

            Draws = menu.AddSubMenu("Drawings Settings", "Draw");
            Draws.AddSeparator(10);
            Draws.AddGroupLabel("Drawings Setting");
            Draws.Add("DrawQ", new CheckBox("Q Range"));
            Draws.Add("DrawW", new CheckBox("W / E Range"));

            Drawing.OnDraw        += Drawing_OnDraw;
            Game.OnTick           += Game_OnTick;
            Gapcloser.OnGapcloser += AntiGapCloser;
        }
コード例 #27
0
        public Cassiopeia()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 750)
            {
                Width     = 130,
                CastDelay = 400
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 800)
            {
                Width     = 180,
                CastDelay = 250,
                Speed     = 3000
            };
            E = new SpellBase(SpellSlot.E, SpellType.Targeted, 700)
            {
                Speed     = 1900,
                CastDelay = 125
            };
            R = new SpellBase(SpellSlot.R, SpellType.Cone, 825)
            {
                Width     = 80,
                CastDelay = 500
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastSentTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.EndPosition;
                        break;

                    case SpellSlot.W:
                        W.LastSentTime    = Core.GameTickCount;
                        W.LastEndPosition = args.EndPosition;
                        break;
                    }
                }
            };

            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.End;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("AssistedUltimate",
                                  new KeyBind("Assisted Ultimate", false, KeyBind.BindTypes.HoldActive, 'T'));
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("HarassToggle",
                                      new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                        Harass(HarassMenu);
                    }
                });
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("LastHitToggle",
                                      new KeyBind("LastHit Toggle", false, KeyBind.BindTypes.PressToggle, 'L')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                        LastHit(ClearMenu);
                    }
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                ComboMenu.AddValue("R", new Slider("Use R if hit >= {0}", 3, 0, 5));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W"));
                HarassMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 2, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddStringList("LaneClear.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("R", new CheckBox("Use R on channeling spells"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings(false);
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
コード例 #28
0
        private static void OnLoadingComplete(EventArgs args)
        {
            if (!_Player.ChampionName.Contains("Corki"))
            {
                return;
            }
            Chat.Print("Borki Loaded!", Color.GreenYellow);
            Chat.Print("Good Luck!", Color.GreenYellow);
            Bootstrap.Init(null);
            Q      = new Spell.Skillshot(SpellSlot.Q, 825, SkillShotType.Circular, 300, 1000, 250);
            W      = new Spell.Skillshot(SpellSlot.W, 800, SkillShotType.Linear);
            E      = new Spell.Active(SpellSlot.E, 600);
            R      = new Spell.Skillshot(SpellSlot.R, 1200, SkillShotType.Linear, 200, 1950, 40);
            Botrk  = new Item(ItemId.Blade_of_the_Ruined_King);
            Ignite = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerdot"), 600);

            Menu = MainMenu.AddMenu("Borki", "Borki");
            Menu.AddGroupLabel("BORKI");
            Menu.AddSeparator();
            Menu.AddLabel("Good Luck!");

            SpellMenu = Menu.AddSubMenu("Spells Settings", "Combo");
            SpellMenu.AddGroupLabel("Combo Settings");
            SpellMenu.Add("ComboQ", new CheckBox("Spell [Q]"));
            SpellMenu.Add("ComboE", new CheckBox("Spell [E]"));
            SpellMenu.Add("ComboR", new CheckBox("Spell [R]"));
            SpellMenu.Add("item", new CheckBox("Use [BOTRK]"));

            HarassMenu = Menu.AddSubMenu("Harass Settings", "Harass");
            HarassMenu.AddGroupLabel("Harass Settings");
            HarassMenu.Add("HarassQ", new CheckBox("Spell [Q]", false));
            HarassMenu.Add("HarassR", new CheckBox("Spell [R]"));
            HarassMenu.Add("HarassE", new CheckBox("Spell [E]"));
            HarassMenu.Add("manaHarass", new Slider("Min Mana For Harass", 50, 0, 100));
            HarassMenu.Add("RocketHarass", new Slider("Save Rockets [R]", 3, 0, 6));

            ClearMenu = Menu.AddSubMenu("LaneClear Settings", "LaneClear");
            ClearMenu.AddGroupLabel("Laneclear Settings");
            ClearMenu.Add("ClearQ", new CheckBox("Spell [Q]", false));
            ClearMenu.Add("ClearR", new CheckBox("Spell [R]", false));
            ClearMenu.Add("ClearE", new CheckBox("Spell [E]", false));
            ClearMenu.Add("manaClear", new Slider("Min Mana For LaneClear", 65, 0, 100));
            ClearMenu.Add("RocketClear", new Slider("Save Rockets [R]", 3, 0, 6));

            JungleMenu = Menu.AddSubMenu("JungleClear Settings", "JungleClear");
            JungleMenu.AddGroupLabel("JungleClear Settings");
            JungleMenu.Add("JungleQ", new CheckBox("Spell [Q]"));
            JungleMenu.Add("JungleR", new CheckBox("Spell [R]"));
            JungleMenu.Add("JungleE", new CheckBox("Spell [E]"));
            JungleMenu.Add("manaJung", new Slider("Min Mana For JungleClear", 30, 0, 100));
            JungleMenu.Add("RocketJung", new Slider("Save Rockets [R]", 3, 0, 6));

            KillstealMenu = Menu.AddSubMenu("KillSteal Settings", "KS");
            KillstealMenu.AddGroupLabel("KillSteal Settings");
            KillstealMenu.Add("RKs", new CheckBox("Spell [R]"));
            KillstealMenu.Add("QKs", new CheckBox("Spell [Q]"));
            KillstealMenu.Add("ign", new CheckBox("Use [Ignite] KillSteal"));

            Misc = Menu.AddSubMenu("Misc Settings", "Misc");
            Misc.AddGroupLabel("Misc Settings");
            Misc.Add("AntiGap", new CheckBox("Use [W] AntiGapcloser"));
            Misc.AddSeparator();
            Misc.Add("drawQ", new CheckBox("Range [Q]"));
            Misc.Add("drawW", new CheckBox("Range [W]", false));
            Misc.Add("drawE", new CheckBox("Range [E]"));
            Misc.Add("drawR", new CheckBox("Range [R]"));

            Skin = Menu.AddSubMenu("Skin Changer", "SkinChanger");
            Skin.Add("checkSkin", new CheckBox("Use Skin Changer"));
            Skin.Add("skin.Id", new ComboBox("Skin Mode", 0, "Default", "1", "2", "3", "4", "5", "6", "7"));


            Game.OnTick           += Game_OnTick;
            Gapcloser.OnGapcloser += Gapcloser_OnGapcloser;
            Drawing.OnDraw        += Drawing_OnDraw;
        }
コード例 #29
0
        public Cassiopeia()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 850)
            {
                Width     = 130,
                CastDelay = 400
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 900)
            {
                Width     = 180,
                CastDelay = 250,
                Speed     = 3000
            };
            E = new SpellBase(SpellSlot.E, SpellType.Targeted, 730)
            {
                Speed     = 1900,
                CastDelay = 125
            };
            R = new SpellBase(SpellSlot.R, SpellType.Cone, 825)
            {
                Width     = 80,
                CastDelay = 500
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastSentTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.EndPosition;
                        break;

                    case SpellSlot.W:
                        W.LastSentTime    = Core.GameTickCount;
                        W.LastEndPosition = args.EndPosition;
                        break;
                    }
                }
            };

            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if ((ModeManager.LastHit || ModeManager.Harass) && sender.IsEnemy && args.End.Distance(MyHero, true) <= 700 && args.End.Distance(MyHero, true) > 500)
                {
                    CastW(sender);
                }

                else if (sender.IsEnemy && (ModeManager.Harass || ModeManager.Flee) && args.End.Distance(MyHero, true) <= 900 && args.End.Distance(MyHero, true) > 500)
                {
                    foreach (
                        var ally in
                        EntityManager.Heroes.Allies.Where(ally => sender.IsFacing(ally)))
                    {
//
                        {
                            CastW(sender);
                        }
                    }
                }
            };

            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.End;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;
                    }
                }
            };

            Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (ModeManager.Harass && sender.IsValidTarget(800) && Q.IsReady && KeysMenu.KeyBind("HarassToggle") && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient)
                {
                    Q.Cast(sender.ServerPosition + 20);
                }
            };


            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("AssistedUltimate",
                                  new KeyBind("Assisted Ultimate", false, KeyBind.BindTypes.HoldActive, 'T'));
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("HarassToggle",
                                      new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                    }
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();


            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                ComboMenu.AddValue("R", new Slider("Use R if hit >= {0}", 3, 0, 5));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W"));
                HarassMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 2, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddStringList("LaneClear.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("R", new CheckBox("Use R on channeling spells"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings(false);
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
コード例 #30
0
ファイル: Jhin.cs プロジェクト: chienhao10/CHOP
        public Jhin()
        {
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 可击杀", new Font("Arial", 30F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                TextsInHeroPosition.Add(enemy.NetworkId, new Text("R 可击杀", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 最后预知位置", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
            }
            Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600)
            {
                Width     = 450,
                Speed     = 1800,
                CastDelay = 250,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500)
            {
                Width                 = 40,
                CastDelay             = 750,
                AllowedCollisionCount = -1,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Circular, 750)
            {
                Width     = 135,
                CastDelay = 250,
                Speed     = 1600,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500)
            {
                Width                 = 80,
                CastDelay             = 200,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            Evader.OnEvader += delegate
            {
                if (EvaderMenu.CheckBox("BlockW"))
                {
                    LastBlockTick = Core.GameTickCount;
                }
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    if (args.Slot == SpellSlot.W)
                    {
                        args.Process = Core.GameTickCount - LastBlockTick > 750;
                    }
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "JhinR")
                        {
                            IsCastingR = true;
                            LastRCone  = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(60f * Math.PI / 180f), R.Range);
                            Stacks     = 4;
                        }
                        else if (args.SData.Name == "JhinRShot")
                        {
                            R.LastCastTime = Core.GameTickCount;
                            TapKeyPressed  = false;
                            Stacks--;
                        }
                        break;
                    }
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsValidTarget() && sender.IsEnemy)
                {
                    if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End))
                    {
                        if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range))
                        {
                            E.Cast(args.End);
                        }
                        if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow())
                        {
                            WShouldWaitTick = Core.GameTickCount;
                        }
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey", new KeyBind("R 半自动发射", false, KeyBind.BindTypes.HoldActive, 32)).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && IsCastingR)
                    {
                        TapKeyPressed = true;
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("AutoW",
                                      new KeyBind("自动W开关", true, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff))
                    {
                        if (MyHero.ManaPercent >= MiscMenu.Slider("W.ManaPercent"))
                        {
                            if (MiscMenu.CheckBox("自动W." + enemy.ChampionName))
                            {
                                CastW(enemy);
                            }
                        }
                    }
                });
            }

            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
                ComboMenu.AddStringList("W", "Use W", new[] { "Never", "Only buffed enemies", "Always" }, 2);
            }
            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R 瞄准模式", new[] { "不使用", "使用扳机键", "自动" }, 2);
                UltimateMenu.AddValue("OnlyKillable", new CheckBox("只攻击可击杀目标"));
                UltimateMenu.AddValue("Delay", new Slider("R之间的延迟(毫秒)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("鼠标附近设置"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("只选择鼠标附近目标", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("靠近鼠标半径", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("显示鼠标半径"));
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 4, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                AutomaticMenu.AddValue("Immobile", new CheckBox("对无法移动目标使用E"));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("BlockW", new CheckBox("保留W进行躲避"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddSubMenu("Misc");
            {
                MiscMenu.AddValue("W.ManaPercent", new Slider("最低蓝量百分比使用自动W", 10));
                MiscMenu.AddValue("Champions", new GroupLabel("自动使用W英雄"));
                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MiscMenu.AddValue("自动W." + enemy.ChampionName, new CheckBox(enemy.ChampionName));
                }
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings(false);
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
                DrawingsMenu.AddValue("R.Killable", new CheckBox("显示可被R击杀的目标"));
                DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("显示预判敌人最后出现位置"));
            }
        }