[Release] Enemy packet structure

05/06/2011 18:07 12tails#1
yo!

at the current patch the enemies aren't send by the friends packet, its a packet with ID 1041...
here is the struct/packet:

Code:
                        case 1041:
                        {
                            MemoryStream Stream = new MemoryStream();
                            BinaryWriter Writer = new BinaryWriter(Stream);

                            Writer.Write((ushort)0);
                            Writer.Write((ushort)1041);
                            Writer.Write((uint)CSocket.Client.UID);
                            Writer.Write((uint)CSocket.Client.Enemies.Count);
                            Writer.Write((uint)0);
                            Dictionary<uint, string> _Enemies = CSocket.Client.Enemies;
                            foreach (uint value in _Enemies.Keys)
                            {
                                Writer.Write((uint)value);
                                Writer.Write((uint)0);
                                Writer.Write((uint)(Server.Pool.ContainsKey(value) ? 1 : 0));
                                for (byte i = 0; i < 16; i++)
                                {
                                    if (i < _Enemies[value].Length)
                                        Writer.Write((byte)_Enemies[value][i]);
                                    else Writer.Write((byte)0);
                                }
                                Writer.Write((byte)0);
                                Writer.Write((byte)0);
                                Writer.Write((byte)0);
                                Writer.Write((byte)0);
                            }
                            long lenght = Stream.Length;
                            Stream.Position = 0;
                            Writer.Write((ushort)lenght);
                            Stream.Position = Stream.Length;
                            Writer.Write(ASCIIEncoding.ASCII.GetBytes(Server.MainKey));
                            Stream.Position = 0;
                            byte[] buf = new byte[Stream.Length];
                            Stream.Read(buf, 0, buf.Length);
                            Writer.Close();
                            Stream.Close();
                            CSocket.Send(buf);
                            break;
                        }
best regards :P
05/06/2011 20:30 dego4ever#2
keep it up
05/08/2011 09:25 Takashipvp#3
nice work keep it up :D