Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c0705f2d3 | ||
|
|
4b1a1af6b3 |
27
README.txt
27
README.txt
@ -1,6 +1,6 @@
|
|||||||
Turn In
|
Turn In
|
||||||
v2.1
|
v2.3
|
||||||
by Sabindeus of Smolderthorn/Andre of Argent Dawn (Alliance)
|
by Sabindeus of Terenas
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-------------
|
-------------
|
||||||
@ -29,26 +29,5 @@ COMMAND SUMMARY
|
|||||||
/turnin recent - Shows the recently visited NPCs window
|
/turnin recent - Shows the recently visited NPCs window
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CHANGE LOG
|
|
||||||
-------------
|
|
||||||
v2.1 - Quest selection logic rewrite thanks to Arcanemagus of Hyjal
|
|
||||||
v2.0 - Logic rewrite and added a real GUI for the new NPC DB. Updated for WoW 2.0.
|
|
||||||
v1.3 - Greedy mode now actually works properly... I think. More to come! :/
|
|
||||||
v1.2 - Added Saved Variables. Turn In status now persists. Turn In now selects active quests and gossip options as well as available quests. Greedy mode lets you select an option regardless of if the one you wanted is availble.
|
|
||||||
v1.1 - Fixed "bug" regarding Duke Nicholas Zverenhoff (and possibly other NPCs). Was more of a sloppy omission than a bug really.
|
|
||||||
v1.0a - Added toggle function
|
|
||||||
v1.0 - Initial Release
|
|
||||||
|
|
||||||
|
Please send bug reports, questions or comments to sabin@sabindeus.com
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Special Thanks to Florrail and Makhno for beta testing like a pro!
|
|
||||||
|
|
||||||
Extra Special Thanks to Arcanemagus for his code input!
|
|
||||||
|
|
||||||
Please send bug reports, questions or comments to Sabin1936@mac.com
|
|
||||||
|
|||||||
133
TurnIn.lua
133
TurnIn.lua
@ -495,84 +495,87 @@ function TI_HandleGossipWindow(gorq)
|
|||||||
|
|
||||||
|
|
||||||
local npcname = UnitName("npc");
|
local npcname = UnitName("npc");
|
||||||
TI_AddNPCToTempList(npcname, ListEntry);
|
if not issecretvalue(npcname) then
|
||||||
|
TI_AddNPCToTempList(npcname, ListEntry);
|
||||||
if(TI_status.autoadd and (not TI_NPCDB[npcname])) then
|
|
||||||
TI_debug("autoadd on, adding this NPC", TI_status.autoadd, TI_NPCDB[npcname]);
|
if(TI_status.autoadd and (not TI_NPCDB[npcname])) then
|
||||||
TI_AddNPCToList(ListEntry, npcname);
|
TI_debug("autoadd on, adding this NPC", TI_status.autoadd, TI_NPCDB[npcname]);
|
||||||
end
|
TI_AddNPCToList(ListEntry, npcname);
|
||||||
|
end
|
||||||
-- If a NPC is in the Database but a new dialog option has appeared (new daily/completed quest) then add it to the DB
|
|
||||||
if (TI_NPCDB[npcname]) then
|
-- If a NPC is in the Database but a new dialog option has appeared (new daily/completed quest) then add it to the DB
|
||||||
for k1, v1 in ipairs(ListEntry) do
|
if (TI_NPCDB[npcname]) then
|
||||||
local found = false;
|
for k1, v1 in ipairs(ListEntry) do
|
||||||
for k2, v2 in ipairs(TI_NPCDB[npcname]) do
|
local found = false;
|
||||||
if (v2.type == v1.type and v2.name == v1.name) then
|
for k2, v2 in ipairs(TI_NPCDB[npcname]) do
|
||||||
found = true;
|
if (v2.type == v1.type and v2.name == v1.name) then
|
||||||
|
found = true;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (not found) then
|
||||||
|
table.insert(TI_NPCDB[npcname], v1)
|
||||||
|
TI_PopulateOptions("npclist updated");
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if (not found) then
|
|
||||||
table.insert(TI_NPCDB[npcname], v1)
|
|
||||||
TI_PopulateOptions("npclist updated");
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
if(TI_availnumber > TotalOptions or TI_activenumber > TotalOptions) then
|
||||||
if(TI_availnumber > TotalOptions or TI_activenumber > TotalOptions) then
|
TI_debug("Out of available/active quests, giving up ");
|
||||||
TI_debug("Out of available/active quests, giving up ");
|
TI_ResetPointers();
|
||||||
TI_ResetPointers();
|
return;
|
||||||
return;
|
end
|
||||||
end
|
|
||||||
|
TI_debug(npcname);
|
||||||
TI_debug(npcname);
|
if(TI_NPCDB[npcname]) then
|
||||||
if(TI_NPCDB[npcname]) then
|
local thisnpc = TI_NPCDB[npcname];
|
||||||
local thisnpc = TI_NPCDB[npcname];
|
if(thisnpc.state) then
|
||||||
if(thisnpc.state) then
|
TI_debug("npc is active, using his options");
|
||||||
TI_debug("npc is active, using his options");
|
for i1,current in ipairs(thisnpc) do
|
||||||
for i1,current in ipairs(thisnpc) do
|
if (current.state == true) then
|
||||||
if (current.state == true) then
|
TI_debug("Current Quest: "..current.name);
|
||||||
TI_debug("Current Quest: "..current.name);
|
if (TI_specnum == 0 or i1 > TI_specnum) then
|
||||||
if (TI_specnum == 0 or i1 > TI_specnum) then
|
TI_specnum = i1;
|
||||||
TI_specnum = i1;
|
if (current.type == "availquest") then
|
||||||
if (current.type == "availquest") then
|
for i2,v2 in ipairs(AvailableQuests) do
|
||||||
for i2,v2 in ipairs(AvailableQuests) do
|
if (v2.name == current.name) then
|
||||||
if (v2.name == current.name) then
|
TI_debug(i1.."-Available Match Found: "..current.name);
|
||||||
TI_debug(i1.."-Available Match Found: "..current.name);
|
SAvQ(v2.questID);
|
||||||
SAvQ(v2.questID);
|
return;
|
||||||
return;
|
end
|
||||||
end
|
end
|
||||||
end
|
elseif (current.type == "activequest") then
|
||||||
elseif (current.type == "activequest") then
|
for i2,v2 in ipairs(ActiveQuests) do
|
||||||
for i2,v2 in ipairs(ActiveQuests) do
|
if (v2.name == current.name) then
|
||||||
if (v2.name == current.name) then
|
TI_debug(i1.."-Active Match Found: "..current.name..", "..current.type);
|
||||||
TI_debug(i1.."-Active Match Found: "..current.name..", "..current.type);
|
SAcQ(v2.questID);
|
||||||
SAcQ(v2.questID);
|
return;
|
||||||
return;
|
end
|
||||||
end
|
end
|
||||||
end
|
else
|
||||||
else
|
for i2,v2 in ipairs(GossipOptions) do
|
||||||
for i2,v2 in ipairs(GossipOptions) do
|
if (v2.name == current.name) then
|
||||||
if (v2.name == current.name) then
|
TI_debug(i1.."-Gossip Match Found: "..current.name..", "..current.type);
|
||||||
TI_debug(i1.."-Gossip Match Found: "..current.name..", "..current.type);
|
if(v2.args) then
|
||||||
if(v2.args) then
|
TI_FunctionList.g.gossip(v2.args);
|
||||||
TI_FunctionList.g.gossip(v2.args);
|
else
|
||||||
else
|
TI_FunctionList.g.gossip(i2);
|
||||||
TI_FunctionList.g.gossip(i2);
|
end
|
||||||
|
return;
|
||||||
end
|
end
|
||||||
return;
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
TI_debug("npc in list, but not active");
|
||||||
end
|
end
|
||||||
return;
|
|
||||||
else
|
else
|
||||||
TI_debug("npc in list, but not active");
|
TI_debug("npc not in list");
|
||||||
end
|
end
|
||||||
else
|
|
||||||
TI_debug("npc not in list");
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if(TI_status.usedefault == false) then
|
if(TI_status.usedefault == false) then
|
||||||
TI_debug("npc not in list, default set to off, returning.");
|
TI_debug("npc not in list, default set to off, returning.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
## Interface: 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
## Interface: 120100, 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
||||||
## X-Compatible-With: 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
## X-Compatible-With: 120100, 120000, 120001, 50503, 40402, 30405, 20505, 11508
|
||||||
## Title: Turn In
|
## Title: Turn In
|
||||||
## Notes: Automates the selection of quest and gossip options.
|
## Notes: Automates the selection of quest and gossip options.
|
||||||
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
## SavedVariables: TI_status, TI_NPCDB, TI_NPCIndex
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user