예제 #1
0
        public AccountLoginAck( ServerInfo[] info )
            : base(0xA8)
        {
            this.EnsureCapacity( 6 + (info.Length * 40) );

            m_Stream.Write( (byte) 0x5D ); // Unknown

            m_Stream.Write( (ushort) info.Length );

            for ( int i = 0; i < info.Length; ++i )
            {
                ServerInfo si = info[i];

                m_Stream.Write( (ushort) i );
                m_Stream.WriteAsciiFixed( si.Name, 32 );
                m_Stream.Write( (byte) si.FullPercent );
                m_Stream.Write( (sbyte) si.TimeZone );
                m_Stream.Write( (int) si.Address.Address.Address );
            }
        }
예제 #2
0
        public PlayServerAck( ServerInfo si )
            : base(0x8C, 11)
        {
            int addr = (int)si.Address.Address.Address;

            m_Stream.Write( (byte) addr );
            m_Stream.Write( (byte)(addr >> 8) );
            m_Stream.Write( (byte)(addr >> 16) );
            m_Stream.Write( (byte)(addr >> 24) );

            m_Stream.Write( (short) si.Address.Port );
            m_Stream.Write( (int) m_AuthID );
        }
예제 #3
0
		public PlayServerAck(ServerInfo si)
			: base(0x8C, 11)
		{
			int addr = Utility.GetAddressValue(si.Address.Address);

			m_Stream.Write((byte)addr);
			m_Stream.Write((byte)(addr >> 8));
			m_Stream.Write((byte)(addr >> 16));
			m_Stream.Write((byte)(addr >> 24));

			m_Stream.Write((short)si.Address.Port);
			m_Stream.Write(m_AuthID);
		}
예제 #4
0
		public PlayServerAck( ServerInfo si ) : base( 0x8C, 11 )
		{
			m_Stream.Write(si.Address.Address.GetAddressBytes(), 0, 4);
			m_Stream.Write( (short) si.Address.Port );
			m_Stream.Write( (int) m_AuthID );
		}