teelolws / MplusAG

A relatively light addon that adds an extra DropDown option to the Encounter Journal, to pick Season 4 as your "Expansion".
5 stars 3 forks source link

Occasional LUA error when going into the great vault #28

Closed raysmith59 closed 1 month ago

raysmith59 commented 1 month ago

Doesn't always happen, when it does happen I'm going into the Great Vault after taking out my gear so it's at the point where it's showing me what'll happen next week.

3x ...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:5: attempt to index global 'DelvesDashboardFrame' (a nil value) [string "@MplusAdventureGuide/delves-progress-tooltip.lua"]:5: in function <...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:4> [string "@MplusAdventureGuide/delves-progress-tooltip.lua"]:28: in function <...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:26> [string "@Blizzard_SharedXML/EventUtil.lua"]:74: in function <Blizzard_SharedXML/EventUtil.lua:66>

[string "@Blizzard_SharedXMLBase/CallbackRegistry.lua"]:144: in function <...eBlizzard_SharedXMLBase/CallbackRegistry.lua:143>

[string "@Blizzard_SharedXMLBase/CallbackRegistry.lua"]:147: in function `TriggerEvent' [string "@Blizzard_SharedXMLBase/GlobalCallbackRegistry.lua"]:9: in function <...ns/Blizzard_SharedXMLBase/GlobalCallbackRegistry.lua:8>

string "=[C]": in function LoadAddOn' [string "@Blizzard_UIParent/Mainline/UIParent.lua"]:422: in functionUIParentLoadAddOn' [string "@Blizzard_UIParent/Mainline/UIParent.lua"]:651: in function `loadFunc' [string "@Blizzard_UIPanels_Game/Shared/PlayerInteractionFrameManager.lua"]:194: in function <...Panels_Game/Shared/PlayerInteractionFrameManager.lua:187>

[string "@Blizzard_UIPanels_Game/Shared/PlayerInteractionFrameManager.lua"]:240: in function <...Panels_Game/Shared/PlayerInteractionFrameManager.lua:237> string "=[C]": in function `TurnOrActionStop'

Locals: (temporary) = nil (temporary) = 1 (*temporary) = "attempt to index global 'DelvesDashboardFrame' (a nil value)"

teelolws commented 1 month ago

Thanks. Was opening it via the Delves UI in the Dungeons&Raids UI, forgot to test opening the Vault directly. Its a new module that adds this counter: image

teelolws commented 1 month ago

Looking at it again, I now realise saying you need 8 more for the first slot that actually only needs 2 doesn't make any sense. image image

raysmith59 commented 1 month ago

(edit - this is related to the Delves view rather than the GV itself so might be too unrelated to included here but updating my comment for completeness, disregard as you will)

If that tooltip is related to your addon there might be another issue, it doesn't always correctly indicate the requirements to upgrade one of the reward tiers... for instance, if I've completed 4x T8 delves (so 616 gear in the first two slots) but nothing but mundane world content for the rest, it shows 584 for the 3rd slot but says that I can increase the reward by running higher-tier content except doing 1x won't matter, I'd have to run 4x for that to be the case. Unsure how important this is but I'm having trouble figuring out how many delves I've run each week so having this info be accurate (saying I'd have to run 4x rather than 1x; or 3x rather than 1x, etc) would be helpful to me. I basically just keep running and check the vault between each until I have my full 8 done but I wouldn't hate a cleaner option. That tooltip is related to the 3rd reward tier but I've only run 3 delves this week so whatever I do next will only impact the 2nd reward tier, not the 3rd tier.

image

raysmith59 commented 1 month ago

Oh - I'm not getting the error immediately when opening the vault now but when I hover over a second reward I'm getting it again. Or more specifically, it isn't erroring on my Tier 8 reward but it happens on both of my Tier 1 rewards for world content. Just a guess but maybe it isn't handling non-Delve-related rewards properly on that row.

9x ...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:18: attempt to compare nil with number [string "@MplusAdventureGuide/delves-progress-tooltip.lua"]:18: in function <...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:9> [string "@MplusAdventureGuide/delves-progress-tooltip.lua"]:45: in function <...dOns/MplusAdventureGuide/delves-progress-tooltip.lua:43> [string "=[C]"]: in function HandlePreviewWorldRewardTooltip' [string "@Blizzard_WeeklyRewards/Blizzard_WeeklyRewards.lua"]:630: in functionShowPreviewItemTooltip' [string "@Blizzard_WeeklyRewards/Blizzard_WeeklyRewards.lua"]:537: in function <...ns/Blizzard_WeeklyRewards/Blizzard_WeeklyRewards.lua:535>

Locals: runsNeeded = nil activities =

{ 1 =
{ } 2 =
{ } 3 =
{ } } totalMaxCompleted = 2 (temporary) =
{ 1 =
{ } 2 =
{ } 3 =
{ } } (temporary) = 3 (temporary) = nil (temporary) = nil (temporary) = 3 (temporary) = "attempt to compare nil with number"

teelolws commented 1 month ago

So for the first part, this UI actually comes from the addon Plumber. I can't add any more information to it as its not my addon. image

teelolws commented 1 month ago

Yup theres an issue with half-completed delve vaults. Unfortunately I don't have the means to test it until after the reset tomorrow.

Can you run this, mouse over each of the delve vault options one-by-one, and show me the output, with what the vault option that output corresponds to?

/run hooksecurefunc(activity, "HandlePreviewWorldRewardTooltip", function(self, itemLevel, upgradeItemLevel, nextLevel) print(self, itemLevel, upgradeItemLevel, nextLevel) end)

For example: image image

Except I need to see what it looks like when one is partially filled with lower level stuff.

raysmith59 commented 1 month ago

So for the first part, this UI actually comes from the addon Plumber. I can't add any more information to it as its not my addon. !

Fair enough. :)

raysmith59 commented 1 month ago

Can you run this, mouse over each of the delve vault options one-by-one, and show me the output, with what the vault option that output corresponds to?

I'm getting an error when I copy/paste that /run command: 3x [string "hooksecurefunc(activity, "HandlePreviewWorl..."]:1: Usage: hooksecurefunc([table,] "function", hookfunc) [string "=[C]"]: in function hooksecurefunc' [string "hooksecurefunc(activity, "HandlePreviewWorldRewardTooltip", function(self, itemLevel, upgradeItemLevel, nextLevel) print(self, itemLevel, upgradeItemLevel, nextLevel) end)"]:1: in main chunk [string "=[C]"]: in functionRunScript' [string "@Blizzard_ChatFrameBase/Mainline/ChatFrame.lua"]:2296: in function ?' [string "@Blizzard_ChatFrameBase/Mainline/ChatFrame.lua"]:5479: in functionChatEdit_ParseText' [string "@Blizzard_ChatFrameBase/Mainline/ChatFrame.lua"]:5131: in function ChatEdit_SendText' [string "@Blizzard_ChatFrameBase/Mainline/ChatFrame.lua"]:5167: in functionChatEdit_OnEnterPressed'

Locals: (*temporary) =

{ ERR_OUT_OF_CHI = "Not enough chi" DH_HAVOC_CORE_ABILITY_2 = "Strong melee attack that consumes Fury. If it critical strikes, some Fury is refunded." UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names." AchievementFrameStatsBG = AchievementFrameStatsBG { } LE_GAME_ERR_CHAT_RAID_RESTRICTED_TRIAL = 785 SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you." LE_GAME_ERR_PET_SPELL_TARGETS_DEAD = 423 ClassTrialTimerDisplayMixin =
{ } MultiBarLeftButton7 = MultiBarLeftButton7 { } LE_GAME_ERR_INVALID_FOLLOW_PVP_COMBAT = 377 MerchantItem6AltCurrencyFrameItem1Text = MerchantItem6AltCurrencyFrameItem1Text { } OPTION_SHOW_ACTION_BAR5_TOOLTIP = "Attached to the left side of Action Bar 4 by default" BINDING_NAME_NAMEPLATES = "Show Enemy Nameplates" CHAT_HEADER_SUFFIX = ": " COVENANT_MISSIONS_HEALTH = "Health" PVPReadyDialogBottomArt = PVPReadyDialogBottomArt { } DUNGEON_FLOOR_UPPERBLACKROCKSPIRE3 = "Hall of Blackhand" RematchGameTooltipTexture13 = RematchGameTooltipTexture13 { } DetailsFrameworkLabelNumber824 = DetailsFrameworkLabelNumber824 { } VuhDoNewOptionsPanelHotsHotsPanelHotIconsTextureSquaresDiagonalRadioButtonTextureSwatch = VuhDoNewOptionsPanelHotsHotsPanelHotIconsTextureSquaresDiagonalRadioButtonTextureSwatch { } ChatFrame6EditBoxFocusMid = ChatFrame6EditBoxFocusMid { } AceConfigDialogTooltipTexture20 = AceConfigDialogTooltipTexture20 { } LE_GAME_ERR_RECRUIT_A_FRIEND_FAILED = 1009 VuhDoNewOptionsColorsModesNormalModePanelIcomingOpacCheckBox = VuhDoNewOptionsColorsModesNormalModePanelIcomingOpacCheckBox { } LE_GAME_ERR_ONLY_ONE_QUIVER = 36 INT_SPELL_DURATION_HOURS = "%d |4hour:hrs;" VuhDoNewOptionsGeneralAoeAdviceGeneralPanelKnownOnlyCheckButtonTextureActiveSwatch = VuhDoNewOptionsGeneralAoeAdviceGeneralPanelKnownOnlyCheckButtonTextureActiveSwatch { } LOSS_OF_CONTROL_DISPLAY_FEAR = "Feared" AllTheThings-Settings-Interface-Ad-Hoc Window Updates = AllTheThings-Settings-Interface-Ad-Hoc Window Updates { } LibDBIcon10_BugSack = LibDBIcon10_BugSack { } Vd1H2TotBgBarHlBar = Vd1H2TotBgBarHlBar { } AUCTIONATOR_L_DEFAULT_LIST_HEADER = "Default Shopping List" ACTION_SPELL_MISSED_POSSESSIVE = "1" VUHDO_I18N_BOUQUET_EMERGENCY_COLOR = "Color: Emergency" TELLMEWHEN_VERSION_FULL = "11.0.10 " L_DropDownList2Button39Check = L_DropDownList2Button39Check { } LE_GAME_ERR_AZERITE_ESSENCE_SELECTION_FAILED_ESSENCE_NOT_UNLOCKED = 1076 VuhDoNewOptionsColorsRadioPanelHotsRadioButtonTextureActiveSwatch = VuhDoNewOptionsColorsRadioPanelHotsRadioButtonTextureActiveSwatch { } DUNGEON_FLOOR_DRAGONBLIGHTCHROMIESCENARIO2 = "Andorhal" WL_DESC_LOCATION = "Show/hide your location in a movable tooltip." WowTokenRedemptionFrameBg = WowTokenRedemptionFrameBg { } DetailsBreakdownWindowTabFrameSummary4639SpellScrollContainerSpellScrollSpellBarButton31FontString12 = DetailsBreakdownWindowTabFrameSummary4639SpellScrollContainerSpellScrollSpellBarButton31FontString12 { } SPELL_FAILED_CUSTOM_ERROR_152 = "You must choose a specialization to use Ascendance." AllTheThings-Settings-General-|cffDC267FIllusions = AllTheThings-Settings-General-|cffDC267FIllusions { } STABLE_PET_ABILITIES_LISTHEADER = "Special Abilities" SendStationeryBackgroundRight = SendStationeryBackgroundRight { } VuhDoNewOptionsGeneralThreatIncomingPanelOverhealCheckButtonTextureCheckMark = VuhDoNewOptionsGeneralThreatIncomingPanelOverhealCheckButtonTextureCheckMark { } =
{ } RematchGameTooltipTexture10 = RematchGameTooltipTexture10 { } MultiBarLeftButton9Border = MultiBarLeftButton9Border { } LE_GAME_ERR_NOT_ON_TOURNAMENT_REALM = 890 UIWidgetCenterDisplayFrameText = UIWidgetCenterDisplayFrameText { } TitanPanelTITAN_DRWDMMButtonText = TitanPanelTITAN_DRWDMMButtonText { } VuhDoNewOptionsDebuffsCustomStorePanelAliveTimeCheckButton = VuhDoNewOptionsDebuffsCustomStorePanelAliveTimeCheckButton { } VuhDoNewOptionsSpellRadioPanelHostileRadioButtonTextureActiveSwatch = VuhDoNewOptionsSpellRadioPanelHostileRadioButtonTextureActiveSwatch { } OPTION_TOOLTIP_SHOW_ACCOUNT_A

teelolws commented 1 month ago

Ahh of course thats not going to work, activities isn't defined yet. Can you try the change in this push, tell me if it fixes it?

raysmith59 commented 4 weeks ago

Looks like you got it, no errors so far, thanks!

teelolws commented 4 weeks ago

Nope, its showing the wrong number for slot 2: image

teelolws commented 4 weeks ago

I've completed one tier 8 at max level but unfortunately there just doesn't seem to be any way to detect that in the API. No choice but it let it keep thinking we're 0/2 for the first slot until we're 2/2.