public static void Handle(Entities.GameClient client, DataPacket packet) { Console.WriteLine("TYPE: {0}", packet.ReadByte(4)); if (packet.ReadByte(4) > 2) { string[] Strings = StringPacker.Analyze(packet, 12); if (Strings != null) { if (Strings.Length > 0) { if (client.CPs >= 5) { client.CPs -= 5; Threads.BroadcastThread.AddBroadcast(Packets.Message.MessageCore.CreateBroadcast(client.Name, Strings[0])); } } } } }
/// <summary> /// Analyzes a stringpacker within a packet. /// </summary> /// <param name="Packet">The packet.</param> /// <param name="offset">The offset.</param> /// <returns>Returns the strings.</returns> public static string[] Analyze(DataPacket Packet, int offset) { int count = Packet.ReadByte(offset); offset++; string[] strings = new string[count]; for (int i = 0; i < count; i++) { strings[i] = Packet.ReadStringFromLength(offset, out offset); } return strings; }
public GuildPacket(DataPacket inPacket) : base(inPacket) { if (inPacket.ReadByte(24) > 0) Strings = StringPacker.Analyze(this, 24); }