Advertisement
Guest User

Untitled

a guest
May 25th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
BNF 1.84 KB | None | 0 0
  1. public enum ArenaIDS : uint
  2.        {
  3.        ShowPlayerRankList=0xA,
  4.          QualifierList=0x6
  5.        }
  6.  
  7. public class WinnerList
  8.     {
  9.         public ushort Size;
  10.         public ushort Type;
  11.         public ArenaIDS ID;
  12.         public List<PlayerStatistcs> Players = new List<PlayerStatistcs>();
  13.  
  14.         public byte[] BuildPacket()
  15.         {
  16.             MemoryStream strm = new MemoryStream();
  17.             BinaryWriter wtr = new BinaryWriter(strm);
  18.  
  19.             wtr.Write((ushort)0);
  20.             wtr.Write((ushort)2208);
  21.             wtr.Write((uint)ID);
  22.             foreach (PlayerStatistcs entry in Players)
  23.             {
  24.                 wtr.Write((uint)entry.PlayerID);
  25.                
  26.                 for (int i = 0; i < 16; i++)
  27.                 {
  28.                     if (i < entry.Name.Length)
  29.                     {
  30.                         wtr.Write((byte)entry.Name[i]);
  31.                     }
  32.                     else
  33.                         wtr.Write((byte)0);
  34.                 }
  35.                 wtr.Write((uint)entry.Avatar);
  36.                 wtr.Write((uint)entry.Level);
  37.                 wtr.Write((uint)entry.Job);
  38.                 wtr.Write((uint)entry.Rank);
  39.                 wtr.Write((uint)entry.ArenaPoint);
  40.                 wtr.Write((uint)entry.WinsToday);
  41.                 wtr.Write((uint)(entry.MatchesToday - entry.WinsToday));
  42.                
  43.                
  44.             }
  45.             int packetlength = (int)strm.Length;
  46.             strm.Position = 0;
  47.             wtr.Write((ushort)packetlength);
  48.             strm.Position = strm.Length;
  49.             wtr.Write(ASCIIEncoding.ASCII.GetBytes("TQServer"));
  50.             strm.Position = 0;
  51.             byte[] buf = new byte[strm.Length];
  52.             strm.Read(buf, 0, buf.Length);
  53.             wtr.Close();
  54.             strm.Close();
  55.             return buf;
  56.         }
  57.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement