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;
}






