コード例 #1
0
ファイル: Program.cs プロジェクト: wade1990/PortAIO
        public static void Game_OnGameUpdate(EventArgs args)
        {
            if (menu.Item("useR").GetValue <bool>() && R.IsReady() &&
                ObjectManager.Player.CountEnemiesInRange(1000) >= menu.Item("enemys").GetValue <Slider>().Value &&
                orbwalker.ActiveMode.ToString() == "Combo")
            {
                R.Cast();
            }

            Usepotion();

            if (menu.Item("walltumble").GetValue <KeyBind>().Active)
            {
                TumbleHandler();
            }

            if (menu.Item("aaqaa").GetValue <KeyBind>().Active)
            {
                Orbwalking.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos);
            }

            if (Itemsmenu.Item("QSS").GetValue <bool>())
            {
                for (int i = 0; i < buffs.Length; i++)
                {
                    if (ObjectManager.Player.HasBuffOfType(buffs[i]) && qss.Item(buffs[i].ToString()).GetValue <bool>())
                    {
                        if (Items.CanUseItem(3140))
                        {
                            Items.UseItem(3140);
                        }
                        else if (Items.CanUseItem(3139))
                        {
                            Items.UseItem(3140);
                        }
                        else if (cleanse != null && cleanse.IsReady())
                        {
                            cleanse.Cast();
                        }
                    }
                }
            }

            if (!E.IsReady())
            {
                return;               //||
            }
            //(orbwalker.ActiveMode.ToString() != "Combo" || !menu.Item("UseEC").GetValue<bool>()) &&
            //!menu.Item("UseET").GetValue<KeyBind>().Active)) return;
            if ((orbwalker.ActiveMode.ToString() == "Combo" && emenu.Item("UseEC").GetValue <bool>()) || (orbwalker.ActiveMode.ToString() == "Mixed" && emenu.Item("he").GetValue <bool>()) || emenu.Item("UseET").GetValue <KeyBind>().Active)
            {
                foreach (var hero in from hero in ObjectManager.Get <AIHeroClient>().Where(hero => hero.IsValidTarget(550f))
                         let prediction = E.GetPrediction(hero)
                                          where NavMesh.GetCollisionFlags(
                             prediction.UnitPosition.To2D()
                             .Extend(ObjectManager.Player.ServerPosition.To2D(),
                                     -emenu.Item("PushDistance").GetValue <Slider>().Value)
                             .To3D())
                                          .HasFlag(CollisionFlags.Wall) || NavMesh.GetCollisionFlags(
                             prediction.UnitPosition.To2D()
                             .Extend(ObjectManager.Player.ServerPosition.To2D(),
                                     -(emenu.Item("PushDistance").GetValue <Slider>().Value / 2))
                             .To3D())
                                          .HasFlag(CollisionFlags.Wall)
                                          select hero)
                {
                    E.Cast(hero);
                }
            }
        }
コード例 #2
0
        public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe)
            {
                return;
            }
            if (!(target is Obj_AI_Hero))
            {
                return;
            }

            tar = (Obj_AI_Hero)target;

            if (menu.Item("aaqaa").GetValue <KeyBind>().Active)
            {
                if (Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }
                Orbwalking.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos);
            }
            if (Itemsmenu.Item("BOTRK").GetValue <bool>() && ((tar.Health / tar.MaxHealth) < botrk.Item("theirhp").GetValue <Slider>().Value) && ((ObjectManager.Player.Health / ObjectManager.Player.MaxHealth) < botrk.Item("myhp").GetValue <Slider>().Value))
            {
                //Game.PrintChat("in");
                if (Items.CanUseItem(3153))
                {
                    Items.UseItem(3153, tar);
                }
            }

            if (Itemsmenu.Item("Ghostblade").GetValue <bool>())
            {
                if (Items.CanUseItem(3142))
                {
                    Items.UseItem(3142);
                }
            }

            if (menu.Item("UseEaa").GetValue <KeyBind>().Active)
            {
                E.Cast((Obj_AI_Base)target);
                menu.Item("UseEaa").SetValue <KeyBind>(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle));
            }

            if (((orbwalker.ActiveMode.ToString() != "Combo" || !menu.Item("UseQC").GetValue <bool>()) &&
                 ((orbwalker.ActiveMode.ToString() != "Mixed" || !menu.Item("hq").GetValue <bool>()) || !Q.IsReady())))
            {
                return;
            }

            if (menu.Item("restrictq").GetValue <bool>())
            {
                var after = ObjectManager.Player.Position +
                            Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300;
                //Game.PrintChat("After: {0}", after);
                var disafter = Vector3.DistanceSquared(after, tar.Position);
                //Game.PrintChat("DisAfter: {0}", disafter);
                //Game.PrintChat("first calc: {0}", (disafter) - (630*630));
                if ((disafter < 630 * 630) && disafter > 150 * 150)
                {
                    Q.Cast(Game.CursorPos);
                }
                if (Vector3.DistanceSquared(tar.Position, ObjectManager.Player.Position) > 630 * 630 &&
                    disafter < 630 * 630)
                {
                    Q.Cast(Game.CursorPos);
                }
            }
            else
            {
                Q.Cast(Game.CursorPos);
            }
            //Q.Cast(Game.CursorPos);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: wade1990/PortAIO
        /* private static void Farm()
         * {
         *   var mob =
         *       MinionManager.GetMinions(
         *           Player.ServerPosition,
         *           E.Range,
         *           MinionTypes.All,
         *           MinionTeam.Neutral,
         *           MinionOrderTypes.MaxHealth).FirstOrDefault();
         *   var Minions = MinionManager.GetMinions(Player.Position.Extend(Game.CursorPos, Q.Range), Player.AttackRange, MinionTypes.All);
         *   var useQ = qmenu.Item("UseQJ").GetValue<bool>();
         *
         *   int countMinions = 0;
         *   foreach (var minions in Minions.Where(minion => minion.Health < Player.GetAutoAttackDamage(minion) || minion.Health < Q.GetDamage(minion)))
         *   {
         *       countMinions++;
         *   }
         *
         *   if (countMinions >= 2 && useQ && Q.IsReady() && Minions != null)
         *       Q.Cast(Player.Position.Extend(Game.CursorPos, Q.Range/2));
         *
         *   if (useQ && Q.IsReady() && Orbwalking.InAutoAttackRange(mob) && mob != null)
         *   {
         *       Q.Cast(Game.CursorPos);
         *   }
         * }*/


        public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe)
            {
                return;
            }

            if (orbwalker.ActiveMode.ToString() == "LaneClear" &&
                100 * (Player.Mana / Player.MaxMana) > qmenu.Item("Junglemana").GetValue <Slider>().Value)
            {
                var mob =
                    MinionManager.GetMinions(
                        Player.ServerPosition,
                        E.Range,
                        MinionTypes.All,
                        MinionTeam.Neutral,
                        MinionOrderTypes.MaxHealth).FirstOrDefault();
                var Minions = MinionManager.GetMinions(
                    Player.Position.Extend(Game.CursorPos, Q.Range),
                    Player.AttackRange,
                    MinionTypes.All);
                var useQ         = qmenu.Item("UseQJ").GetValue <bool>();
                int countMinions = 0;
                foreach (var minions in
                         Minions.Where(
                             minion =>
                             minion.Health < Player.GetAutoAttackDamage(minion) ||
                             minion.Health < Q.GetDamage(minion) + Player.GetAutoAttackDamage(minion) || minion.Health < Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions >= 2 && useQ && Q.IsReady() && Minions != null)
                {
                    Q.Cast(Player.Position.Extend(Game.CursorPos, Q.Range / 2));
                }

                if (useQ && Q.IsReady() && Orbwalking.InAutoAttackRange(mob) && mob != null)
                {
                    Q.Cast(Game.CursorPos);
                }
            }

            if (!(target is AIHeroClient))
            {
                return;
            }

            tar = (AIHeroClient)target;

            if (menu.Item("aaqaa").GetValue <KeyBind>().Active)
            {
                if (Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }

                Orbwalking.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos);
            }

            if (orbwalker.ActiveMode.ToString() == "Combo")
            {
                if (Itemsmenu.Item("BOTRK").GetValue <bool>() &&
                    (tar.Health <= tar.MaxHealth * botrk.Item("theirhp").GetValue <Slider>().Value / 100) ||
                    (Player.Health <= Player.MaxHealth * botrk.Item("myhp").GetValue <Slider>().Value / 100))
                {
                    //Chat.Print("in");
                    if (Items.CanUseItem(3153))
                    {
                        Items.UseItem(3153, tar);
                    }
                    else if (Items.CanUseItem(3144))
                    {
                        {
                            Items.UseItem(3144, tar);
                        }
                    }
                }

                if (Itemsmenu.Item("Ghostblade").GetValue <bool>() && tar.IsValidTarget(800))
                {
                    if (Items.CanUseItem(3142))
                    {
                        Items.UseItem(3142);
                    }
                }
            }

            if (emenu.Item("UseEaa").GetValue <KeyBind>().Active)
            {
                E.Cast((Obj_AI_Base)target);
                emenu.Item("UseEaa").SetValue <KeyBind>(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle));
            }

            if (Q.IsReady() &&
                ((orbwalker.ActiveMode.ToString() == "Combo" && qmenu.Item("UseQC").GetValue <bool>()) ||
                 (orbwalker.ActiveMode.ToString() == "Mixed" && qmenu.Item("hq").GetValue <bool>())))
            {
                if (qmenu.Item("restrictq").GetValue <bool>())
                {
                    var after = ObjectManager.Player.Position
                                + Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300;
                    //Chat.Print("After: {0}", after);
                    var disafter = Vector3.DistanceSquared(after, tar.Position);
                    //Chat.Print("DisAfter: {0}", disafter);
                    //Chat.Print("first calc: {0}", (disafter) - (630*630));
                    if ((disafter < 630 * 630) && disafter > 150 * 150)
                    {
                        Q.Cast(Game.CursorPos);
                    }

                    if (Vector3.DistanceSquared(tar.Position, ObjectManager.Player.Position) > 630 * 630 &&
                        disafter < 630 * 630)
                    {
                        Q.Cast(Game.CursorPos);
                    }
                }
                else
                {
                    Q.Cast(Game.CursorPos);
                }
                //Q.Cast(Game.CursorPos);
            }
        }