using System; namespace PlayConquer.Network.GamePackets { public class CharacterInfo : Writer, Interfaces.IPacket { Client.GameState client; public CharacterInfo(Client.GameState _client) { client = _client; } public void Deserialize(byte[] buffer) { throw new NotImplementedException(); } public byte[] ToArray() { byte[] Packet = new byte[144 + client.Entity.Spouse.Length + client.Entity.Name.Length + 8]; WriteUInt16((ushort)(Packet.Length - 8), 0, Packet); WriteUInt16(1006, 2, Packet); WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4, Packet); WriteUInt32(client.Entity.UID, 8, Packet); WriteUInt32(client.Entity.Mesh, 14, Packet); WriteUInt16(client.Entity.HairStyle, 18, Packet); Write(client.Entity.Money, 20, Packet); Write(client.Entity.ConquerPoints, 28, Packet); Writer.Write(client.Entity.Experience, 32, Packet); Writer.Write(client.Entity.Strength, 60, Packet); Writer.Write(client.Entity.Agility, 62, Packet); Writer.Write(client.Entity.Vitality, 64, Packet); Writer.Write(client.Entity.Spirit, 66, Packet); Writer.Write(client.Entity.Atributes, 68, Packet); Write(client.Entity.Hitpoints, 70, Packet); Writer.Write(client.Entity.Mana, 74, Packet); Writer.Write(client.Entity.PKPoints, 72, Packet); Packet[78] = client.Entity.Level; Packet[79] = client.Entity.Class; Packet[80] = client.Entity.FirstRebornClass; Packet[81] = client.Entity.SecondRebornClass; Packet[83] = client.Entity.Reborn; Writer.Write(client.Entity.Windwalker, 89, Packet); Writer.Write((ushort)(client.Entity.EnlightenPoints * 100), 93, Packet); Write(client.Entity.BoundCps, 107, Packet); Write(client.Entity.SubClasses.Active, 111, Packet); Write(client.Entity.SubClasses.GetHashPoint(), 112, Packet); Writer.Write((UInt16)client.Entity.MyTitle, 103, Packet); Writer.Write((ushort)client.Entity.CountryID, 124, Packet); Writer.Write(3, 130 + 8, Packet); Packet[139] = (byte)client.Entity.Name.Length; Writer.Write(client.Entity.Name, 140, Packet); Writer.Write((byte)client.Entity.Spouse.Length, 141 + client.Entity.Name.Length, Packet); Writer.Write(client.Entity.Spouse, 142 + client.Entity.Name.Length, Packet); return Packet; } public void Send(Client.GameState client) { client.Send(ToArray()); } } }
using System; using PlayConquer; using PlayConquer.Client; using PlayConquer.Network; namespace PlayConquer.Network.GamePackets { public class WindowsStats : Writer, Interfaces.IPacket { byte[] array; public WindowsStats(Client.GameState client) { array = new Byte[144 + 8]; Writer.Write((UInt16)(array.Length - 8), 0, array); Writer.Write((UInt16)1040, 2, array); Writer.Write((UInt32)Time32.timeGetTime().GetHashCode(), 4, array); Writer.Write(client.Entity.UID, 8, array); Writer.Write(client.Entity.MaxHitpoints, 12, array); Writer.Write((UInt32)client.Entity.MaxMana, 16, array); Writer.Write((UInt32)client.Entity.MaxAttack, 20, array); Writer.Write((UInt32)client.Entity.MinAttack, 24, array); Writer.Write((UInt32)client.Entity.Defence, 28, array); Writer.Write((UInt32)client.Entity.MagicAttack, 32, array); Writer.Write((UInt32)client.Entity.MagicDefence, 36, array); Writer.Write((UInt32)client.Entity.Dodge, 40, array); Writer.Write((UInt32)client.Entity.Agility + client.Entity.HitRate, 44, array); Writer.Write((UInt32)(client.Entity.Accuracy), 48, array); Writer.Write((UInt32)(client.Entity.Gems[1]), 52, array); Writer.Write((UInt32)(client.Entity.Gems[0]), 56, array); Writer.Write((UInt32)(client.Entity.MagicDefencePercent), 60, array); Writer.Write((UInt32)(client.Entity.Gems[7]), 64, array); Writer.Write((UInt32)((1 - client.Entity.ItemBless) * 100), 68, array); Writer.Write((UInt32)client.Entity.CriticalStrike, 72, array); Writer.Write((UInt32)client.Entity.SkillCStrike, 76, array); Writer.Write((UInt32)client.Entity.Immunity, 80, array); Writer.Write((UInt32)client.Entity.Penetration, 84, array); Writer.Write((UInt32)client.Entity.Block, 88, array); Writer.Write((UInt32)client.Entity.Breaktrough, 92, array); Writer.Write((UInt32)client.Entity.Counteraction, 96, array); Writer.Write((UInt32)client.Entity.Detoxication, 100, array); Writer.Write((UInt32)client.Entity.PhysicalDamageIncrease, 104, array); Writer.Write((UInt32)client.Entity.MagicDamageIncrease, 108, array); Writer.Write((UInt32)client.Entity.PhysicalDamageDecrease, 112, array); Writer.Write((UInt32)client.Entity.MagicDamageDecrease, 116, array); Writer.Write((UInt32)client.Entity.MetalResistance, 120, array); Writer.Write((UInt32)client.Entity.WoodResistance, 124, array); Writer.Write((UInt32)client.Entity.WaterResistance, 128, array); Writer.Write((UInt32)client.Entity.FireResistance, 132, array); Writer.Write((UInt32)client.Entity.EarthResistance, 136, array); Writer.Write((UInt16)client.Equipment.TotalStars, 140, array); } public void Send(Client.GameState client) { client.Send(array); } public byte[] ToArray() { return array; } public void Deserialize(byte[] buffer) { array = buffer; } } }