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


C# Packet.AddThree方法代码示例

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


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

示例1: AttackUse

		public bool AttackUse(EODirection direction)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized) return false;

			Packet pkt = new Packet(PacketFamily.Attack, PacketAction.Use);
			pkt.AddChar((byte)direction);
			pkt.AddThree(DateTime.Now.ToEOTimeStamp());

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

示例2: 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

示例3: 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

示例4: PlayerWalk

		public bool PlayerWalk(EODirection dir, byte destX, byte destY, bool admin = false)
		{
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet builder = new Packet(PacketFamily.Walk, admin ? PacketAction.Admin : PacketAction.Player);
				//change family/action
			builder.AddChar((byte) dir);
			builder.AddThree(DateTime.Now.ToEOTimeStamp());
			builder.AddChar(destX);
			builder.AddChar(destY);

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

示例5: HandleRequest

        public static void HandleRequest(Packet packet, IClient client, bool fromQueue)
        {
            int id = packet.GetInt();

            if (id < 0 || id > client.Account.Characters.Count)
                throw new ArgumentOutOfRangeException("Login character ID out of range");

            client.SelectCharacter(client.Account.Characters[id]);

            Packet reply = new Packet(PacketFamily.Welcome, PacketAction.Reply);

            reply.AddShort((short)WelcomeReply.CharacterInfo);
            reply.AddShort((short)client.Id);
            reply.AddInt(id);
            reply.AddShort((short)client.Character.Map.Data.Id);

            reply.AddBytes(client.Character.Map.Data.RevisionID);
            reply.AddThree((int)client.Character.Map.Data.PubFileLength);

            reply.AddBytes(client.Server.ItemData.revisionId);
            reply.AddShort((short)client.Server.ItemData.Count);

            reply.AddBytes(client.Server.NpcData.revisionId);
            reply.AddShort((short)client.Server.NpcData.Count);

            reply.AddBytes(client.Server.SpellData.revisionId);
            reply.AddShort((short)client.Server.SpellData.Count);

            reply.AddBytes(client.Server.ClassData.revisionId);
            reply.AddShort((short)client.Server.ClassData.Count);

            reply.AddBreakString(client.Character.Name);
            reply.AddBreakString(client.Character.Title ?? "");

            reply.AddBreakString("Guild Name");
            reply.AddBreakString("Guild Rank");

            reply.AddChar(0); // Class
            reply.AddString("TAG"); // Guild tag
            reply.AddChar((byte)client.Character.Admin);

            reply.AddChar(client.Character.Level); // Level
            reply.AddInt(client.Character.Exp); // Exp
            reply.AddInt(client.Character.Usage); // Usage

            reply.AddShort(client.Character.Hp); // HP
            reply.AddShort(client.Character.MaxHp); // MaxHP
            reply.AddShort(client.Character.Tp); // TP
            reply.AddShort(client.Character.MaxTp); // MaxTP
            reply.AddShort(client.Character.MaxSp); // MaxSP
            reply.AddShort(client.Character.StatPoints); // StatPts
            reply.AddShort(client.Character.SkillPoints); // SkillPts
            reply.AddShort(client.Character.Karma); // Karma
            reply.AddShort(client.Character.MinDamage); // MinDam
            reply.AddShort(client.Character.MaxDamage); // MaxDam
            reply.AddShort(client.Character.Accuracy); // Accuracy
            reply.AddShort(client.Character.Evade); // Evade
            reply.AddShort(client.Character.Defence); // Armor

            reply.AddShort(client.Character.Strength); // Str
            reply.AddShort(client.Character.Wisdom); // Wis
            reply.AddShort(client.Character.Intelligence); // Int
            reply.AddShort(client.Character.Agility); // Agi
            reply.AddShort(client.Character.Constitution); // Con
            reply.AddShort(client.Character.Charisma); // Cha

            // Inventory
            reply.AddBreak();

            reply.AddChar(1); // Guild Rank

            reply.AddShort(2); // Jail map
            reply.AddShort(4); // ?
            reply.AddChar(24); // ?
            reply.AddChar(24); // ?
            reply.AddShort(10); // ?
            reply.AddShort(10); // ?
            reply.AddShort(0); // Admin command flood rate
            reply.AddShort(2); // ?
            reply.AddChar(0); // Login warning message
            reply.AddBreak();

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

示例6: Initialize

        private bool Initialize(byte[] versionNumber, string hdSerialNum, out InitData data)
        {
            Initialized = false;
            data = new InitData();
            if (!m_client.ConnectedAndInitialized || versionNumber.Length != 3 || hdSerialNum.Length == 0)
            {
                return false;
            }

            Packet builder = new Packet(PacketFamily.Init, PacketAction.Init);

            builder.AddThree(Hashes.stupid_hash(new Random().Next(6, 12)));

            builder.AddChar(versionNumber[0]);
            builder.AddChar(versionNumber[1]);
            builder.AddChar(versionNumber[2]); //client version
            builder.AddChar(112); //unknown
            builder.AddChar((byte)hdSerialNum.Length);
            builder.AddString(hdSerialNum);

            if (!m_client.SendRaw(builder))
                return false;

            if (!m_init_responseEvent.WaitOne(Constants.ResponseTimeout))
                return false;

            data = m_init_initData;

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

示例7: DoCastTargetSpell

		public bool DoCastTargetSpell(short spellID, bool targetIsNPC, short targetID)
		{
			if (spellID < 0 || targetID < 0) return false;

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

			Packet pkt = new Packet(PacketFamily.Spell, PacketAction.TargetOther);
			pkt.AddChar((byte)(targetIsNPC ? 2 : 1));
			pkt.AddChar(1); //unknown value
			pkt.AddShort(1); //unknown value
			pkt.AddShort(spellID);
			pkt.AddShort(targetID);
			pkt.AddThree(DateTime.Now.ToEOTimeStamp());

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

示例8: DoCastGroupSpell

		public bool DoCastGroupSpell(short spellID)
		{
			if (spellID < 0) return false;

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

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

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

示例9: WelcomeMessage

		public bool WelcomeMessage(int id, out WelcomeMessageData data)
		{
			data = null;
			if (!m_client.ConnectedAndInitialized || !Initialized)
				return false;

			Packet builder = new Packet(PacketFamily.Welcome, PacketAction.Message);
			builder.AddThree(0x00123456); //?
			builder.AddInt(id);

			if (!m_client.SendPacket(builder))
				return false;

			if (!m_welcome_responseEvent.WaitOne(Constants.ResponseTimeout))
				return false;

			data = m_welcome_messageData;
			m_client.IsInGame = true;

			return true;
		}
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:21,代码来源:Welcome.cs

示例10: Save

		public void Save(string fileName)
		{
			Packet file = new Packet(PacketFamily.Internal, PacketAction.Server) {ReadPos = 0, WritePos = 0};

			//map header
			file.AddString("EMF");
			file.AddBytes(Rid);

			byte[] tmpName = _encodeMapString(Name);
			byte[] rawName = new byte[24];
			for (int i = rawName.Length - 1; i >= 0; --i) rawName[i] = 0xFF;
			Array.Copy(tmpName, 0, rawName, rawName.Length - tmpName.Length, tmpName.Length);
			file.AddBytes(rawName);

			file.AddChar(pkByte);
			file.AddChar((byte)Effect);
			file.AddChar(Music);
			file.AddChar(MusicExtra);
			file.AddShort(AmbientNoise);
			file.AddChar(Width);
			file.AddChar(Height);
			file.AddShort(FillTile);
			file.AddChar(availByte);
			file.AddChar(scrollByte);
			file.AddChar(RelogX);
			file.AddChar(RelogY);
			file.AddChar(Unknown2);

			//NPC Spawns
			file.AddChar((byte)NPCSpawns.Count);
			foreach (NPCSpawn spawn in NPCSpawns)
			{
				file.AddChar(spawn.x);
				file.AddChar(spawn.y);
				file.AddShort(spawn.id);
				file.AddChar(spawn.spawnType);
				file.AddShort(spawn.spawnTime);
				file.AddChar(spawn.amount);
			}

			//unknowns
			file.AddChar((byte)Unknowns.Count);
			foreach(byte[] b in Unknowns)
				file.AddBytes(b);

			//chests
			file.AddChar((byte)Chests.Count);
			foreach (MapChest chest in Chests)
			{
				file.AddChar(chest.x);
				file.AddChar(chest.y);
				file.AddShort((short)chest.key);
				file.AddChar(chest.slot);
				file.AddShort(chest.item);
				file.AddShort(chest.time);
				file.AddThree(chest.amount);
			}

			//tile specs
			file.AddChar((byte)TileRows.Count);
			foreach (TileRow tr in TileRows)
			{
				file.AddChar(tr.y);
				file.AddChar((byte)tr.tiles.Count);
				foreach (Tile tt in tr.tiles)
				{
					file.AddChar(tt.x);
					file.AddChar((byte)tt.spec);
				}
			}

			//warps
			file.AddChar((byte)WarpRows.Count);
			foreach (WarpRow wr in WarpRows)
			{
				file.AddChar(wr.y);
				file.AddChar((byte)wr.tiles.Count);
				foreach (Warp ww in wr.tiles)
				{
					file.AddChar(ww.x);
					file.AddShort(ww.warpMap);
					file.AddChar(ww.warpX);
					file.AddChar(ww.warpY);
					file.AddChar(ww.levelRequirement);
					file.AddShort((short)ww.door);
				}
			}

			//gfx
			for (int layer = 0; layer < (int) MapLayers.NUM_LAYERS; ++layer)
			{
				file.AddChar((byte)GfxRows[layer].Count);
				foreach (GFXRow row in GfxRows[layer])
				{
					file.AddChar(row.y);
					file.AddChar((byte)row.tiles.Count);
					foreach (GFX gfx in row.tiles)
					{
						file.AddChar(gfx.x);
						file.AddShort((short)gfx.tile);
//.........这里部分代码省略.........
开发者ID:weedindeed,项目名称:EndlessClient,代码行数:101,代码来源:Map.cs


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