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


C# BaseAI.DoMove方法代码示例

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


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

示例1: OnTarget

        protected override void OnTarget( Mobile from, object target )
        {
            if( target is BaseCreature )
            {
                BaseCreature pet = (BaseCreature)target;
                m_ai = pet.AIObject;

                if( pet.Body.IsHuman )
                    from.SendMessage("The person looks at you in disgust.");
                else if( pet.ControlMaster != from )
                    from.SendMessage("That is not your pet.");
                else if( pet.Combatant != null && pet.InRange(pet.Combatant, 12) )
                    from.SendMessage("You cannot do that while your pet is fighting.");
                else if( pet.Controlled == true && pet.ControlMaster == from )
                {
                    if( Utility.Random(15) == 1 )
                    {
                        m_ai.DoMove(Direction.South);
                        m_ai.DoMove(Direction.South);
                        m_ai.DoMove(Direction.East);
                        m_ai.DoMove(Direction.South);
                        m_ai.NextMove = DateTime.Now;

                        from.SendMessage("Your pet shies away from the rope.");
                        pet.PlaySound(pet.GetAngerSound());
                    }
                    else
                    {
                        if( pet.Blessed == false )
                        {
                            pet.Blessed = true;
                            pet.CantWalk = true;
                            pet.ControlOrder = OrderType.Stay;
                            pet.Combatant = null;
                            pet.Loyalty = 85;

                            from.LocalOverheadMessage(MessageType.Regular, from.EmoteHue, false, "*attaches the rope to the animal*");
                            from.Backpack.ConsumeTotal(typeof(HitchingRope), 1);
                            from.SendMessage("Your pet has been hitched to the post.");
                        }
                    }
                }
            }
        }
开发者ID:greeduomacro,项目名称:hubroot,代码行数:44,代码来源:PostToPetTarget.cs

示例2: OnResponse

		public override void OnResponse( NetState state, RelayInfo info )
		{
			Mobile from = state.Mobile;
			BaseCreature toMobile = m_to;

			if( toMobile.Alive )
			{
				m_ai = toMobile.AIObject;

				if( m_ai == null )
				{
					from.SendMessage( "Mobile AI is null or unavailable. Unable to process with this item." );
					return;
				}

				toMobile.CantWalk = false;

				m_ai.NextMove = DateTime.Now + TimeSpan.FromSeconds( 60 );
				DateTime delay = DateTime.Now + TimeSpan.FromSeconds( 60 );

				if( info.ButtonID == 0 )
				{
					from.SendMessage( "You finish controlling " + toMobile.Name );
					m_ai.NextMove = DateTime.Now;
				}

				if( info.ButtonID == 1 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.North );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 2 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.East );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 3 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.South );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 4 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.West );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 5 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.Up );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 6 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.Right );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 7 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.Down );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 8 )
				{
					m_ai.NextMove = DateTime.Now;
					m_ai.DoMove( Direction.Left );
					m_ai.NextMove = delay;
					from.SendGump( new CreatureControl( toMobile, from ) );
				}

				if( info.ButtonID == 9 )
				{
					from.SendMessage( "Who would you like this creature to attack?" );
					from.Target = new CombatTarget( m_ai, toMobile );
				}
			}

		}
开发者ID:greeduomacro,项目名称:hubroot,代码行数:98,代码来源:CreatureController.cs


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