Exemplo n.º 1
0
        private static void BuyItems()
        {
            if (Player.InFountain() && Player.Gold > 325 && !BoughtItems[0])
            {
                //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(1001)).Send();
                Player.BuyItem(ItemId.Boots_of_Speed);
                BoughtItems[0] = true;
            }

            if (Player.InShop() && Player.Gold > 475 && BoughtItems[0] && !BoughtItems[1])
            {
                //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3117)).Send();
                Player.BuyItem(ItemId.Boots_of_Mobility);
                BoughtItems[1] = true;
            }

            if (Player.InShop() && Player.Gold > 475 && BoughtItems[1] && !BoughtItems[2])
            {
                //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3270)).Send();
                Player.BuyItem(ItemId.Boots_of_Mobility_Enchantment_Homeguard);
                BoughtItems[2] = true;
            }

            if (Player.InShop() && Player.Gold > 950 && BoughtItems[2] && !BoughtItems[3])
            {
                //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3086)).Send();
                Player.BuyItem(ItemId.Aether_Wisp);
                BoughtItems[3] = true;
            }

            if (Player.InShop() && Player.Gold > 1100 && BoughtItems[3])
            {
                Player.BuyItem(ItemId.Zeal);
            }
        }
Exemplo n.º 2
0
 public static void buyNext()
 {
     if (!finished)
     {
         return;
     }
     if (!gotStartingItems && player.Level < 4)
     {
         //Console.WriteLine("buye starting!");
         foreach (var item in curBuild.startingItems)
         {
             player.BuyItem(item);
         }
         gotStartingItems = true;
     }
     else
     {
         willGoOverItem = false;
         var best = getBestBuyItem();
         if (best == -1)
         {
             return;
         }
         //if (willGoOverItem || !inventoryFull())
         player.BuyItem((ItemId)best);
         //  else
         // {
         //      Console.WriteLine("wont buy");
         // }
     }
 }
Exemplo n.º 3
0
 private static void BlueOrb()
 {
     if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363)))
     {
         Player.BuyItem(ItemId.Scrying_Orb_Trinket);
     }
 }
Exemplo n.º 4
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            Orbwalker.SetAttack(true);



            //COMBO
            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                Combo();


                if (Config.Item("AinQ").GetValue <bool>())
                {
                    foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range)))
                    {
                        if (target != null)
                        {
                            if (Q.CanCast(target) && UnitIsImmobileUntil(target) >= Q.Delay - 0.5)
                            {
                                Q.Cast(target);
                            }
                        }
                    }
                }
                if (Config.Item("AinW").GetValue <bool>())
                {
                    foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range)))
                    {
                        if (target != null)
                        {
                            if (W.CanCast(target) && UnitIsImmobileUntil(target) >= W.Delay - 0.5)
                            {
                                W.Cast(target);
                            }
                        }
                    }
                }
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                Clear();
            }
            if (Config.Item("ksR").GetValue <bool>())
            {
                Killsteal();
            }

            if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363)))
            {
                Player.BuyItem(ItemId.Scrying_Orb_Trinket);
            }
        }
Exemplo n.º 5
0
 private static void Menu()
 {
     myMenu = new Menu("Trinket Exploit", "TrinketExploit", true);
     myMenu.AddItem(new MenuItem("buyBlue", "Buy Farsight Alteration (blue)").SetValue(false)).ValueChanged += (s, ar) =>
     {
         if (ar.GetNewValue <bool>())
         {
             Game.PrintChat("Farsight Alteration Buy !");
             myHero.BuyItem(ItemId.Warding_Totem_Trinket);
             myHero.BuyItem(ItemId.Farsight_Orb_Trinket);
         }
     };
     myMenu.AddItem(new MenuItem("buyRed", "Buy Oracle Alteration (red)").SetValue(false)).ValueChanged += (s, ar) =>
     {
         if (ar.GetNewValue <bool>())
         {
             Game.PrintChat("Farsight Alteration Buy !");
             myHero.BuyItem(ItemId.Sweeping_Lens_Trinket);
             myHero.BuyItem(ItemId.Oracles_Lens_Trinket);
         }
     };
     myMenu.AddToMainMenu();
 }
Exemplo n.º 6
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            Orbwalker.SetAttack(true);



            //COMBO
            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                Clear();
            }
            if (Config.Item("ksR").GetValue <bool>())
            {
                Killsteal();
            }

            if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363)))
            {
                Player.BuyItem(ItemId.Scrying_Orb_Trinket);
            }

            if (Config.Item("AinR").GetValue <bool>())
            {
                foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range)))
                {
                    if (target != null)
                    {
                        if (R.CanCast(target) && UnitIsImmobileUntil(target) >= R.Delay - 0.5 && R.GetPrediction(target).Hitchance >= HitChance.VeryHigh)
                        {
                            if (Player.Buffs.Count(b => b.Name == "kogmawlivingartillery") < 6)
                            {
                                R.Cast(target);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
        public static void ScrybingOrb()
        {
            var level = Config.Item("miscMenu.scrybebuylevel").GetValue <Slider>().Value;
            var buy   = Config.Item("miscMenu.scrybebuy").GetValue <bool>();

            if (!buy)
            {
                return;
            }

            if (hasbought)
            {
                return;
            }

            if (!(Items.HasItem(ItemId.Scrying_Orb_Trinket.ToString()) ||
                  Items.HasItem(ItemId.Farsight_Orb_Trinket.ToString())) &&
                Player.InShop() && Player.Level >= level)
            {
                Player.BuyItem(ItemId.Scrying_Orb_Trinket);
                hasbought = true;
            }
        }
Exemplo n.º 8
0
        private static void Game_OnUpdate(EventArgs args)
        {
            if (!Activator.Origin.Item("autotrinket").GetValue <bool>())
            {
                return;
            }

            if (Utils.GameTimeTickCount - Limiter < 1000 || !Upgrade)
            {
                return;
            }

            if (MenuGUI.IsShopOpen)
            {
                if (Player.InShop() || Player.IsDead)
                {
                    if (TrinketId == 3340 && !LeagueSharp.Common.Items.HasItem(3363))
                    {
                        if (Helpers.GetRole(Player) == PrimaryRole.Marksman)
                        {
                            if (Player.BuyItem((ItemId)3363))
                            {
                                Upgrade = false;
                            }
                        }

                        if (Helpers.GetRole(Player) == PrimaryRole.Mage)
                        {
                            if (Player.BuyItem((ItemId)3363))
                            {
                                Upgrade = false;
                            }
                        }
                    }

                    if (TrinketId == 3340 && !LeagueSharp.Common.Items.HasItem(3364))
                    {
                        if (Helpers.GetRole(Player) == PrimaryRole.Assassin)
                        {
                            if (Player.BuyItem((ItemId)3364))
                            {
                                Upgrade = false;
                            }
                        }

                        if (_hazstone)
                        {
                            if (Player.BuyItem((ItemId)3364))
                            {
                                Upgrade = false;
                            }
                        }
                    }

                    if (TrinketId == 3341 && !LeagueSharp.Common.Items.HasItem(3364))
                    {
                        if (Player.BuyItem((ItemId)3364))
                        {
                            Upgrade = false;
                        }
                    }
                }
            }

            Limiter = Utils.GameTimeTickCount;
        }
Exemplo n.º 9
0
        public static void OnUpdate(EventArgs args)
        {
            if (E.IsReady() && ComboMenu.Item("ManualE").GetValue <KeyBind>().Active)
            {
                foreach (var hero in Heroes.EnemyHeroes.Where(h => h.Distance(Player) < 550))
                {
                    var prediction = E.GetPrediction(hero);
                    for (var i = 40; i < 425; i += 125)
                    {
                        var flags = NavMesh.GetCollisionFlags(
                            prediction.UnitPosition.To2D()
                            .Extend(
                                Player.ServerPosition.To2D(),
                                -i)
                            .To3D());
                        if (flags.HasFlag(CollisionFlags.Wall) || flags.HasFlag(CollisionFlags.Building))
                        {
                            E.Cast(hero);
                            return;
                        }
                    }
                }
            }
            if (E.IsReady() && Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.Combo)
            {
                Condemn();
            }

            if (SkinhackMenu.Item("enableskinhack").GetValue <bool>())
            {
                SkinHax();
            }

            if (_canWallTumble && ComboMenu.Item("QWall").GetValue <bool>() && Q.IsReady() && Player.Distance(_dragPreV3) < 500)
            {
                DragWallTumble();
            }

            if (_canWallTumble && ComboMenu.Item("QWall").GetValue <bool>() && Q.IsReady() && Player.Distance(_midPreV3) < 500)
            {
                MidWallTumble();
            }

            if (Player.HasBuff("rengarralertsound"))
            {
                if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket))
                {
                    Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position);
                }
                else if (Items.HasItem((int)ItemId.Vision_Ward, Player))
                {
                    Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125));
                }
            }

            var enemyVayne = Heroes.EnemyHeroes.FirstOrDefault(e => e.CharData.BaseSkinName == "Vayne");

            if (enemyVayne != null && enemyVayne.Distance(Player) < 700 && enemyVayne.HasBuff("VayneInquisition"))
            {
                if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket))
                {
                    Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position);
                }
                else if (Items.HasItem((int)ItemId.Vision_Ward, Player))
                {
                    Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125));
                }
            }

            if (Player.InFountain() && ComboMenu.Item("AutoBuy").GetValue <bool>() && Player.Level > 6 && Items.HasItem((int)ItemId.Warding_Totem_Trinket))
            {
                Player.BuyItem(ItemId.Scrying_Orb_Trinket);
            }
            if (Player.InFountain() && ComboMenu.Item("AutoBuy").GetValue <bool>() && !Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Player.Level >= 9 && HeroManager.Enemies.Any(h => h.CharData.BaseSkinName == "Rengar" || h.CharData.BaseSkinName == "Talon" || h.CharData.BaseSkinName == "Vayne"))
            {
                Player.BuyItem(ItemId.Oracles_Lens_Trinket);
            }
        }
Exemplo n.º 10
0
        static void Game_OnUpdate(EventArgs args)
        {
            var feedmode  = A.Item("root.feedmode").GetValue <StringList>().SelectedIndex;
            var defaultto = A.Item("root.defaultto").GetValue <StringList>().SelectedIndex;

            Vector3 BotTurningPoint1 = new Vector3(12124, 1726, 52);
            Vector3 BotTurningPoint2 = new Vector3(13502, 3494, 51);

            Vector3 TopTurningPoint1 = new Vector3(1454, 11764, 53);
            Vector3 TopTurningPoint2 = new Vector3(3170, 13632, 53);

            Vector3 Dragon = new Vector3(10064, 4646, -71);
            Vector3 Baron  = new Vector3(4964, 10380, -71);

            Vector3 ChaosUniversal = new Vector3(14287f, 14383f, 172f);
            Vector3 OrderUniversal = new Vector3(417f, 469f, 182f);

            string[] MsgList = new[] { "wat", "how?", "What?", "how did you manage to do that?", "mate..", "-_-",
                                       "why?", "lag", "laaaaag", "oh my god this lag is unreal", "rito pls 500 ping", "god bless my ping",
                                       "if my ping was my iq i'd be smarter than einstein", "what's up with this lag?", "is the server lagging again?",
                                       "i call black magic" };

            if (IsDead)
            {
                if (!SaidDeadStuff && A.Item("root.chat2").GetValue <bool>())
                {
                    Random r = new Random();
                    Game.Say("/all " + MsgList[r.Next(0, 14)]);
                    SaidDeadStuff = true;
                }
            }

            if (Player.IsDead)
            {
                IsDead        = true;
                CycleStarted  = false;
                Point1Reached = false;
                Point2Reached = false;
            }
            else
            {
                IsDead        = false;
                SaidDeadStuff = false;

                CycleStarted = true;

                if (Player.InFountain())
                {
                    Point1Reached = false;
                    Point2Reached = false;
                }

                if (Player.Distance(BotTurningPoint1) <= 300 || Player.Distance(TopTurningPoint1) <= 300)
                {
                    Point1Reached = true;
                }
                if (Player.Distance(BotTurningPoint2) <= 300 || Player.Distance(TopTurningPoint2) <= 300)
                {
                    Point2Reached = true;
                }
                ;
            }

            if (A.Item("root.shouldfeed").GetValue <bool>())
            {
                if ((LastLaugh == 0 || LastLaugh < Game.Time) && A.Item("root.laugh").GetValue <bool>())
                {
                    LastLaugh = Game.Time + A.Item("root.laugh.delay").GetValue <Slider>().Value;
                    Game.Say("/laugh");
                }

                if (Ghost != SpellSlot.Unknown &&
                    Player.Spellbook.CanUseSpell(Ghost) == SpellState.Ready &&
                    A.Item("root.ghost").GetValue <bool>() &&
                    Player.InFountain())
                {
                    Player.Spellbook.CastSpell(Ghost);
                }

                if (A.Item("root.items").GetValue <bool>() && Player.InShop())
                {
                    if (Player.Gold >= 325 &&
                        !CheckForBoughtItem[0])
                    {
                        Player.BuyItem(ItemId.Boots_of_Speed);
                        CheckForBoughtItem[0] = true;
                    }
                    if (Player.Gold >= 475 &&
                        CheckForBoughtItem[0] &&
                        !CheckForBoughtItem[1])
                    {
                        Player.BuyItem(ItemId.Boots_of_Mobility);
                        CheckForBoughtItem[1] = true;
                    }
                    if (Player.Gold >= 475 &&
                        CheckForBoughtItem[1] &&
                        !CheckForBoughtItem[2])
                    {
                        Player.BuyItem(ItemId.Boots_of_Mobility_Enchantment_Homeguard);
                        CheckForBoughtItem[2] = true;
                    }
                    if (Player.Gold >= 435 &&
                        CheckForBoughtItem[2] &&
                        !CheckForBoughtItem[3])
                    {
                        Player.BuyItem(ItemId.Amplifying_Tome);
                        CheckForBoughtItem[3] = true;
                    }
                    if (Player.Gold >= (850 - 435) &&
                        CheckForBoughtItem[3] &&
                        !CheckForBoughtItem[4])
                    {
                        Player.BuyItem(ItemId.Aether_Wisp);
                        CheckForBoughtItem[4] = true;
                    }
                    if (Player.Gold > 1100 &&
                        CheckForBoughtItem[4])
                    {
                        Player.BuyItem(ItemId.Zeal);
                    }
                }


                switch (feedmode)
                {
                case 0:
                    if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.Distance(Player.Position)).FirstOrDefault().IsValidTarget())
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo,
                                          HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.Distance(Player.Position)).FirstOrDefault());
                    }
                    else
                    {
                        switch (defaultto)
                        {
                        case 0:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 1:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 2:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                            }
                            else
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                            }
                        }
                        break;
                        }
                    }
                    break;

                case 1:
                {
                    if (Player.Team == GameObjectTeam.Order)
                    {
                        if (!Point1Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                        }
                        else if (!Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                        }
                        else if (Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                        }
                    }
                    else
                    {
                        if (!Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                        }
                        else if (!Point1Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                        }
                        else if (Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                        }
                    }
                }
                break;

                case 2:
                {
                    if (Player.Team == GameObjectTeam.Order)
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                    }
                    else
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                    }
                }
                break;

                case 3:
                {
                    if (Player.Team == GameObjectTeam.Order)
                    {
                        if (!Point1Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                        }
                        else if (!Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                        }
                        else if (Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                        }
                    }
                    else
                    {
                        if (!Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                        }
                        else if (!Point1Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                        }
                        else if (Point2Reached)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                        }
                    }
                }
                break;

                case 4:
                {
                    if ((LastChat == 0 || LastChat < Game.Time) && A.Item("root.chat").GetValue <bool>() &&
                        Player.Distance(Dragon) <= 300)
                    {
                        LastChat = Game.Time + A.Item("root.chat.delay").GetValue <Slider>().Value;
                        Game.Say("/all Come to dragon!");
                    }
                    Player.IssueOrder(GameObjectOrder.MoveTo, Dragon);
                }
                break;

                case 5:
                {
                    if ((LastChat == 0 || LastChat < Game.Time) && A.Item("root.chat").GetValue <bool>() &&
                        Player.Distance(Baron) <= 300)
                    {
                        LastChat = Game.Time + A.Item("root.chat.delay").GetValue <Slider>().Value;
                        Game.Say("/all Come to baron!");
                    }
                    Player.IssueOrder(GameObjectOrder.MoveTo, Baron);
                }
                break;

                case 6:
                {
                    if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.ChampionsKilled).LastOrDefault().IsValidTarget())
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo,
                                          HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.ChampionsKilled).LastOrDefault());
                    }
                    else
                    {
                        switch (defaultto)
                        {
                        case 0:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 1:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 2:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                            }
                            else
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                            }
                        }
                        break;
                        }
                    }
                }
                break;

                case 7:
                {
                    if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead &&
                                                  (x.ChampionName == "Katarina" || x.ChampionName == "Fiora" || x.ChampionName == "Jinx" || x.ChampionName == "Vayne")
                                                  ).FirstOrDefault().IsValidTarget())
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo,
                                          HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead &&
                                                                    (x.ChampionName == "Katarina" || x.ChampionName == "Fiora" || x.ChampionName == "Jinx" || x.ChampionName == "Vayne")
                                                                    ).FirstOrDefault());
                    }
                    else
                    {
                        switch (defaultto)
                        {
                        case 0:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 1:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                                }
                            }
                            else
                            {
                                if (!Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2);
                                }
                                else if (!Point1Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1);
                                }
                                else if (Point2Reached)
                                {
                                    Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                                }
                            }
                        }
                        break;

                        case 2:
                        {
                            if (Player.Team == GameObjectTeam.Order)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal);
                            }
                            else
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal);
                            }
                        }
                        break;
                        }
                    }
                }
                break;
                }
            }
        }
Exemplo n.º 11
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            /////////////////check afk////////////////////////////
            if (Game.Time - pastTime >= 1 && !Player.IsDead && !Player.IsRecalling() && (Game.Time - gamestart > 70))
            {
                pastTime = Game.Time;
                afktime += 1;
                Game.PrintChat(afktime.ToString());
                if (afktime > 55) // 잠수 55초 경과
                {
                    Player.IssueOrder(GameObjectOrder.AttackTo,
                                      new Vector3(4910f, 10268f, -71.24f));
                    follow  = null;
                    afktime = 0;
                }


                #region 우물 잠수 45초 경과
                if (afktime > 45 && spawn.Distance(Player.Position) < 1500)
                {
                    Game.PrintChat("AFK DETECTED, Change Target");
                    if (fllowlist.Contains(follow.ChampionName))
                    {
                        fllowlist.Remove(follow.ChampionName);
                    }
                    follow  = null;
                    afktime = 0;
                }
                #endregion
            }
            //////////////////////////////////////////////////////


            //////////////////check player in turret range///////////////////////



            ////////////////////////////////////////////////////////////////
            if (fllowlist.Count == 0)
            {
                foreach (var ally in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsAlly && !x.IsMe))
                {
                    fllowlist.Add(ally.ChampionName);
                    Game.PrintChat("Follow LIST is NULL. ADD ALLY CHAMPIONS");
                }
            }



            #region 시작아이템 구입
            if (!(Items.HasItem(3301) || Items.HasItem(3096) || Items.HasItem(3069)))
            {
                Player.BuyItem(JeonItem.GetItemIdbyInt(3301));
                Player.BuyItem(JeonItem.GetItemIdbyInt(3340));
                Player.BuyItem(JeonItem.GetItemIdbyInt(2003));
                Player.BuyItem(JeonItem.GetItemIdbyInt(2003));
                Player.BuyItem(JeonItem.GetItemIdbyInt(2003));
            }
            #endregion

            #region 상점이용가능할때
            if (Utility.InShop(Player) || Player.IsDead)
            {
                foreach (var item in nextItem.itemIds)
                {
                    if (!Items.HasItem(Convert.ToInt32(item)))
                    {
                        Player.BuyItem(item);
                    }
                }
                checkItemInventory();
            }
            #endregion

            #region 타겟이 안잡혀있음 - 타겟 설정 부분
            if (!stopfollowing)
            {
                if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ad.Contains(x.ChampionName)))
                {
                    follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ad.Contains(x.ChampionName));
                }
                else if (follow == null && ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ap.Contains(x.ChampionName)))
                {
                    follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ap.Contains(x.ChampionName));
                }
                else if (follow == null && ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && bruiser.Contains(x.ChampionName)))
                {
                    follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && bruiser.Contains(x.ChampionName));
                }
                else if (follow == null)
                {
                    follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName));
                }
            }
            #endregion



            if (Game.Time - foundturret > 25) // 터렛발견하고 25초 경과
            {
                stopfollowing = false;
            }


            #region 타겟이 죽어 있는 경우 (임시) 타겟 체인지
            if (follow.IsDead)
            {
                Game.PrintChat("Target is dead. Change Targeting");
                if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800))
                {
                    follow =
                        ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800);
                }
                else
                {
                    follow =
                        ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead);
                }
            }
            #endregion

            #region follow가 죽었거나. (타겟과의거리가 5000이상이고. 내가 상점범위에 없고.타겟의 포지션이 상점내)이거나. 플레이어의 체력퍼센트가 설정된것 이하 일경우
            if (follow.IsDead ||
                (follow.Distance(Player.Position) > 5000 && !Utility.InShop(Player) && spawn.Distance(follow.Position) < 1500) ||
                Player.HealthPercentage() <
                menu.Item("hpb").GetValue <Slider>().Value&& !Player.IsDead)
            {
                if (Game.Time - foundturret > 20 && !recalling)
                {
                    Game.PrintChat("WARNNING! MUST RECALL");
                    var turret2 =
                        ObjectManager.Get <Obj_AI_Turret>()
                        .Where(x => x.IsAlly);

                    if (turret2.Any())
                    {
                        stopfollowing = true;
                        turret        = turret2.OrderBy(x => x.Distance(Player.Position)).First();
                        foundturret   = Game.Time;
                    }
                }


                if (stopfollowing && !recalling)
                {
                    Game.PrintChat("WARNNING! MOVE TURRET");
                    Player.IssueOrder(GameObjectOrder.MoveTo, turret);
                    if (Player.Distance(turret.Position) <= 350 && Game.Time - count > 15)
                    {
                        Player.Spellbook.CastSpell(SpellSlot.Recall);

                        recalling = true;
                        count     = Game.Time;
                    }
                }
            }
            #endregion



            if ((Game.Time - count > 15)) //터렛이동한지 15초~17초 사이일때
            {
                stopfollowing = false;
                recalling     = false;
            }

            if (Player.ChampionName.ToUpper() == "SORAKA")
            {
                #region W발동부분 - 아군
                if (!recalling && !stopfollowing && W.IsReady())
                {
                    var allies2 =
                        ObjectManager.Get <Obj_AI_Hero>()
                        .Where(
                            x =>
                            x.IsAlly && x.Health / x.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&&
                            !x.IsDead && x.Distance(Player.Position) < 550);
                    var objAiHeroes = allies2 as Obj_AI_Hero[] ?? allies2.ToArray();
                    if (objAiHeroes.Any() &&
                        Player.Health / Player.MaxHealth * 100 >
                        menu.Item("wabovehp").GetValue <Slider>().Value)
                    {
                        W.Cast(objAiHeroes.First());
                    }
                }
                #endregion

                #region R발동
                if (menu.Item("user").GetValue <bool>() && R.IsReady())
                {
                    var allies =
                        ObjectManager.Get <Obj_AI_Hero>()
                        .Where(
                            x =>
                            x.IsAlly && x.Health / x.MaxHealth * 100 < menu.Item("allyhpr").GetValue <Slider>().Value&&
                            !x.IsDead);
                    if (allies.Any())
                    {
                        if (R.IsReady())
                        {
                            R.Cast();
                        }
                    }
                }
                #endregion
            }
            #region 리콜중도 아니고 따라다니는중일때
            if (!recalling && !stopfollowing)
            {
                #region 거리가 500이상 5500이하일때
                if (follow.Distance(Player.Position) > 300 && follow.Distance(Player.Position) < 5500)
                {
                    Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position.To2D().Extend(spawn.To2D(), 200).To3D());
                    afktime = 0;
                }
                else // 거리가 안으로 도달했을때 위치설정
                {
                }
                #endregion

                #region 타겟과 거리가 5500이상일때
                if (follow.Distance(Player.Position) > 5500)
                {
                    if (spawn.Distance(follow.Position) <= 3000) // 타겟이 기지에 있다
                    {
                        Random y      = new Random();
                        var    turret =
                            ObjectManager.Get <Obj_AI_Turret>().First(x => x.Distance(Player.Position) < 3500 && x.IsAlly);

                        var xPos = ((spawn.X - turret.Position.X) / Vector3.Distance(turret.Position, spawn)) * 300 +
                                   turret.Position.X -
                                   y.Next(25, 150);
                        var yPos = ((spawn.Y - turret.Position.Y) / Vector3.Distance(turret.Position, spawn)) * 300 +
                                   turret.Position.Y -
                                   y.Next(25, 150);

                        var vec = new Vector3(xPos, yPos, follow.Position.Z);
                        Player.IssueOrder(GameObjectOrder.MoveTo, vec);
                        afktime = 0;
                    }
                    else // 타겟이 기지 밖에 있다
                    {
                        Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position.To2D().Extend(spawn.To2D(), 200).To3D());
                        afktime = 0;
                    }
                }
                #endregion

                #region 타겟이 죽지않았을때 (평상시)
                if (!follow.IsDead)
                {
                    if (Player.ChampionName.ToUpper() == "SORAKA")
                    {
                        #region W발동-타겟만
                        if (W.IsReady() && menu.Item("usew").GetValue <bool>() &&
                            Player.Health / Player.MaxHealth * 100 >
                            menu.Item("wabovehp").GetValue <Slider>().Value)
                        {
                            if (follow.Health / follow.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&&
                                follow.Distance(Player.Position) < 550 &&
                                Player.Health / Player.MaxHealth * 100 >
                                menu.Item("wabovehp").GetValue <Slider>().Value)
                            {
                                W.Cast(follow);
                                afktime = 0;
                            }
                            else if (follow.Health / follow.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&&
                                     follow.Distance(Player.Position) > 550)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position);
                                afktime = 0;
                            }
                        }
                        #endregion

                        #region 오토Q
                        if (Q.IsReady() && !Utility.UnderTurret(Player, true))
                        {
                            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                            Q.Cast(target);
                            afktime = 0;
                        }
                        #endregion

                        #region 오토E
                        if (E.IsReady() && !Utility.UnderTurret(Player, true))
                        {
                            var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                            E.Cast(target);
                            afktime = 0;
                        }
                        #endregion
                    }
                    else
                    {
                        var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                        var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);
                        var eTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                        var rTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

                        if (Q.CanCast(qTarget))
                        {
                            Q.Cast(qTarget);
                        }
                        if (W.CanCast(qTarget))
                        {
                            W.Cast(qTarget);
                        }
                        if (E.CanCast(qTarget))
                        {
                            E.Cast(qTarget);
                        }
                        if (R.CanCast(qTarget))
                        {
                            R.Cast(qTarget);
                        }
                    }
                }
                #endregion

                #region 타겟이 죽었을때
                else
                {
                    Game.PrintChat("Target is dead. Change Targeting");
                    if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800))
                    {
                        follow =
                            ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800);
                    }
                    else
                    {
                        follow =
                            ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead);
                    }
                }
                #endregion
            }
            #endregion
        }
Exemplo n.º 12
0
        private void OnUpdate(EventArgs args)
        {
            foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValid))
            {
                var ChampionInfoOne = ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId);
                if (enemy.IsDead)
                {
                    if (ChampionInfoOne != null)
                    {
                        ChampionInfoOne.NetworkId       = enemy.NetworkId;
                        ChampionInfoOne.LastVisablePos  = EnemySpawn;
                        ChampionInfoOne.LastVisableTime = Game.Time;
                        ChampionInfoOne.PredictedPos    = EnemySpawn;
                    }
                }
                else if (enemy.IsVisible)
                {
                    Vector3 prepos = enemy.Position;

                    if (enemy.IsMoving)
                    {
                        prepos = prepos.Extend(enemy.GetWaypoints().Last().ToVector3(), 125);
                    }

                    if (ChampionInfoOne == null)
                    {
                        ChampionInfoList.Add(new ChampionInfo()
                        {
                            NetworkId = enemy.NetworkId, LastVisablePos = enemy.Position, LastVisableTime = Game.Time, PredictedPos = prepos
                        });
                    }
                    else
                    {
                        ChampionInfoOne.NetworkId       = enemy.NetworkId;
                        ChampionInfoOne.LastVisablePos  = enemy.Position;
                        ChampionInfoOne.LastVisableTime = Game.Time;
                        ChampionInfoOne.PredictedPos    = prepos;
                    }
                }
            }

            if (!Menu["AutoWard.Menu"]["Enable"].GetValue <MenuBool>())
            {
                return;
            }

            if (Menu["AutoWard.Menu"]["BuyBlue"].GetValue <MenuBool>())
            {
                if (Player.InFountain() && !ScryingOrb.IsOwned() && Player.Level >= 9)
                {
                    Player.BuyItem(ItemId.Farsight_Orb_Trinket);
                }
            }

            if (Rengar != null && Player.HasBuff("rengarralertsound"))
            {
                CastVisionWards(Player.ServerPosition);
            }

            if (Vayne != null && Vayne.IsValidTarget(1000) && Vayne.HasBuff("vaynetumblefade"))
            {
                CastVisionWards(Vayne.ServerPosition);
            }

            foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValid && !enemy.IsVisible && !enemy.IsDead))
            {
                var need = ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId);

                if (need == null || need.PredictedPos == null)
                {
                    continue;
                }

                var PPDistance = need.PredictedPos.Distance(Player.Position);

                if (PPDistance > 1400)
                {
                    continue;
                }

                var timer = Game.Time - need.LastVisableTime;

                if (timer < 4)
                {
                    if (Menu["AutoWard.Menu"]["AutoWardCombo"].GetValue <MenuBool>() && !Menu["AutoWard.Menu"]["ComboKey"].GetValue <MenuKeyBind>().Active)
                    {
                        return;
                    }

                    if (NavMesh.IsWallOfGrass(need.PredictedPos, 0))
                    {
                        if (PPDistance < 600)
                        {
                            if (TrinketN.IsReady)
                            {
                                TrinketN.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                            else if (SightStone.IsReady)
                            {
                                SightStone.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                            else if (WardN.IsReady)
                            {
                                WardN.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                            else if (Oasis.IsReady)
                            {
                                Oasis.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                            else if (Equinox.IsReady)
                            {
                                Equinox.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                            else if (Watchers.IsReady)
                            {
                                Watchers.Cast(need.PredictedPos);
                                need.LastVisableTime = Game.Time - 5;
                            }
                        }

                        if (FarsightOrb.IsReady)
                        {
                            FarsightOrb.Cast(need.PredictedPos);
                            need.LastVisableTime = Game.Time - 5;
                        }
                        else if (ScryingOrb.IsReady)
                        {
                            ScryingOrb.Cast(need.PredictedPos);
                            need.LastVisableTime = Game.Time - 5;
                        }
                    }
                }
            }
        }