Download
(6 Kb)
Download
Updated: 08/05/22 11:03 AM
Compatibility:
Lost Depths (8.1.5)
Updated:08/05/22 11:03 AM
Created:07/30/22 08:26 PM
Monthly downloads:70
Total downloads:2,448
Favorites:0
MD5:
LuiginoMP's Daily Quest Tool
Version: 1.2
by: luiginomp [More]
Dependency on LuiginoMPsDialogueSkipper.

All-in-one tool for handling daily quests: Skips dialogue for known Daily Quest Givers and automatically accepts quests. Tracks known quests to show whether they've been completed for the day - resets daily. Auto-learns quest givers and quests as the addon sees them for the first time (Future-proof; No need to wait for library updates when a new expansion comes out - just play to add them).

Type /lmpdailyquests in chat to find all commands.

Upcoming functionality: Announcing dailies in chat, auto-group invite, and auto-sharing.
1.2
Optimized code format - no user functionality changes

1.1
Command added to show all unfinished dailies.
Command added to show all finished dailies.
Fixed bug preventing Daily Writ quests from updating completion state properly.
Command added to share all daily quests in journal
Fixed quest completion bug that would occur if player completed a non-repeatable quest
Added dependency on LuiginoMPsDialogueSkipper (separate addon)
Optional Files (0)


Archived Files (1)
File Name
Version
Size
Uploader
Date
1.1
6kB
luiginomp
08/04/22 10:45 AM


Post A Reply Comment Options
Unread 10/01/22, 04:41 PM  
Caaraamon

Forum posts: 0
File comments: 57
Uploads: 0
Dependencies

For some reason your quest skipper dependency is not available via Minion.
Report comment to moderator  
Reply With Quote
Unread 08/21/22, 04:33 AM  
zelenin
AddOn Author - Click to view AddOns

Forum posts: 7
File comments: 192
Uploads: 12
Code:
bad argument #1 to 'pairs' (table/struct expected, got nil)
stack traceback:
[C]: in function 'pairs'
user:/AddOns/LuiginoMPsDailyQuestTool/01_DailyQuestManager.lua:148: in function 'LMP_DailyQuestManager.ResetAllDailyQuests'
user:/AddOns/LuiginoMPsDailyQuestTool/02_DailyResetCalculator.lua:30: in function 'system.Initialize'
|caaaaaa<Locals> now = 1661077908 </Locals>|r
user:/AddOns/LuiginoMPsDailyQuestTool/00_LuiginoMPsDailyQuestTool.lua:46: in function 'InitializeSystems'
|caaaaaa<Locals> counter = 0, systemName = "DailyResetCalculator", system = [table:1]{name = "DailyResetCalculator"} </Locals>|r
user:/AddOns/LuiginoMPsDailyQuestTool/00_LuiginoMPsDailyQuestTool.lua:57: in function 'LuiginoMPsDailyQuestTool:Initialize'
|caaaaaa<Locals> self = [table:2]{name = "LuiginoMPsDailyQuestTool", savedVariablesName = "LMP_DQT_SavedVariables"} </Locals>|r
user:/AddOns/LuiginoMPsDailyQuestTool/00_LuiginoMPsDailyQuestTool.lua:62: in function '(anonymous)'
|caaaaaa<Locals> eventCode = 65536, addonName = "LuiginoMPsDailyQuestTool" </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 08/04/22, 11:08 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4963
File comments: 6032
Uploads: 78
Hi, please define the dependencies needed
LuiginoMP's Dialogue Skipper
at the addon description so one sees them within Minion and at the esoui website properly!
Thank you.

Edit - A hint:
Within your addon files yous hould check that your EVENT_MANAGER:RegisterForEvent is not done before your addon's event_add_on_loaded has taken place!

You load your adodn via file 00_LuiginoMPsDailyQuestTool.lua e.g. but the other files will register the events already as they are called, which happens before the 1st file's event_add_on_loaded has fired for your addon!
If the events you register somehow trigger before your addon was loaded properly youll get into trouble then, so better only register the events after that had happened.

e.g. set a global flag
LuiginoMPsDailyQuestTool.wasLoaded = true within your function LuiginoMPsDailyQuestTool:Initialize()
and in your other registered events check at the beginning

Lua Code:
  1. EVENT_MANAGER:RegisterForEvent(system.name, EVENT_CLIENT_INTERACT_RESULT, function(eventCode, result, interactTargetName)
  2.     if not LuiginoMPsDailyQuestTool.wasLoaded then return end
  3.     currentDialogueTarget = zo_strformat("<<1>>", interactTargetName)
  4. end)
  5.  
  6. EVENT_MANAGER:RegisterForEvent(system.name, EVENT_CHATTER_END, function(eventCode)
  7.     if not LuiginoMPsDailyQuestTool.wasLoaded then return end
  8.     currentDialogueTarget = nil
  9. end)


Edit 2 - 2nd hint about constants
If you use API functions which return a defined value type you should not use the numbers directly but the constants for that tape.
Example:
if GetJournalQuestRepeatType(journalIndex) == 2 then

GetJournalQuestRepeatType returns, as the APi description txt files tells you, the QuestRepeatableType
--- @param journalQuestIndex luaindex
--- @return repeatType [QuestRepeatableType|#QuestRepeatableType]
function GetJournalQuestRepeatType(journalQuestIndex) end

So search in the API txt documentation for QuestRepeatableType and you'll find the constants:
h5. QuestRepeatableType
* QUEST_REPEAT_DAILY
* QUEST_REPEAT_EVENT_RESET
* QUEST_REPEAT_NOT_REPEATABLE
* QUEST_REPEAT_REPEATABLE
* QUEST_REPEAT_REPEATABLE_PER_DURATION

One of them is your value 2 then -> QUEST_REPEAT_DAILY = 2
Last edited by Baertram : 08/04/22 at 11:20 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: