Quests not automatically tracking
RyadaProductions opened this issue ยท 11 comments
Syling Tracker version: 0.3.4
Percieved faulty behavior:
Syling Tracked doesn't automatically track quests upon accepting.
This is most likely caused by the usage of ElvUI in combination with Syling Tracker.
Expected behavior:
The behavior that I expect would be that it automatically starts tracking newly accepted quests.
Current workaround:
- Use command /slt bot
- Minimize the default Objective Tracker
If more information is needed please let me know and I will do my best to gather all the information needed.
Can you confirm me the quests accepted aren't added to the bottom of the quests tracker instead ?
After checking, i notice there is an issue with the distance used by the quests. In many cases, quests in other continents are displayed first compared to quests that are in the same area as the player. This may cause the illusion the new quests are not automatically tracked.
I'd like also to know the value of "AUTO_QUEST_WATCH" you have. You can retrieve it in typing:
/dump AUTO_QUEST_WATCH
Newly accepted quests do not appear at all. If i open the QuestLog and select the quests they are not tracked, and can be tracked manually.
The value of AUTO_QUEST_WATCH
is 1
I am going to try and see if I can find out some more information about why and how this behavior is caused.
I will update this issue accordingly.
In the recent release (0.3.5), i put some trace/debug information for helping us to see on how the addon behaves.
You can display them with:
/slt log 1
(it doesn't persist between each reload)
To be honest with what you have said, i don't know why the quests are not automatically tracked from your side.
I need more information. I'm thinking to add some debug/trace in the next release for seeing how the addons behaves.
With the trace enabled there is not much being logged from what I can see.
Here is a screenshot of the chat when I changed the log to 1 and accepted a quest.
After playing around a bit I did notice that sometimes it does start tracking properly. But the same scenario as the one in the screenshot does appear from time to time. I haven't found any clues so far as to what caused it to suddenly start working/breaking. I will keep looking further.
As an addition to this. Whenever this behavior is percieved there are no errors generated at the same time.
Having the same issue and i am also using elvui. The quests start tracking properly as soon as i interact with a quest mob or other quest related stuff.
@RyadaProductions Can you edit the file "Contents/Quests/Quests.lua" for adding some print at the beginning of functions QUEST_ACCEPTED and QUEST_WATCH_LIST_CHANGED ? As you have got no log, i'd like to know if these functions are at least called.
Syling-Tracker/Contents/Quests/Quests.lua
Line 356 in 73e4d5d
__SystemEvent__()
function QUEST_ACCEPTED(questID)
if Log.LogLevel == 1 then
print("SLT:QUEST_ACCEPTED is triggered", questID)
end
-- ...
end
Syling-Tracker/Contents/Quests/Quests.lua
Line 383 in 73e4d5d
__Async__()
__SystemEvent__()
function QUEST_WATCH_LIST_CHANGED(questID, isAdded)
if Log.LogLevel == 1 then
print("SLT:QUEST_WATCH_LIST_CHANGED is triggered", questID, isAdded)
end
-- ...
end
Little reminder : don't forget to type a "/slt log 1" before checking
I will try and reproduce the issue with the added logging. I haven't been able to reproduce it for a while now sadly. So hopefully i will have some luck tonight.
Syling Tacker version 0.3.6
Quests.lua
edited
AUTO_QUEST_WATCH
=1
/slt log 1
done
I don't use ElvUI, but I ran into the same issue as described.
New quests in the same region I'm playing in right now (Wandering Isle) don't get automatically added to the tracker, both listed events are not triggering/outputting logs on accepting a new quest. As seen in the screenshot.
Good news,
With the logs of @elrontur , i have noticed as soon as the Quests module become inactive, it remains in this state for forever.
In Syling Tracker, the modules become inactive and active under their own criteria. For example, the Scenario module become active when you are in scenario and inactive when you are outside of it. This system allows to do some tasks at specific moments (OnActive and OnInactive) and an inactive module ignore all the WoW events.
If we come back to case of our quests.
Syling-Tracker/Contents/Quests/Quests.lua
Lines 85 to 88 in 61bcc4a
The module checks on every "PLAYER_ENTERING_WORLD and "QUEST_WATCH_LIST_CHANGED" events if this needs to be active or inactive.
- When you unwatch your last quests, a checking is triggered by "QUEST_WATCH_LIST_CHANGED" and as the
GetNumQuestWatches() > 0
condition returns false, the module become inactive so will ignore all next WoW events. This behavior works as intended. - Being inactive, the module ignore the "QUEST_ACCEPTED" so at this point, the module can't watch the quest by itself. This is the origin of problem. The reason on why when you enable the "Blizzard Objective Tracker" with /slt bot, the issues goes away is because the quests watching is also done by this last.
I'll prepare a fix.
Thanks for all the information you have provided, this was very helpful.