November 17, 20178 yr Hello Not recognize <QuestsSorted Action="If" NameClass="(Quest.HasQuest(40014) && Quest.GetQuestCompleted(40014))" /> How can I execute it?
November 17, 20178 yr Author I use <QuestsSorted Action="If" NameClass="Quest.HasQuest(40014) " /> He can do it but <QuestsSorted Action="If" NameClass="(Quest.HasQuest(40014) && Quest.GetQuestCompleted(40014))" /> Not recognize I need to judge that there is a task and a task to be accomplished.. Sorry, Google translate. I don't know. Can you understand that?
November 18, 20178 yr Quest.HasQuest(40014) this mean you has quest in quests Quest.GetQuestCompleted(40014) this mean you completed this quest and its not in quest log this condition will never return true since you cannot have quest and done with quest in same time Edited November 18, 20178 yr by camelot10
November 18, 20178 yr Author Thank you, camelot10 I already know The use of can be solved Quest.HasQuest (40014) & & Quest.IsObjectiveComplete (1, 40014)
July 8, 20187 yr @Droidz is Quest.GetQuestCompleted based off of something internal to the game, or is it tracking completed quests itself.
July 8, 20187 yr 3 hours ago, Smarter said: @Droidz is Quest.GetQuestCompleted based off of something internal to the game, or is it tracking completed quests itself. Yes it is based on https://wow.gamepedia.com/API_GetQuestsCompleted
July 10, 20187 yr If the internal Questing BotBase of WRobot isn't used, then there's no way for the bot to track completed quests. I wrote my own Quest BotBase and realized that :(. Vanilla doesn't have IsQuestFlaggedCompleted :(. I assume your botbase is recording completed quests? How are you detecting the completion, Quest Events?
July 10, 20187 yr He creates diffs of the quest log after different quest events and then knows if a quest was added, removed, etc. Usually that will also tell you whether a quest was abandoned. We do the same in Questie (you can find the Lua code on GitHub). I'm not sure what the underlying Quest.IsObjectiveComplete (1, 40014) does, but I assume it's essentially the same thing: - Get name by quest ID from memory - iterate quest log for matching name (Lua) - iterate objectives on the quest and check for their status (Lua)
July 10, 20187 yr That's what I do now to figure out if the quest is ready for turn in. However, The issue I was having was there was no way to select which quest to turn in if you have multiple completed quests with a NPC, you could only send Quest.CompleteQuest(), it offered a Gossip Option but no way to tell what that option said or was. I was going to simply track the event, but they don't seem to return any Args on Vanilla to let me know which one I completed ?
July 10, 20187 yr QUEST_COMPLETE fires not when you complete the quest, rather when you're about to complete it anyway. The following QUEST_LOG_UPDATE event is when the quest will actually be gone from your log. So all you have to do is temporarily store all quests at QUEST_COMPLETE, then diff them with all quests in your log at QUEST_LOG_UPDATE and you're good. For figuring out which quests to turn in at an NPC, you'll have to check QuestFrameCompleteQuestButton:IsEnabled()
July 10, 20187 yr Thanks for that. What about on a character that was played by hand now you're trying to figure out where to start from without user input? Theres no way to know it you completed a quest without the bot having been there upon completion?
July 11, 20187 yr Pretty sure the bot checks if the character has completed it with IsQuestFlaggedCompleted(questid)
July 11, 20187 yr 6 hours ago, Smarter said: Thanks for that. What about on a character that was played by hand now you're trying to figure out where to start from without user input? Theres no way to know it you completed a quest without the bot having been there upon completion? There isn't. If the character was played by hand with questie enabled, you could access its global Lua tables, but that's it.
July 12, 20187 yr That's pretty much where i'm at. This really sucks ?. Kinda lost my drive to continue on the project because of it.
Create an account or sign in to comment