Hello, I'm new to posting here, but have been lurking for a while. I was looking for a method of detecting quest completion, starting out with the 3.2.2 info post I found the interesting offsets:
Code:
/* offsets:[d:0x009E]:[b:0x0278] */ unsigned long PLAYER_QUEST_LOG_1_1;
/* offsets:[d:0x009F]:[b:0x027C] */ unsigned long PLAYER_QUEST_LOG_1_2;
/* offsets:[d:0x00A0]:[b:0x0280] */ unsigned char PLAYER_QUEST_LOG_1_3[4];
/* offsets:[d:0x00A1]:[b:0x0284] */ unsigned long PLAYER_QUEST_LOG_1_4;
...
I wrote some simple code in C# to examine these, the first entry is the quest ID itself, the second and fourth attributes always appeared to be zero, and the third was an empty (null) string until one of my quests completed. Re-reading the third attribute as an int showed its set to '1' when the quest has been completed, not sure if this is just a "isComplete" flag or can have other values.
C#:
Code:
int PLAYER_QUEST_LOG_1_1 = 0x0278;
// Read quest entries
for (int i = 0; i < 25; i++)
{
int offset = playerStorage + PLAYER_QUEST_LOG_1_1 + (i * 16);
int attr1 = Memory.ReadInteger(offset); // quest id
int attr2 = Memory.ReadInteger(offset + 4); // ?
int attr3 = Memory.ReadInteger(offset + 8); // flags? 1 == complete
int attr4 = Memory.ReadInteger(offset + 12); // ?
debugLog("{0}: {1}, {2}, {3}, {4}", i, attr1, attr2, attr3, attr4);
}
Has anyone else looked at quests? Detecting completion is enough for what I wanna do, not sure what the other attributes are, don't seem to change for quests marked as (Daily), although haven't yet tried (Daily Dungeon), (Daily Heroic), (Raid) or (Group).
I haven't tried looking for things like Quest Name, description, rewards etc. An external call to WowHead (or other) seems to work well enough to look up quest names.