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


C# Packet.AddShort方法代码示例

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


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

示例1: HandleMessage

        public static void HandleMessage(Packet packet, IClient client, bool fromQueue)
        {
            Packet reply = new Packet(PacketFamily.Welcome, PacketAction.Reply);

            client.EnterGame();
            client.Character.Map.Enter(client.Character, WarpAnimation.Admin);

            reply.AddShort((short)WelcomeReply.WorldInfo);
            reply.AddBreak();

            for (int i = 0; i < 9; ++i)
            {
                reply.AddBreakString("A");
            }

            reply.AddChar(client.Character.Weight); // Weight
            reply.AddChar(client.Character.MaxWeight); // Max Weight

            // Inventory
            foreach (ItemStack item in client.Character.Items)
            {
                reply.AddShort(item.Id);
                reply.AddInt(item.Amount);
            }
            reply.AddBreak();

            // Spells
            reply.AddBreak();

            IEnumerable<Character> characters = client.Character.GetInRange<Character>();
            IEnumerable<NPC> npcs = client.Character.GetInRange<NPC>();
            IEnumerable<MapItem> items = client.Character.GetInRange<MapItem>();

            reply.AddChar((byte)characters.Count());
            reply.AddBreak();

            // Characters
            // {
            foreach (Character character in characters)
            {
                character.InfoBuilder(ref reply);
                reply.AddBreak();
            }
            // }

            // NPCs
            foreach (NPC npc in npcs)
            {
                npc.InfoBuilder(ref reply);
            }
            reply.AddBreak();

            // Items
            foreach (MapItem item in items)
            {
                item.InfoBuilder(ref reply);
            }

            client.Send(reply);
        }
开发者ID:Bart97,项目名称:BeemuSharp,代码行数:60,代码来源:Welcome.cs

示例2: AccountCreate

        public bool AccountCreate(string uName, string pass, string realName, string location, string email, string HDDSerial, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Create);
            //eoserv doesn't care...
            builder.AddShort(1337);
            builder.AddByte(42);

            builder.AddBreakString(uName);
            builder.AddBreakString(pass);
            builder.AddBreakString(realName);
            builder.AddBreakString(location);
            builder.AddBreakString(email);
            builder.AddBreakString(System.Net.Dns.GetHostName());
            builder.AddBreakString(HDDSerial);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
                return false;

            result = m_account_reply;

            return true;
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:26,代码来源:Account.cs

示例3: _warpAccept

		private void _warpAccept(short mapID)
		{
			if (!m_client.ConnectedAndInitialized) return;

			Packet builder = new Packet(PacketFamily.Warp, PacketAction.Accept);
			builder.AddShort(mapID);

			m_client.SendPacket(builder);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:9,代码来源:Warp.cs

示例4: ConfirmInit

        /// <summary>
        /// Confirms initialization with server
        /// </summary>
        /// <param name="SendMulti">Multiplier for send (encrypt multi)</param>
        /// <param name="RecvMulti">Multiplier for recv (decrypt multi)</param>
        /// <param name="clientID">Connection identifier</param>
        /// <returns>True on successful send operation</returns>
        public bool ConfirmInit(byte SendMulti, byte RecvMulti, short clientID)
        {
            if (!m_client.ConnectedAndInitialized)
                return false;

            Packet confirm = new Packet(PacketFamily.Connection, PacketAction.Accept);
            confirm.AddShort(SendMulti);
            confirm.AddShort(RecvMulti);
            confirm.AddShort(clientID);

            if (m_client.SendPacket(confirm))
            {
                Initialized = true;
                return true;
            }

            return false;
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:25,代码来源:Connection.cs

示例5: RequestShop

		public bool RequestShop(short npcIndex)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet pkt = new Packet(PacketFamily.Shop, PacketAction.Open);
			pkt.AddShort(npcIndex);

			return m_client.SendPacket(pkt);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:10,代码来源:Shop.cs

示例6: TradeRemoveItem

		/// <summary>
		/// Remove an item from a pending trade offer
		/// </summary>
		/// <param name="itemID">Item ID of the item to remove</param>
		public bool TradeRemoveItem(short itemID)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet pkt = new Packet(PacketFamily.Trade, PacketAction.Remove);
			pkt.AddShort(itemID);

			return m_client.SendPacket(pkt);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:14,代码来源:Trade.cs

示例7: BankOpen

        public bool BankOpen(short npcIndex)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized || npcIndex < 0)
                return false;

            Packet pkt = new Packet(PacketFamily.Bank, PacketAction.Open);
            pkt.AddShort(npcIndex);

            return m_client.SendPacket(pkt);
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:10,代码来源:Bank.cs

示例8: TradeAcceptRequest

		/// <summary>
		/// Accept another players request for trade
		/// </summary>
		/// <param name="characterID">ID of the other player's character</param>
		public bool TradeAcceptRequest(short characterID)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet pkt = new Packet(PacketFamily.Trade, PacketAction.Accept);
			pkt.AddChar(123); //?
			pkt.AddShort(characterID);

			return m_client.SendPacket(pkt);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:15,代码来源:Trade.cs

示例9: BuyItem

		/// <summary>
		/// Buy an item from a shopkeeper
		/// </summary>
		public bool BuyItem(short ItemID, int amount)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet pkt = new Packet(PacketFamily.Shop, PacketAction.Buy);
			pkt.AddShort(ItemID);
			pkt.AddInt(amount);

			return m_client.SendPacket(pkt);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:14,代码来源:Shop.cs

示例10: PrepareCastSpell

		public bool PrepareCastSpell(short spellID)
		{
			if (spellID < 0) return false; //integer overflow resulted in negative number - server expects ushort

			if (!Initialized || !m_client.ConnectedAndInitialized) return false;

			Packet pkt = new Packet(PacketFamily.Spell, PacketAction.Request);
			pkt.AddShort(spellID);
			pkt.AddThree(DateTime.Now.ToEOTimeStamp());

			return m_client.SendPacket(pkt);
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:12,代码来源:Spell.cs

示例11: LockerTakeItem

        /// <summary>
        /// Withdraw an item from your private locker
        /// </summary>
        public bool LockerTakeItem(byte x, byte y, short id)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet pkt = new Packet(PacketFamily.Locker, PacketAction.Take);
            pkt.AddChar(x);
            pkt.AddChar(y);
            pkt.AddShort(id);

            return m_client.SendPacket(pkt);
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:15,代码来源:Locker.cs

示例12: ChestAddItem

        public bool ChestAddItem(byte x, byte y, short itemID, int amount)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet pkt = new Packet(PacketFamily.Chest, PacketAction.Add);
            pkt.AddChar(x);
            pkt.AddChar(y);
            pkt.AddShort(itemID);
            pkt.AddThree(amount);

            return m_client.SendPacket(pkt);
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:13,代码来源:Chest.cs

示例13: HandleRequest

        public static void HandleRequest(Packet packet, IClient client, bool fromQueue)
        {
            short count = (short)client.Server.Characters.Count;
            // TODO: Don't list hidden admins

            Packet reply = new Packet(PacketFamily.Init, PacketAction.Init);
            reply.AddChar((byte)EO.InitReply.Players);
            reply.AddShort(count);
            reply.AddBreak();

            foreach (Character character in client.Server.Characters)
            {
                reply.AddBreakString(character.Name);
                reply.AddBreakString(character.Title ?? "");
                reply.AddChar(0); // What's this?
                reply.AddChar((byte)EO.PaperdollIcon.HGM);
                reply.AddChar((byte)character.ClassId);
                reply.AddString("TAG");
                reply.AddBreak();
            }
            client.Send(reply);
        }
开发者ID:Bart97,项目名称:BeemuSharp,代码行数:22,代码来源:Players.cs

示例14: PingServer

        public bool PingServer()
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            if(requests == null)
                 requests = new Dictionary<short, DateTime>();
            if(gen == null)
                gen = new Random();

            short nextReq;
            do
            {
                nextReq = (short)gen.Next(ushort.MinValue, short.MaxValue - 1);
            } while (requests.ContainsKey(nextReq));

            Packet pkt = new Packet(PacketFamily.Message, PacketAction.Ping);
            pkt.AddShort(nextReq);

            requests.Add(nextReq, DateTime.Now);
            return m_client.SendPacket(pkt);
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:22,代码来源:Message.cs

示例15: GetItem

        /// <summary>
        /// Pick up the item with the specified UID
        /// </summary>
        public bool GetItem(short uid)
        {
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet pkt = new Packet(PacketFamily.Item, PacketAction.Get);
            pkt.AddShort(uid);

            return m_client.SendPacket(pkt);
        }
开发者ID:Vulttwin,项目名称:EndlessClient,代码行数:13,代码来源:Item.cs


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