예제 #1
0
        public GameQuestInfoPacket(D2gsPacket packet) : base(packet.Raw)
        {
            var reader = new BinaryReader(new MemoryStream(Raw), Encoding.ASCII);
            var id     = reader.ReadByte();

            if (id != 0x29)
            {
                throw new D2GSPacketException("Invalid packet id found");
            }
            for (int i = 0; i < 96; i++)
            {
                Quests[i] = reader.ReadByte();
            }

            Log.Verbose($"(0x{id,2:X2}) Game Quest Info:\n" +
                        $"\tQuests: {Quests.Aggregate("", (s, i) => s + "," + $"{i,2:X2}")}");
        }
예제 #2
0
        public QuestInfoPacket(D2gsPacket packet) : base(packet.Raw)
        {
            var reader = new BinaryReader(new MemoryStream(Raw), Encoding.ASCII);
            var id     = reader.ReadByte();

            if (id != 0x28)
            {
                throw new D2GSPacketException("Invalid packet id found");
            }
            UpdateType = reader.ReadByte();
            UnitGid    = reader.ReadUInt32();
            Timer      = reader.ReadByte();
            for (int i = 0; i < 96; i++)
            {
                Quests[i] = reader.ReadByte();
            }

            Log.Verbose($"(0x{id, 2:X2}) Player Quest Info:\n" +
                        $"\tUpdate Type: {UpdateType}\n" +
                        $"\tUnit Gid: {UnitGid}\n" +
                        $"\tTimer: {Timer}\n" +
                        $"\tQuests: {Quests.Aggregate("", (s, i) => s + "," + $"{i,2:X2}")}");
        }