I'm stuck somewhere in 0x3013 parsing (self-spawn packet). I reached the quests part and I couldn't parse it correctly. There is a "completed quests" part which is just a WORD and a for loop with DWORD for each one, but what comes next is the "Active/Accepted quests". Does anyone have any clue about that part?
Part of my code :
Code:
ushort CompletedQuestCount = PacketItem.ReadUInt16(); for (int q = 0; q < CompletedQuestCount;q++ ) { PacketItem.ReadUInt32(); //refquestID } byte activeQuest = PacketItem.ReadUInt8(); for (int q = 0; q < activeQuest; q++) { PacketItem.ReadUInt32(); //refquestID PacketItem.ReadUInt16(); byte questtype = PacketItem.ReadUInt8(); byte objectiveCount = PacketItem.ReadUInt8(); for (int obj = 0; obj < objectiveCount; obj++) { PacketItem.ReadUInt8Array(11); string objj =PacketItem.ReadAscii(); byte objtask = PacketItem.ReadUInt8(); for (int ot = 0; ot < objtask; ot++) { PacketItem.ReadUInt32(); } }
EDIT : I fixed it on my own. The problem was because there should have been a condition like this :
Code:
if (questtype==8) { PacketItem.ReadUInt8(); continue; }