Questie

Questie

116M Downloads

Not tracking Kill/Pickup quests correctly on the Map / Objective(ie turnin)

Logonz opened this issue ยท 22 comments

commented

Map and turnin progression is not updating correctly,

example

commented

It's possible this is another "zombie notes" issue, see #14. I was assuming this was fixed, but apparently not.

Since we are maintaining our own version of cartographer now, it might be easily fixed by adding a validation check in cartographer that asks questie if the points are still valid. Ideally questie should be removing them, but it seems there's always one reason or another for it to "forget" that a note exists.

I blame Cartographer because it's ID system is susceptible to floating-point accuracy/rounding issues.

commented

I think the issue is just that with the current system, it doesn't re-draw all notes on QUEST_LOG_UPDATE, thus if he logs in with 1/2 Haldarr Trickster Slain, that's what's being shown in the notes tooltip. But because notes don't update.

If we move to Astrolabe, you parse it a "frame that it places on the map (I think!) so we could anchor a tooltip to each frame that shows OnMouseOver or something. So we could just maintain a tooltip that would request new information OnShow.

commented

The thing is that While the questlog acually shows the quest as complete it does not update it with the turnin, so it's a twofold problem i would guess BECAUSE the notes are not updated and removed it does not ADD the questionmark on the map either.

commented

Oh no, that actually is a real problem then. Even upon opening your quest log, it does NOT recognize the quest as complete? That seems very broken. Sometimes, it's just that QUEST_LOG_UPDATE is not fired properly by the server, so the log/trackerframe don't update properly.

But opening your questlog should fix that, except sometimes it doesn't - apparently.

commented

Noticed a pattern. It seems like the last event update is lost in some way,
The quest "The corruption of the jadefire" has 3 objectices, kill 11,9,9,1
On the last part of ALL the objectives (ex, 11 is done, the 11th kill is not recorded) it does not update accordingly, this happened 3 times on the same quest.
example2

Edit AND FOR THE LOVE OF GOD, implement a q_PrintDebug(msg, spamlevel); so that i can turn on the debugging and give you guys more info

Have one for free!

function q_PrintDebug(message, level) --0 Low info --1 Medium info --2 very spammy
    level = 2 or level;
    if(DEBUG_LEVEL >= level) then
        DEFAULT_CHAT_FRAME:AddMessage("[Questie]: "..message,1,1,0);
    end
end
commented

Actually, our log function already has a debug level. It's Questie.debugLevel. We just keep most stuff commented out because we only need debug prints for new features (most of the time anyway).
You're right though, we should keep everything in and just set the debug level for it super high. The idea was to allow the user to switch debug mode on and off once we implement the menu.

There's also QuestieDebug (in your SavedVariables) which keeps some information. We just haven't gotten around to making a tutorial on how to submit information. It's mostly for broken quests and objectives.

commented

Had the problem again now, but this time in a very early part of a quest,
1/12 was not logged, as soon as i get 2/12 it logged both, so i would guess the problem is that the event just isn't triggered, no idea how you would fix that.
And again, the QuestTracker displays the right info but the map doesn't

commented

Could implement a temporary fix by having it recheck all quests every ~10 seconds or something, if it is the events not firing properly.

Actually, since the quest tracker is updating properly, the base events should be firing, just for whatever reason it's not reaching the map.

And yeah we do have a log function, but a lot of things don't actually have calls to it. I'll go through and add debugging everywhere in a little bit.

commented

Do that, and if it gets laggy do some kind of updatequeue system, go through one of the quests in the qlog every 0.5 second or something, (20 quests in 10secs)

commented

Yep can confirm Logonz words about this issue.. Im using questie from yesterday, but this bug is definately there.. now Im doning Quest Foul Magics.. I looted one Amulet, but map and quest tracker tells me other wise... screenshot attached. you can see the Amulet as NEW in my inventory..

5faxjrf

commented

I think i found the bug.

in
function Questie:QUEST_LOG_UPDATE()

 for r=1,count do
                    local desc, typ, done = GetQuestLogLeaderBoard(r);


                    if not done then -- This is where it bugs, i does not update the objective because it says the objective is done.
                        questComplete = false;
                        if selected then
                            --DEFAULT_CHAT_FRAME:AddMessage("SELECTED " .. q, 0.95, 0.1, 0.95);
                        else
                            --DEFAULT_CHAT_FRAME:AddMessage("NOTSELECTEd " .. q .. " " .. in, 0.95, 0.1, 0.95);
                        end
                        this:processObjective(q, desc, typ, selected, mapid, r)
                    end
                    ---DEFAULT_CHAT_FRAME:AddMessage(typ, 0.95, 0.95, 0.5);
                    ---DEFAULT_CHAT_FRAME:AddMessage(done, 0.95, 0.95, 0.5);

                end

moving this line outside of if not done then fixes the update BUT it does not fix the check if the quest is infact done.

this:processObjective(q, desc, typ, selected, mapid, r)

Look into this, you guys have a much better knowledge of the codebase than me.

commented

Did a fork fix
master...Logonz:master

Fixed that the objectives all update if all objectives arn't done
If all objectives are done, Remove all notes and then it adds the finisher.

Not 100% tested when this is posted but it seems to be working
One Quest tested, worked flawlessly.

commented

Wow thanks for your contribution :D, I'll do a little testing then I'll pull in your request.

commented

well I dont know if this is a bug, but it doesnt count first quest item to tracker or map + I tryed your version.. but no luck at all.. its the same :( It even gives me string error when I want to see quest rewards in quest log.. I even tryed remove EQL3, but its the same.. screenshots attached +1 dunno why I cant track some quests.

map notes doesnt vanish after objective is done
q8oew0s
Error that your lua gives me with quest rewards
84n9xw5
untrackable quest
pxekr46
first items doesnt counts
19wldmg

commented

Took the liberty to merge your changes into our master after reviewing them briefly. Thank you for the fix.

commented

I deleted all my addons and wtf etc.. downloaded questie with logonz commit, but still as you can see even after quest is complete, there is still note on the map and even 0/3..

zmi4drk

commented

About the error on quest items, I've had the same problem, some quests seem to throw errors, was this only on one quest or all in your questlog?

And the problem in that case is that the note is not removed correctly when the quest is done it is supposed to not update the notes when it's done so the 0/3 is expected if no update is tiggered within you getting the first item and the last. But the ticks should be faster than 3 pulsing blue shards so it's still a strange bug.
But it not tracking the first one is not true, there is a delay between updates or when you open the questlog, See if this can be fixed by doing some kind of previous info check

Im leveling 57, 60 today so i will run tests and fix any potential bugs i encounter with my fix (did the fix at 3 am didn't expect such a fast merge! ๐Ÿ‘ ) Also noticed some performance problems with my fix (there is a ittybitty stutter each tick, will probably see if the processObjective function can do a check on the progress parameters to update the notes only if needed)

Schaka, It would be really fun to be a collaborator!
Edit: Done, you can now access the repo directly.

commented

The quest you've tested it with is already done, right? Logonz commit checks if a quest is entirely done, and if it is doesn't add anything to the notes. Aero and I are both inconvenienced right now, but we'll take care of it later.

Logonz, if you want to participate in the project on GitHub as a collaborator, you can tell us and Aero will add you to the project.

commented

Logonz:

only few quests have this error..
and dunno why notes doesnt update sometimes with objectives.. same with first quest items doesnt count on note or tracker

commented

Just made you a collaborator Logonz, welcome to the team :D

commented

Sparh4wk now that im more of an offical capacity i'll see if i can look into it! ๐Ÿ‘

Thanks! Looking forward to being on the team!(Bit offtopic but have anything in mind how to chat about addon things which isn't github issue comments?)

commented

Closing this because it works for now, and a new system handling notes is coming.