Turn In
DESCRIPTION
An add-on that automates the clicking of Quests and NPC Gossip dialogues. Automatically turns in repeatable or regular quests, accepts quests, and selects the appropriate options from NPCs. Never have to talk to an NPC again!
HOW TO USE
To bring up the Options window, type /ti window. To bring up the Recently Visited NPCs window, type /ti recent.
Turn In keeps an NPC database, to allow you to customize your interactions on a per-NPC basis. Whenever you talk to an NPC, it appears in your Recently Visited NPCs window. From there you can decide if you want to add it to the Database so you can customize his options. Simply click the + button to add the NPC to the DB.
After Adding an NPC, you can check the checkbox next to its name in the NPC list and then rearrange or activate/deactive his options to your liking. If you uncheck the checkbox next to an NPC's name, it will use the default option set. If you want Turn In to specifically take no action for an NPC, simply deactivate all of his options, don't uncheck his checkbox in the NPC list!
When an NPC does not appear in the Database, Turn In uses the default option set to resolve interactions with it. You can customize the default option set by not having an NPC selected in the options window. The Use Default Settings checkbox determines whether talking to NPC not in the Database will use the default options or do nothing at all. The Automatically Add NPCs checkbox will cause all of your new NPC visits to automatically add the NPC to your NPC DB.
COMMAND SUMMARY
- /turnin or /ti
- basic slash command, shows help message
- /turnin on
- Turns on the mod, from now on all quests will be automatically chosen and completed. Additionally, any available quests will be accepted, and gossip options will be automatically chosen.
- /turnin off
- Deactivates the mod
- /turnin toggle
- Activates or deactivates the mod
- /turnin window
- Shows the options window
- /turnin recent
- Shows the recently visited NPCs window
Special Thanks to Florrail and Makhno for beta testing like pros!
Extra Special Thanks to Arcanemagus of Hyjal for extra code and feedback!
Just came here to say yay!!!
Incorporated ChillFajita's suggestions, did some testing and debugging, fixed some other issues... I will release new version soon.
Sorry Chill I need to sanitize my local repo's git history before I put it on GitHub. I was not disciplined with the username/email i had set for all my commits in there and I don't want to just flatten the whole thing. I'll try and get that done and then figure out how to make CurseForge do the right thing for packaging. But for now I have what I believe to be an improved version.
In reply to SabinDeus:
... the curseforge packager isn't doing the thing. :(
In reply to SabinDeus:
So since the Curseforge packager didn't trigger I tried uploading a zip myself and uh... I accidentally archived my development version so it had some debug statements I removed from the commit version. Sorry about that. I replaced the file so you can just redownload it.
Perhaps make the "Active quest" check the isComplete returned from C_GossipInfo.GetActiveQuests() as to not spam click the active but not completed quest whenever you try talking to an npc who has multiple quests to offer and the priority is set with active quest above available quest.
In reply to ChiliFajita:
Thanks for the reminder - that code was written before GetActiveQuests returned an isComplete flag. Not poking into incomplete quests makes sense now that you can figure it out from the initial listing.
yeah i replaced line 539 - 541 with
if ActiveQuests[TI_activenumber-1].isComplete then
SAcQ(TI_activenumber-1);
TI_debug("Selecting Active Quest ".. TI_activenumber-1);
return;
end
oh, and added "temp.isComplete = gqui.isComplete" to line 641
In reply to ChiliFajita:
Hey would you consider contributing a diff with these changes? or if i put the repo in a public place, maybe submitting a pull request?
Put it on github.
So after a few changes and quirks I also discovered they added a new type of gossip called "chatbubble" instead of just "gossip" to some npcs and as such added a
if gui.type == "chatbubble" then gui.type = "gossip" end
to line 656 beforetemp.type = gui.type
I also changed the check for .isComplete to
elseif(current.type == "activequest" and #ActiveQuests > 0 and TI_activenumber <= #ActiveQuests and ActiveQuests[TI_activenumber].isComplete) then
on line 538This project should be on GitHub btw so I can add pullrequests.
In reply to ChiliFajita:
any chance us non tech chic peeps could get a dl with the changes made for this? love the addon, would love the dialogue options not all being question marks.
Getting this error with new pre-patch NPCs:
7x TurnIn\TurnIn-2.1.lua:487: attempt to concatenate field 'name' (a nil value)
[string "@TurnIn\TurnIn-2.1.lua"]:487: in function `TI_HandleGossipWindow'
[string "@TurnIn\TurnIn-2.1.lua"]:292: in function <TurnIn\TurnIn.lua:264>
It's only an error on a debug line, so it doesn't affect functionality. However, with this NPC (Veteran Crusader Aliocha Segard), turn-in's functionality isn't entirely working. It won't auto turn-in on his base dialogue window or first quest window, only automatically turning in at the final window.
His option window is also problematic:
-edit-
There are more errors that occur with "current.name" if I change the order and use of his dialogue options.
In reply to GraysonCarlyle:
Thanks for the detailed report. I noticed this myself but haven't had time to sit down and fix.
From BugSack:
69x TurnIn\TurnInUI.lua:18: attempt to index local 'entrytext' (a nil value)
TurnIn\TurnInUI.lua:18: in function `TI_PopulateOptions'
TurnIn\TurnInUI.lua:129: in function `TI_SelectNPCIndex'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals:
arg = "select npc"
Hey folks. I am still alive and I still play WoW.
Turn In is super broken in 9.0 what with the backdrop changes and the gossip changes but I'm going to try my best to update it.
Thanks for still using it.
In reply to SabinDeus:
Glad to hear! While the basic quest auto-accept/completion is working good, it stops working when there's two or more quests available on the same panel. Quest completion/accepting also stops when any gossip is available.
Thank you very much for your work, it's still my favorite, lightweight questing addon for years! I can't wait to be able to use it again. :)
In reply to Vox013:
Can you explain in more detail? You need to click the NPC multiple times if you accept a quest and it closes the gossip window. And if you want quest acceptance to take precedence over Gossip you might need to adjust the default priority list.
In reply to SabinDeus:
The pet quest giver in the garrison. If the vendor chat option is selected in the priority list, that option is always chosen. Regardless of priority. Ignoring other, higher, priorities
In reply to LongarmsGM:
I'll check it out