AlexFolland / AutoGear

WoW convenience addon that automatically handles gear looting and equipping
https://curseforge.com/wow/addons/autogear
Other
8 stars 11 forks source link

Getting too many errors (Dragonflight options menu) #33

Closed furtrade closed 1 year ago

furtrade commented 1 year ago

The latest update 2022-10-29-release (2022-10-30) is causing too many errors.

The menu seems to have vanished completely. ☹️

image

I really like this addon. Keep up the good work!

AlexFolland commented 1 year ago

Can you post the errors please?

tbhozie commented 1 year ago

First error

`Message: Interface/AddOns/AutoGear/AutoGear.lua:1723: attempt to call global 'InterfaceAddOnsList_Update' (a nil value) Time: Sun Oct 30 09:53:13 2022 Count: 1 Stack: Interface/AddOns/AutoGear/AutoGear.lua:1723: attempt to call global 'InterfaceAddOnsList_Update' (a nil value) [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:1723: in main chunk

Locals: _ = "AutoGear" T =

{ Localization =
{ } } TOC_VERSION_CURRENT = 100000 TOC_VERSION_TBC = 20000 TOC_VERSION_WOTLK = 30000 TOC_VERSION_CATA = 40000 TOC_VERSION_MOP = 50000 TOC_VERSION_WOD = 60000 TOC_VERSION_LEGION = 70000 TOC_VERSION_BFA = 80000 TOC_VERSION_SL = 90000 TOC_VERSIONDF = 100000 = nil next = defined =[C]:-1 reason = nil futureAction =
{ } weapons = nil tUpdate = 0 dataAvailable = nil shouldPrintHelp = false maxPlayerLevel = 60 L =
{ } verbosityNames =
{ 1 = "info" 2 = "details" 3 = "debug" 0 = "errors" } playerIsFemale = false tooltipFrame = AutoGearTooltip { 0 = NineSlice = Frame { } textRight2Font = "GameTooltipText" updateTooltipTimer = 0.200000 TextRight2 = AutoGearTooltipTextRight2 { } layoutType = "TooltipDefaultLayout" textLeft1Font = "GameTooltipHeaderText" TopOverlay = Texture { } TextRight1 = AutoGearTooltipTextRight1 { } TextLeft2 = AutoGearTooltipTextLeft2 { } needsReset = true BottomOverlay = Texture { } TextLeft1 = AutoGearTooltipTextLeft1 { } textLeft2Font = "GameTooltipText" textRight1Font = "GameTooltipHeaderText" } E = 0.000001 newCheckbox = defined @Interface/AddOns/AutoGear/AutoGear.lua:1539 optionsSetup = defined @Interface/AddOns/AutoGear/AutoGear.lua:1557 optionsMenu = AutoGearOptionsPanel { 0 = name = "AutoGear" } (temporary) = nil (temporary) = "attempt to call global 'InterfaceAddOnsList_Update' (a nil value)" `

Second error

Message: Interface/AddOns/AutoGear/AutoGear.lua:331: attempt to call global 'AutoGearMain' (a nil value) Time: Sun Oct 30 09:54:40 2022 Count: 4412 Stack: Interface/AddOns/AutoGear/AutoGear.lua:331: attempt to call global 'AutoGearMain' (a nil value) [string "=[C]"]: in functionAutoGearMain' [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:331: in function <Interface/AddOns/AutoGear/AutoGear.lua:330>

Locals: `

AlexFolland commented 1 year ago

OK, thanks. I haven't been playing Dragonflight which is why I didn't increase the TOC version number for Dragonflight with this release. I've been playing Wrath Classic, where that function works.

I am currently busy with my family, but I understand the difficulty this introduces; sorry. I have a potential workaround which would help me solve the issue as well, if you wouldn't mind trying and giving me the result.

If you comment out line 1723 where function InterfaceAddOnsList_Update is called, and save it, does AutoGear start working again?

ncplus0 commented 1 year ago

im getting also a lot of errors i had to disable the addon wow wrath AutoGear-2022-10-29-release-wrath.zip 13326x AutoGear\AutoGear.lua:2690: attempt to index field '?' (a nil value) [string "@AutoGear\AutoGear.lua"]:2690: in functionAutoGearConsiderItem' [string "@AutoGear\AutoGear.lua"]:2498: in function AutoGearConsiderAllItems' [string "@AutoGear\AutoGear.lua"]:3852: in functionAutoGearMain' [string "@AutoGear\AutoGear.lua"]:331: in function <AutoGear\AutoGear.lua:330>

Locals: info =

{ validGearSlots =
{ } invType = 24 link = "|cffffffff|Hitem:2519::::::::28:::::::::|h[Heavy Shot]|h|r" id = 2519 usable = 1 classID = 6 reason = "(found red text: "Bow")" shouldShowScoreInTooltip = 1 rarityColor =
{ } name = "Heavy Shot" isGear = true rarity = 1 subclassID = 3 equipped = false item =
{ } } bag = 2 slot = 9 rollOn = nil chooseReward = nil justLook = nil score = 0 firstValidGearSlot = 0 lowestScoringValidGearSlot = 0 (temporary) = nil (temporary) =
{ } (temporary) = 0 (temporary) = 0 (temporary) = 0 (temporary) = 1 (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = "attempt to index field '?' (a nil value)"`

tbhozie commented 1 year ago

OK, thanks. I haven't been playing Dragonflight which is why I didn't increase the TOC version number for Dragonflight with this release. I've been playing Wrath Classic, where that function works.

I am currently busy with my family, but I understand the difficulty this introduces; sorry. I have a potential workaround which would help me solve the issue as well, if you wouldn't mind trying and giving me the result.

If you comment out line 1723 where function InterfaceAddOnsList_Update is called, and save it, does AutoGear start working again?

Yup that gets it to work again, there are some other errors thrown at times related to specific items, but nothing breaking. Thanks for the quick fix.

Here is the error I get randomly hovering over certain items.

`Message: Interface/AddOns/AutoGear/AutoGear.lua:2863: Usage: GetItemInfoInstant(itemID|"name"|"itemlink") Time: Sun Oct 30 12:09:29 2022 Count: 6 Stack: Interface/AddOns/AutoGear/AutoGear.lua:2863: Usage: GetItemInfoInstant(itemID|"name"|"itemlink")

string "=[C]": in function GetItemInfoInstant' [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:2863: in functionAutoGearReadItemInfo' [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:3634: in function <Interface/AddOns/AutoGear/AutoGear.lua:3626>

string "=[C]": in function SetBagItem' [string "@Interface/FrameXML/ContainerFrame.lua"]:1477: in functionOnUpdate' [string "@Interface/FrameXML/ContainerFrame.lua"]:1445: in function `OnEnter' [string "@Interface/FrameXML/ContainerFrame.lua"]:1441: in function <Interface/FrameXML/ContainerFrame.lua:1440>

Locals: `

AlexFolland commented 1 year ago

Is the "Locals" part of the error populated? That would help me figure out what item it is that you're seeing the issue with.

AlexFolland commented 1 year ago

@ncplus0 That looks like an error specific to ammo types in Wrath Classic. Would you mind opening a separate ticket for that one? I will fix it there soon. Sorry for the inconvenience. I tested my changes on my shaman and my warlock, not my hunter. It seems using the wrong ammo type is a problem.

tbhozie commented 1 year ago

Is the "Locals" part of the error populated? That would help me figure out what item it is that you're seeing the issue with.

No it is not - Actually looks like the only item that throws it is a Mythic+ key when I hover over it

AlexFolland commented 1 year ago

I haven't fixed all issues yet, but I pushed a release which should fix some. Thanks for all the info so far. This is in preparation for implementing locking particular slots, a feature I've wanted for years. I was expecting some issues, but not as many as there are, since everything was working in my local tests during development, but it seems I missed some cases. Thank you for your patience.

AlexFolland commented 1 year ago

I've pushed a new release which I'm expecting to have resolved all known issues, at least in Wrath Classic, but I haven't been able to test in Dragonflight. @tbhozie, would you mind giving it a try? Also, please let me know which items you hovered over if you see any errors, ideally with item ID but if not possible, just the item name.

AlexFolland commented 1 year ago

The original issue in this ticket is solved, and I have pushed a release which should solve various other issues. Please feel free to open a new ticket for any other issue. Thanks for all the reports!

tbhozie commented 1 year ago

Yup, fixed for me - Thanks