示例#1
0
        public static LoginPacket Parse(NetworkMessage message)
        {
            LoginPacket packet = new LoginPacket();

            packet.Os      = message.GetUInt16(); // OS
            packet.Version = message.GetUInt16(); // version

            message.RSADecrypt();

            message.GetByte(); // should be zero

            packet.XteaKey    = new uint[4];
            packet.XteaKey[0] = message.GetUInt32();
            packet.XteaKey[1] = message.GetUInt32();
            packet.XteaKey[2] = message.GetUInt32();
            packet.XteaKey[3] = message.GetUInt32();

            packet.GmMode        = message.GetByte();
            packet.AccountName   = message.GetString();
            packet.CharacterName = message.GetString();
            packet.Password      = message.GetString();

            message.SkipBytes(6); // 841 specific (according to OT)

            return(packet);
        }
示例#2
0
        public static LoginPacket Parse(NetworkMessage message)
        {
            LoginPacket packet = new LoginPacket();
            packet.Os = message.GetUInt16(); // OS
            packet.Version = message.GetUInt16(); // version

            message.RSADecrypt();

            message.GetByte(); // should be zero

            packet.XteaKey = new uint[4];
            packet.XteaKey[0] = message.GetUInt32();
            packet.XteaKey[1] = message.GetUInt32();
            packet.XteaKey[2] = message.GetUInt32();
            packet.XteaKey[3] = message.GetUInt32();

            packet.GmMode = message.GetByte();
            packet.AccountName = message.GetString();
            packet.CharacterName = message.GetString();
            packet.Password = message.GetString();

            message.SkipBytes(6); // 841 specific (according to OT)

            return packet;
        }
示例#3
0
        public static VipRemovePacket Parse(NetworkMessage message)
        {
            VipRemovePacket p = new VipRemovePacket();

            p.Id = message.GetUInt32();
            return(p);
        }
示例#4
0
        public static AccountPacket Parse(NetworkMessage message)
        {
            AccountPacket packet = new AccountPacket();

            packet.Os      = message.GetUInt16(); // OS
            packet.Version = message.GetUInt16(); // version

            // File checks
            message.GetUInt32();
            message.GetUInt32();
            message.GetUInt32();

            message.RSADecrypt();

            message.GetByte(); // should be zero

            packet.XteaKey    = new uint[4];
            packet.XteaKey[0] = message.GetUInt32();
            packet.XteaKey[1] = message.GetUInt32();
            packet.XteaKey[2] = message.GetUInt32();
            packet.XteaKey[3] = message.GetUInt32();

            packet.AccountName = message.GetString(); // account name
            packet.Password    = message.GetString(); // password

            return(packet);
        }
        public static ItemUseBattlelistPacket Parse(NetworkMessage message)
        {
            ItemUseBattlelistPacket packet = new ItemUseBattlelistPacket();

            packet.FromLocation      = message.GetLocation();
            packet.SpriteId          = message.GetUInt16();
            packet.FromStackPosition = message.GetByte();
            packet.CreatureId        = message.GetUInt32();

            return(packet);
        }
        public static ItemUseBattlelistPacket Parse(NetworkMessage message)
        {
            ItemUseBattlelistPacket packet = new ItemUseBattlelistPacket();

            packet.FromLocation = message.GetLocation();
            packet.SpriteId = message.GetUInt16();
            packet.FromStackPosition = message.GetByte();
            packet.CreatureId = message.GetUInt32();

            return packet;
        }
示例#7
0
 public static VipRemovePacket Parse(NetworkMessage message)
 {
     VipRemovePacket p = new VipRemovePacket();
     p.Id = message.GetUInt32();
     return p;
 }