当前位置: 首页>>代码示例>>C#>>正文


C# Hero.FindItem方法代码示例

本文整理汇总了C#中Hero.FindItem方法的典型用法代码示例。如果您正苦于以下问题:C# Hero.FindItem方法的具体用法?C# Hero.FindItem怎么用?C# Hero.FindItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Hero的用法示例。


在下文中一共展示了Hero.FindItem方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Tick

 public static void Tick(EventArgs args)
 {
     if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || Game.IsChatOpen)
         return;
     me = ObjectMgr.LocalHero;
     if (me == null)
         return;
     if (me.IsAlive && (!me.IsInvisible() || me.ClassID == ClassID.CDOTA_Unit_Hero_Riki) && !me.IsChanneling() && Utils.SleepCheck("AutoItems"))
     {
         item_bottle = me.FindItem("item_bottle");
         item_phase_boots = me.FindItem("item_phase_boots");
         item_magic_stick = me.FindItem("item_magic_stick");
         item_magic_wand = me.FindItem("item_magic_wand");
         PercentStickUse = ((double)Menu.Item("Percent Configuration").GetValue<Slider>().Value / 100);
         if (item_bottle != null && me.Modifiers.Any(x => x.Name == "modifier_fountain_aura_buff") && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_bottle.Name))
         {
             if(!me.Modifiers.Any(x => x.Name == "modifier_bottle_regeneration") && (me.Health < me.MaximumHealth || me.Mana < me.MaximumMana))
                 item_bottle.UseAbility();
             Alies = ObjectMgr.GetEntities<Hero>().Where(x => x.Team == me.Team && x != me && (x.Health < x.MaximumHealth || x.Mana < x.MaximumMana) && !x.Modifiers.Any(y => y.Name == "modifier_bottle_regeneration") && x.IsAlive && !x.IsIllusion && x.Distance2D(me) <= item_bottle.CastRange).ToList();
             foreach (Hero v in Alies)
                 if (v != null)
                     item_bottle.UseAbility(v);
         }
         if (item_phase_boots != null && item_phase_boots.CanBeCasted() && me.NetworkActivity == NetworkActivity.Move && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_phase_boots.Name))
             item_phase_boots.UseAbility();
         if (item_magic_stick != null && item_magic_stick.CanBeCasted() && item_magic_stick.CurrentCharges > 0 && (double)me.Health / me.MaximumHealth < PercentStickUse && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_magic_stick.Name))
             item_magic_stick.UseAbility();
         if (item_magic_wand != null && item_magic_wand.CanBeCasted() && item_magic_wand.CurrentCharges > 0 && (double)me.Health / me.MaximumHealth < PercentStickUse && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_magic_wand.Name))
             item_magic_wand.UseAbility();
         Utils.Sleep(250, "AutoItems");
     }
 }
开发者ID:VickTheRock,项目名称:EnsageSharp-4,代码行数:32,代码来源:AutoItems_NINJA.cs

示例2: CalculateManaRequired

        public static int CalculateManaRequired(Hero me)
        {
            try
            {
                if (Utils.SleepCheck("manaCalcErrorTimeout"))
                {
                    var hook = me.Spellbook.Spell1;
                    var dismember = me.Spellbook.SpellR;
                    var urn = me.FindItem("item_urn_of_shadows");
                    var eblade = me.FindItem("item_ethereal_blade");
                    var dagon = me.GetDagon();
                    var ManaRequired = 0;

                    if (hook != null)
                        ManaRequired += (int)hook.ManaCost;
                    if (dismember != null)
                        ManaRequired += (int)dismember.ManaCost;
                    if (eblade != null)
                        ManaRequired += (int)eblade.ManaCost;
                    if (dagon != null)
                        ManaRequired += (int)dagon.ManaCost;
                    return (int)ManaRequired;
                }
                return 0;
            }
            catch (Exception ex)
            {
                // Print.Error("MANACALC: " + ex.Message);
                Utils.Sleep(500, "manaCalcErrorTimeout");
                return 0;
            }
        }
开发者ID:NadeHouse,项目名称:Pudge-Plus,代码行数:32,代码来源:HookHandler.cs

示例3: DrawRanges

		public static void DrawRanges(EventArgs args)
        {
			if (!Game.IsInGame || Game.IsWatchingGame)
                return;
            me = ObjectMgr.LocalHero;
            if (me == null)
                return;
		
			if (Menu.Item("menurange_arrow").GetValue<bool>())
			{
				if (Menu.Item("AutoMode").GetValue<bool>())
				{
					if (me.ClassID == ClassID.CDOTA_Unit_Hero_Nevermore)
						range_arrow = 700;
					else if (me.ClassID == ClassID.CDOTA_Unit_Hero_Slark)
						range_arrow = 700;
					else if (me.ClassID == ClassID.CDOTA_Unit_Hero_Mirana)
					{
						if (me.Spellbook.SpellE.Level == 1)
							range_arrow = 600;
						else if (me.Spellbook.SpellE.Level == 2)
							range_arrow = 700;
						else if (me.Spellbook.SpellE.Level == 3)
							range_arrow = 800;
						else if (me.Spellbook.SpellE.Level == 4)
							range_arrow = 900;
						else
							range_arrow = (int)me.GetAttackRange();
					}
					else if (me.FindItem("item_force_staff")!=null || me.FindItem("item_hurricane_pike")!=null)
						range_arrow = 600;
					else
                        range_arrow = (int)me.GetAttackRange();
				}
				else
					range_arrow = Menu.Item("menurange_own").GetValue<Slider>().Value;
				
				if (rangedisplay == null)
				{
					rangedisplay = new ParticleEffect(@"particles\ui_mouseactions\range_finder_directional_b.vpcf", me);     
					rangedisplay.SetControlPoint(1, me.NetworkPosition);
					rangedisplay.SetControlPoint(2, FindVector(me.NetworkPosition, me.Rotation, range_arrow));
				}
				else 
				{
					rangedisplay.SetControlPoint(1, me.NetworkPosition);
					rangedisplay.SetControlPoint(2, FindVector(me.NetworkPosition, me.Rotation, range_arrow));
				}
			}
			else if (rangedisplay!=null)
			{
				rangedisplay.Dispose();
				rangedisplay = null;
			}			
			

		}
开发者ID:Air13,项目名称:ESharp,代码行数:57,代码来源:Show+Direction+Air13.cs

示例4: Game_OnUpdate

        private static void Game_OnUpdate(EventArgs args)
        {
            if (Game.IsPaused || Game.IsWatchingGame || !Game.IsInGame)
                return;
            me = ObjectMgr.LocalHero;
            if (me == null)
                return;

            if (!me.IsAlive)
                return;
            Unit Things = ObjectMgr.GetEntities<Unit>()
                .FirstOrDefault(
                    x =>
                        (x.ClassID == ClassID.CDOTA_NPC_Observer_Ward ||
                         x.ClassID == ClassID.CDOTA_NPC_Observer_Ward_TrueSight || x.ClassID == ClassID.CDOTA_NPC_TechiesMines /*|| x.ClassID == ClassID.CDOTA_NPC_Treant_EyesInTheForest*/)
                        && x.Team != me.Team && me.NetworkPosition.Distance2D(x.NetworkPosition) < 450 &&
                        x.IsVisible && x.IsAlive);
            if (!me.IsChanneling() && Utils.SleepCheck("Use"))
            {
                if (Things != null)
                {
                    var useItem = items.Select(item => me.FindItem(item)).FirstOrDefault(x => x != null && x.CanBeCasted());
                    if (useItem != null && !((useItem.Name == "item_tango_single" || useItem.Name == "item_tango") && Things.ClassID == ClassID.CDOTA_NPC_TechiesMines))
                    {
                        useItem.UseAbility(Things);
                        Utils.Sleep(250, "Use");
                    }
                    Utils.Sleep(250, "Use");
                }
            }
        }
开发者ID:jaddyknight,项目名称:EnsageSharp,代码行数:31,代码来源:AutoDeward2.cs

示例5: Game_OnUpdate

        public static void Game_OnUpdate(EventArgs args)
        {
            me = ObjectManager.LocalHero;

            if (me.ClassID != ClassID.CDOTA_Unit_Hero_Axe)
                return;
            if (me == null)
                return;

            if (Blink == null)
                Blink = me.FindItem("item_blink");

            if (Chop == null)
                Chop = me.Spellbook.Spell4;

            if (me.HasItem(ClassID.CDOTA_Item_UltimateScepter))
            {
                _chopDmg = new int[3] { 300, 425, 550 };
            }
            else
            {
                _chopDmg = new int[3] { 250, 325, 400 };
            }

            var ChopDmg = _chopDmg[Chop.Level - 1];

            if (Menu.Item("toggle").GetValue<bool>())
            {
                var enemies = ObjectMgr.GetEntities<Hero>().Where(x => x.IsVisible && x.IsAlive && !x.IsIllusion && x.Team != me.Team && x.Health <= ChopDmg).ToList();

                foreach (var hero in enemies)
                {
                    var distance = me.Distance2D(hero);
                    if (target == null || distance < minimumDistance)
                    {
                        target = hero;
                    }
                }

                if (target != null && Utils.SleepCheck("chop") && Chop.CanBeCasted() && me.IsAlive && target.IsAlive)
                {
                    if (Blink != null && me.Distance2D(target) > 400 && me.Distance2D(target) < Blink.CastRange && Utils.SleepCheck("blink") && Blink.CanBeCasted() && me.Health > 250)
                    {
                        Blink.UseAbility(target.Position);
                        Utils.Sleep(150 + Game.Ping, "blink");
                    }
                    else
                    {
                        if (target != null && Chop != null)
                        {
                            Chop.UseAbility(target);
                            target = null;
                            Utils.Sleep(150 + Game.Ping, "chop");
                        }
                    }
                }
            }
        }
开发者ID:Evervolv1337,项目名称:EnsageSharp,代码行数:58,代码来源:Program.cs

示例6: Game_OnUpdate

 public static void Game_OnUpdate(EventArgs args)
 {
     if (!Game.IsInGame) return;
     _me = ObjectMgr.LocalHero;
     if (_me == null || _me.ClassID != ClassID.CDOTA_Unit_Hero_Morphling)
     {
         return;
     }
     if (!_activated) return;
     if ((_target == null || !_target.IsVisible) && !_me.IsChanneling())
         _me.Move(Game.MousePosition);
     if (_target == null || _me.Distance2D(_target) > 500)
         _target = _me.ClosestToMouseTarget(1000);
     //Skills & Items
     waveform = _me.Spellbook.Spell1;
     adapt = _me.Spellbook.Spell2;
     eblade = _me.FindItem("item_ethereal_blade");
     bkb = _me.FindItem("item_black_king_bar");
     if (_target != null && _target.IsAlive && !_target.IsInvul())
     {
         if (!Utils.SleepCheck("Morph_Wait")) return;
         var targetDistance = _me.Distance2D(_target);
         var attackRange = 1000;
         if (targetDistance <= attackRange && waveform != null && waveform.CanBeCasted() && Utils.SleepCheck("waveform"))
         {
             waveform.UseAbility(_target.Position);
             Utils.Sleep(150 + Game.Ping, "waveform");
         }
         else if (bkb !=null && _bkbToggle && Utils.SleepCheck("BKB"))
         {
             bkb.UseAbility();
             Utils.Sleep(150 + Game.Ping, "BKB");
         }
         else if (eblade != null && eblade.CanBeCasted() && Utils.SleepCheck("eblade"))
         {
             eblade.UseAbility(_target);
             Utils.Sleep(150 + Game.Ping, "eblade");
         }
         else if (adapt != null && adapt.CanBeCasted() && Utils.SleepCheck("adapt"))
         {
             adapt.UseAbility(_target);
             Utils.Sleep(150 + Game.Ping, "adapt");
         }
     }
 }
开发者ID:potassiumsquare,项目名称:Morph,代码行数:45,代码来源:Program.cs

示例7: Player_OnExecuteAction

        private static void Player_OnExecuteAction(Player sender, ExecuteOrderEventArgs args)
        {
            if (!Menu.Item("PB.Enable").GetValue<bool>()) return;
            /*if (args.Order == Order.AbilityTarget || args.Order == Order.AbilityLocation)
                if (args.Ability.Name == "item_tpscroll" || args.Ability.Name == "item_travel_boots" ||
                    args.Ability.Name == "item_travel_boots_2")
                    TpPos = args.TargetPosition;*/
            if (args.Order == Order.Stop || args.Order == Order.Hold)
                _shouldCheckForModifier = false;
            if (args.Order != Order.AbilityLocation) return;
            if (args.Ability.Name != "item_blink") return;
            _me = args.Entities.FirstOrDefault() as Hero;//ObjectMgr.LocalHero);
            if (_me==null) return;
            var safeRange = _me.FindItem("item_aether_lens") == null ? 1200 : 1400;
            if (!(_me.Distance2D(args.TargetPosition) > safeRange))
                return;
            var tpos = _me.Position;
            var a = tpos.ToVector2().FindAngleBetween(args.TargetPosition.ToVector2(), true);

            safeRange -= (int)_me.HullRadius;
            var p = new Vector3(
                tpos.X + safeRange * (float)Math.Cos(a),
                tpos.Y + safeRange * (float)Math.Sin(a),
                100);
            if (_me.HasModifier("modifier_teleporting"))
            {
                if (!EnableAfterTp)
                    return;
                _shouldCheckForModifier = true;
                _myAbility = args.Ability;
                args.Process = false;
                _mySelectedPos = args.TargetPosition.ToVector2();
                /*DelayAction.Add(new DelayActionItem((int) _me.FindModifier("modifier_teleporting").RemainingTime*1000+750, () =>
                {
                    tpos = _me.Position;;//TpPos;
                    a = tpos.ToVector2().FindAngleBetween(args.TargetPosition.ToVector2(), true);
                    p = new Vector3(
                        tpos.X + safeRange * (float)Math.Cos(a),
                        tpos.Y + safeRange * (float)Math.Sin(a),
                        100);
                    Print("extra action");

                    args.Ability.UseAbility(p);
                }, CancellationToken.None));*/
                return;
            }
            _shouldCheckForModifier = false;
            args.Ability.UseAbility(p,_me.IsChanneling());
            args.Process = false;
        }
开发者ID:JumpAttacker,项目名称:EnsageSharp,代码行数:50,代码来源:Program.cs

示例8: Execute

        /// <summary>
        ///     The execute.
        /// </summary>
        /// <param name="hero">
        ///     The hero.
        /// </param>
        /// <returns>
        ///     The <see cref="bool" />.
        /// </returns>
        public bool Execute(Hero hero = null)
        {
            if (hero == null)
            {
                return false;
            }

            var item = hero.FindItem("item_tango_single")
                       ?? hero.FindItem("item_tango") ?? hero.FindItem("item_quelling_blade");
            var nearestStack = Variables.Stacks.MinOrDefault(x => x.Position.Distance(hero.Position));
            if (nearestStack == null || nearestStack.Position.Distance(hero.Position) > 1000)
            {
                return false;
            }

            foreach (var mine in
                nearestStack.RemoteMines.Where(
                    x => x.Entity.IsValid && x.Entity.IsAlive && x.Entity.IsVisible && x.Entity.IsVisibleToEnemies))
            {
                if (item != null && item.CanHit(mine.Entity) && hero.GetTurnTime(mine.Position) < 0.01)
                {
                    mine.Detonate();
                    return true;
                }

                if (!hero.IsAttacking() || !(hero.GetTurnTime(mine.Position) < 0.01)
                    || !(mine.Entity.DamageTaken(hero.MaximumDamage, DamageType.Physical, hero) >= mine.Entity.Health))
                {
                    continue;
                }

                mine.Detonate();
                return true;
            }

            return false;
        }
开发者ID:Ray0fHope,项目名称:EnsageSharp,代码行数:46,代码来源:AutoProtection.cs

示例9: Game_OnUpdate

        private static void Game_OnUpdate(EventArgs args)
        {
            if (!Game.IsInGame || Game.GameTime > 1800 || Game.IsPaused)
                return;

            var player = ObjectMgr.LocalPlayer;
            _me = player.Hero;

            if (player == null || player.Team == Team.Observer || _me == null || _me.MinimumDamage > 120)
                return;

            var quellingBlade = _me.FindItem(" item_quelling_blade ");
            var damage = (quellingBlade != null) ? (_me.MinimumDamage * 1.40 + _me.BonusDamage) : (_me.MinimumDamage + _me.BonusDamage);

            var creeps = ObjectMgr.GetEntities<Unit>().Where(creep => (creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege) && creep.IsSpawned).ToList();

            if (!creeps.Any())
                return;

            foreach (var creep in creeps) {
                if (creep.IsAlive && creep.IsVisible) {
                    string creepType;
                    if (creep.Health > 0 && creep.Health < damage*(1 - creep.DamageResist) + 1)
                    {
                        if (!CreepsDictionary.TryGetValue(creep, out creepType) || creepType != "passive") continue;
                        CreepsDictionary.Remove(creep);
                        CreepsTeamDictionary.Remove(creep);
                        creepType = "active";
                        CreepsDictionary.Add(creep, creepType);
                        CreepsTeamDictionary.Add(creep, creep.Team);
                    }
                    else if (creep.Health < damage + 88)
                    {
                        if (CreepsDictionary.TryGetValue(creep, out creepType)) continue;
                        creepType = "passive";
                        CreepsDictionary.Add(creep, creepType);
                        CreepsTeamDictionary.Add(creep, creep.Team);
                    }
                }
                else {
                    CreepsDictionary.Remove(creep);
                    CreepsTeamDictionary.Remove(creep);
                }
            }
        }
开发者ID:soaring90,项目名称:ESharp,代码行数:45,代码来源:Program.cs

示例10: Tick

        public static void Tick(EventArgs args)
        {
            if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame)
                return;
            me = ObjectMgr.LocalHero;
            target = ObjectMgr.GetEntities<Hero>().Where(x => x.Health <= 100 && x.Distance2D(me) <= 950 && !x.IsIllusion && x.IsAlive && x.Team != me.Team).ToList();
            if (me == null || target.FirstOrDefault() == null)
                return;
            urn_of_shadows = me.FindItem("item_urn_of_shadows");

            if (!me.IsChanneling() && target.FirstOrDefault() != null && urn_of_shadows != null && (!me.IsInvisible() || me.ClassID == ClassID.CDOTA_Unit_Hero_Riki))
            {
                if (me.CanCast() && urn_of_shadows.CanBeCasted() && Utils.SleepCheck("urn"))
                {
                    urn_of_shadows.UseAbility(target.FirstOrDefault());
                    Utils.Sleep(200, "urn");
                }
            }
        }
开发者ID:jaddyknight,项目名称:EnsageSharp,代码行数:19,代码来源:AutoUrn.cs

示例11: Game_OnUpdate

        public static void Game_OnUpdate(EventArgs args)
        {
            me = ObjectMgr.LocalHero;

            if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
                return;
            if (me == null)
                return;

            // Ability init
            if (Laser == null)
                Laser = me.Spellbook.Spell1;

            // Item init
            if (Blink == null)
                Blink = me.FindItem("item_blink");

            // Main combo
            if (active && toggle)
            {
            }
        }
开发者ID:jonibahu,项目名称:EnsageSharp,代码行数:22,代码来源:Program.cs

示例12: Game_OnUpdate

 private static void Game_OnUpdate(EventArgs args)
 {
     me = ObjectMgr.LocalHero;
     if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Silencer)
         return;
     if (Refresher == null)
     {
         Refresher = me.FindItem("item_refresher");
     }
     if (Utils.SleepCheck("GlobalSave") && Menu.Item("globaldisable").GetValue<bool>() && me.Spellbook.Spell4.CanBeCasted() && me.Mana > me.Spellbook.Spell4.ManaCost)
     {
         var target = ObjectMgr.GetEntities<Hero>().Where(e => e.Team != me.Team && e.IsAlive && !e.IsIllusion);
         foreach (var v in target)
         {
             var channel = v.GetChanneledAbility();
             if (v.IsChanneling() && channel.Name != "item_travel_boots" && channel.Name != "item_travel_boots_2" && channel.Name != "lion_mana_drain" && channel.Name != "elder_titan_echo_stomp" && channel.Name != "elder_titan_echo_stomp_spirit" && channel.Name != "puck_phase_shift" && channel.Name != "pugna_life_drain" && channel.Name != "sandking_sand_storm" && channel.Name != "shadow_shaman_shackles" && channel.Name != "tinker_rearm" && channel.Name != "warlock_upheaval" && channel.Name != "enraged_wildkin_tornado" && channel.Name != "windrunner_powershot" && channel.Name != "oracle_fortunes_end" && channel.Name != "keeper_of_the_light_illuminate" && channel.Name != "keeper_of_the_light_illuminate_end" && channel.Name != "keeper_of_the_light_spirit_form_illuminate" && channel.Name != "keeper_of_the_light_spirit_form_illuminate_end")
             {
                 me.Spellbook.Spell4.UseAbility();
                 Utils.Sleep(300, "GlobalSave");
             }
         }
     }
     if (Utils.SleepCheck("RefreshGlobal") && Menu.Item("useref").GetValue<bool>() && Menu.Item("globaldisable").GetValue<bool>() && !me.Spellbook.Spell4.CanBeCasted() && Refresher.CanBeCasted() && me.Mana > me.Spellbook.Spell4.ManaCost + Refresher.ManaCost)
     {
         var target = ObjectMgr.GetEntities<Hero>().Where(e => e.Team != me.Team && e.IsAlive && !e.IsIllusion);
         foreach (var v in target)
         {
             var channel = v.GetChanneledAbility();
             if (v.IsChanneling() && channel.Name != "item_travel_boots" && channel.Name != "item_travel_boots_2" && channel.Name != "lion_mana_drain" && channel.Name != "elder_titan_echo_stomp" && channel.Name != "elder_titan_echo_stomp_spirit" && channel.Name != "puck_phase_shift" && channel.Name != "pugna_life_drain" && channel.Name != "sandking_sand_storm" && channel.Name != "shadow_shaman_shackles" && channel.Name != "tinker_rearm" && channel.Name != "warlock_upheaval" && channel.Name != "enraged_wildkin_tornado" && channel.Name != "windrunner_powershot" && channel.Name != "oracle_fortunes_end" && channel.Name != "keeper_of_the_light_illuminate" && channel.Name != "keeper_of_the_light_illuminate_end" && channel.Name != "keeper_of_the_light_spirit_form_illuminate" && channel.Name != "keeper_of_the_light_spirit_form_illuminate_end")
             {
                 Refresher.UseAbility();
                 me.Spellbook.Spell4.UseAbility();
                 Utils.Sleep(300, "RefreshGlobal");
             }
         }
     }
 }
开发者ID:spyware293,项目名称:Ensage,代码行数:37,代码来源:Program.cs

示例13: Game_OnUpdate

        private static void Game_OnUpdate(EventArgs args)
        {
            if (Game.IsPaused || Game.IsWatchingGame || !Game.IsInGame)
                return;
            me = ObjectMgr.LocalHero;
            if (me == null)
                return;

            if (!me.IsAlive)
                return;
            Unit wards = ObjectMgr.GetEntities<Unit>()
                .Where(
                    x =>
                        (x.ClassID == ClassID.CDOTA_NPC_Observer_Ward ||
                         x.ClassID == ClassID.CDOTA_NPC_Observer_Ward_TrueSight || x.ClassID == ClassID.CDOTA_NPC_TechiesMines || x.ClassID == ClassID.CDOTA_NPC_Treant_EyesInTheForest)
                        && x.Team != me.Team && GetDistance2D(x.NetworkPosition, me.NetworkPosition) < 450 &&
                        x.IsVisible && x.IsAlive).FirstOrDefault();
            if (!me.IsChanneling() && Utils.SleepCheck("Use"))
            {
                if (wards != null)
                {
                    uint i = 0;
                    uint last_i = 100;
                    string item_name = null;
                    List<Item> me_inventory = me.Inventory.Items.ToList();
                    items = new string[5] { "item_quelling_blade", "item_iron_talon", "item_bfury", "item_tango_single", "item_tango" };
                    foreach (Item x in me_inventory)
                    {
                        for (i = 0; i < 5; i++)
                        {
                            if (items[i] == x.Name && x.Cooldown <= 0)
                            {
                                if (i <= last_i)
                                {
                                    item_name = x.Name;
                                    last_i = i;
                                }
                            }
                        }
                    }
                    if (item_name != null && me.FindItem(item_name).CanBeCasted())
                        me.FindItem(item_name).UseAbility(wards);
                    Utils.Sleep(250, "Use");
                }
            }
        }
开发者ID:VickTheRock,项目名称:EnsageSharp-4,代码行数:46,代码来源:AutoDeward2.cs

示例14: Game_OnUpdate

        public static void Game_OnUpdate(EventArgs args)
        {
            me = ObjectMgr.LocalHero;

            if (me == null || !Game.IsInGame || Game.IsWatchingGame)
                return;

            if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
                return;

            // Ability init
            Laser = me.Spellbook.Spell1;
            Rocket = me.Spellbook.Spell2;
            Refresh = me.Spellbook.Spell4;

            // Item init
            Blink = me.FindItem("item_blink");
            Dagon = me.GetDagon();
            Hex = me.FindItem("item_sheepstick");
            Soulring = me.FindItem("item_soul_ring");
            Ethereal = me.FindItem("item_ethereal_blade");
            Veil = me.FindItem("item_veil_of_discord");
            Orchid = me.FindItem("item_orchid");
            Shiva = me.FindItem("item_shiva");

            // Manacost calculations
            var manaForCombo = Laser.ManaCost + Rocket.ManaCost;
            if (Dagon != null && Dagon.CanBeCasted())
                manaForCombo += 180;
            if (Hex != null && Hex.CanBeCasted())
                manaForCombo += 100;
            if (Ethereal != null && Ethereal.CanBeCasted())
                manaForCombo += 150;
            if (Veil != null && Veil.CanBeCasted())
                manaForCombo += 50;

            // Main combo
            if (active && toggle)
            {
                target = me.ClosestToMouseTarget(1000);
                if (target != null && target.IsAlive && !target.IsIllusion && !target.IsMagicImmune() && Utils.SleepCheck("refresh") && !Refresh.IsChanneling)
                {
                    if (Soulring != null && me.Mana < manaForCombo && Soulring.CanBeCasted() && me.Health > 400 && Utils.SleepCheck("soulring"))
                    {
                        Soulring.UseAbility();
                        Utils.Sleep(150 + Game.Ping, "soulring");
                    }

                    // Blink
                    else if (Blink != null && Blink.CanBeCasted() && Utils.SleepCheck("blink"))
                    {
                        Utils.Sleep(300 + Game.Ping, "blink");
                        Utils.ChainStun(me, me.GetTurnTime(target) * 1000 + Game.Ping, null, false);
                        Blink.UseAbility(target.Position);
                    }

                    // Items
                    else if (Veil != null && Veil.CanBeCasted() && Utils.SleepCheck("veil"))
                    {
                        Veil.UseAbility(target.Position);
                        Utils.Sleep(150 + Game.Ping, "veil");
                        Utils.Sleep(300 + Game.Ping, "ve");
                        Utils.ChainStun(me, 170 + Game.Ping, null, false);
                    }

                    else if (Hex != null && Hex.CanBeCasted() && Utils.SleepCheck("hex"))
                    {
                        Hex.UseAbility(target);
                        Utils.Sleep(150 + Game.Ping, "hex");
                        Utils.Sleep(300 + Game.Ping, "h");
                        Utils.ChainStun(me, 170 + Game.Ping, null, false);
                    }

                    else if (Ethereal != null && Ethereal.CanBeCasted() && Utils.SleepCheck("ethereal"))
                    {
                        Ethereal.UseAbility(target);
                        Utils.Sleep(270 + Game.Ping, "ethereal");
                        Utils.ChainStun(me, 200 + Game.Ping, null, false);
                    }

                    else if (Dagon != null && Dagon.CanBeCasted() && Utils.SleepCheck("ethereal") && Utils.SleepCheck("h") && Utils.SleepCheck("dagon") && Utils.SleepCheck("veil"))
                    {
                        Dagon.UseAbility(target);
                        Utils.Sleep(270 + Game.Ping, "dagon");
                        Utils.ChainStun(me, 200 + Game.Ping, null, false);
                    }

                    // Skills
                    else if (Rocket != null && Rocket.CanBeCasted() && Utils.SleepCheck("rocket") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("veil"))
                    {
                        Rocket.UseAbility();
                        Utils.Sleep(150 + Game.Ping, "rocket");
                        Utils.ChainStun(me, 150 + Game.Ping, null, false);
                    }

                    else if (Laser != null && Laser.CanBeCasted() && Utils.SleepCheck("laser") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("rocket"))
                    {
                        Laser.UseAbility(target);
                        Utils.Sleep(150 + Game.Ping, "laser");
                        Utils.ChainStun(me, 150 + Game.Ping, null, false);
//.........这里部分代码省略.........
开发者ID:Malicy,项目名称:EnsageSharp,代码行数:101,代码来源:Program.cs

示例15: Game_OnUpdate


//.........这里部分代码省略.........
                        catch (Exception)
                        {

                        }
                    }
                    /*if (t.DayVision == 0 && !find)
                    {
                        Bara = t;
                        find = true;
                        BaraStartPos=Bara.Position;
                    }
                    else if (!find)
                    {
                        Bara = null;
                        BaraStartPos=new Vector3(0,0,0);
                    }*/
                }
            }

            #endregion

            #region ShowRoshanTimer

            if (ShowRoshanTimer)
            {
                var tickDelta = Game.GameTime - _deathTime;
                _roshanMinutes = Math.Floor(tickDelta / 60);
                _roshanSeconds = tickDelta % 60;
                var roshan =
                    ObjectMgr.GetEntities<Unit>()
                        .FirstOrDefault(unit => unit.ClassID == ClassID.CDOTA_Unit_Roshan && unit.IsAlive);
                if (roshan != null)
                {
                    _roshIsAlive = true;
                    //RoshanMinutes = 0;
                    //RoshanSeconds = 0;
                    //DeathTime = 0;
                }
            }

            #endregion

            #region ShowIllusions

            if (ShowIllusions)
            {
                var illusions = ObjectMgr.GetEntities<Hero>()
                    .Where(
                        x =>
                            x.IsIllusion && x.Team != _me.Team);
                foreach (var s in illusions)
                {
                    HandleEffect(s);
                }
            }

            #endregion
            return;
            #region AutoItems

            if (!AutoItemsActive || !Utils.SleepCheck("AutoItems")) return;
            if (AutoItemsMidas)
            {
                var midas = _me.FindItem("item_hand_of_midas");
                if (midas != null && midas.CanBeCasted() && !_me.IsInvisible())
                {
                    var creep =
                        ObjectMgr
                            .GetEntities<Unit>(
                            ).FirstOrDefault(x => ((x is Hero && !x.IsIllusion) || (x is Creep && x.IsSpawned)) && x.IsAlive &&
                                                  x.IsVisible && _me.Distance2D(x) <= midas.CastRange && x.Team != _me.Team);
                    midas.UseAbility(creep);
                    Utils.Sleep(250, "AutoItems");
                    //PrintError("midas.CastRange: " + midas.CastRange);
                }
            }
            if (AutoItemsPhase)
            {
                var phase = _me.FindItem("item_phase_boots");
                if (phase != null && phase.CanBeCasted() && !_me.IsAttacking() && !_me.IsInvisible())
                {
                    phase.UseAbility();
                    Utils.Sleep(250, "AutoItems");
                }
            }
            if (!AutoItemsStick) return;
            var stick = _me.FindItem("item_magic_stick");
            var wand = _me.FindItem("item_magic_wand");
            if (_me.Health * 100 / _me.MaximumHealth > 30 || !_me.IsAlive) return;
            if (stick != null && stick.CanBeCasted() && !_me.IsInvisible())
            {
                stick.UseAbility();
                Utils.Sleep(250, "AutoItems");
            }
            if (wand == null || !wand.CanBeCasted()) return;
            wand.UseAbility();
            Utils.Sleep(250, "AutoItems");

            #endregion
        }
开发者ID:kobra322,项目名称:EnsageSharp-1,代码行数:101,代码来源:Program.cs


注:本文中的Hero.FindItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。