Not working on wow retail
Jenh4681 opened this issue · 14 comments
/ag scan doesn't work, clicking the scan button in the options doesn't work either.
After downloading bug sack, the command and the button both pop up errors.
2x Interface/AddOns/AutoGear/AutoGear.lua:2632: attempt to index field '?' (a nil value)
[string "@Interface/AddOns/AutoGear/AutoGear.lua"]:2632: in function AutoGearConsiderAllItems' [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:3791: in function
AutoGearScan'
[string "@Interface/AddOns/AutoGear/AutoGear.lua"]:2069: in function <Interface/AddOns/AutoGear/AutoGear.lua:2057>
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function ?' [string "@Interface/FrameXML/ChatFrame.lua"]:5219: in function
ChatEdit_ParseText'
[string "@Interface/FrameXML/ChatFrame.lua"]:4883: in function ChatEdit_SendText' [string "@Interface/FrameXML/ChatFrame.lua"]:4919: in function
ChatEdit_OnEnterPressed'
[string "*ChatFrame.xml:127_OnEnterPressed"]:1: in function <[string "*ChatFrame.xml:127_OnEnterPressed"]:1>
Locals:
lootRollItemID = nil
questRewardID = nil
arbitraryItemInfo = nil
noActions = nil
anythingBetter = nil
info =
empty = 1
item =
}
name = "nothing"
}
(for index) = 31
(for limit) = 34
(for step) = 1
invSlot = 31
(*temporary) = nil
(*temporary) =
empty = 1
item =
}
name = "nothing"
}
(*temporary) = 0
(*temporary) = 1
(*temporary) = 30
(*temporary) = defined @Interface/AddOns/AutoGear/AutoGear.lua:2816
(*temporary) =
empty = 1
item =
}
name = "nothing"
}
(*temporary) = 4
(*temporary) = 30
(*temporary) = nil
(*temporary) = nil
(*temporary) = 1
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) =
Clear = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:29
IsEquipmentSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:56
IsEqualToBagAndSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:72
SetBagAndSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:35
IsBagAndSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:60
SetEquipmentSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:46
slotIndex = 30
HasAnyLocation = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:64
bagID = 4
GetEquipmentSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:52
IsEqualToEquipmentSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:80
GetBagAndSlot = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:42
IsValid = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:68
IsEqualTo = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:88
}
(*temporary) = defined @Interface/FrameXML/ObjectAPI/ItemLocation.lua:35
(*temporary) = "attempt to index field '?' (a nil value)"
futureAction =
}
Update on the current status of AutoGear, especially it not working in WoW Dragonflight, from the AutoGear maintainer perspective:
- After starting playing WoW again this year after having taken a break for more than a year, I have done some updates for Classic SOD, since that's what I'm playing right now. AutoGear is working well there now, in my opinion.
- I am interested in playing what Blizzard calls "Retail" (even though technically all versions of WoW are equally retail products, but let's just go with this terrible naming scheme for now) some day, but that day has not yet come.
- Some time last year in 2023, I tried my utmost to update the tooltip code for Dragonflight patch 10.0.2 and later since that's when they completely broke the former way of adding information to tooltips and reading tooltips, but I found that the API itself was more limited and what AutoGear does was no longer possible. I reported this to Blizzard devs at the time, but they basically didn't acknowledge the issue, probably because it's very hard to explain and to understand.
- Because I am playing Classic SOD, and the same API change does not exist there, and AutoGear works well there, I don't have much motivation for fixing AutoGear for Dragonflight.
- In the mean time, the TOC version for Dragonflight is purposely set to 100000, since I know for certain that AutoGear does not work in Dragonflight patch 10.0.2 or later yet.
- Since I have not increased the TOC version number beyond 100000, CurseForge should not claim that the addon works with WoW 10.0.2. This is CurseForge's fault; not mine. The TOC file is correctly set to use version number 100000, which is for Dragonflight 10.0.0.
- Someone opened a pull request to resolve Dragonflight 10.0.2-and-later compatibility a while back, but after a lot of code review back and forth, I discovered that their pull request was flawed and couldn't possibly work unfortunately, and after explaining this to them, they gave up.
- I plan to try again to fix AutoGear for Dragonflight or any later expansions when I play it again, but if the API is limited in a way that makes AutoGear's tooltip code not work, the tooltip system may become unavailable, which is frankly not really acceptable for an update, in my opinion. I will contact Blizzard devs again in the appropriate place(s) if that happens.
- I have a full-time job, a spouse, and 2 young kids, so I don't have much time (and more specifically, energy) for personal programming projects.
- I still love AutoGear and I wish everyone could enjoy it, so I feel sorry that it has remained broken in Dragonflight after working at least decently for so many years.
- I feel proud of the recent situation with AutoGear in Classic SOD, since I think I have finally solved many of the serious long-standing issues that have plagued the addon.
- I don't see comments on CurseForge immediately because CurseForge does not have a good notification system, so it's better to use GitHub.
- I appreciate everyone's bug reporting in GitHub issues. Thank you.
ok So it's still not auto equipping anything, but the scan command works now at least.
It doesn't give an error. It just doesn't switch gear until I scan for it.
I released a version with a potential fix for this. Would you mind trying it and letting me know if it's resolved?
There's an option to auto-equip gear in the options menu, which is the first option. Is that option enabled? This is not meant to be condescending; just covering all bases. Thanks for the report!
lol yes it's enabled. I also tried turning it off and then on again. ;)
I made a macro to scan, I'm using that for now without issue. I just am perplexed with why it's not auto equipping! So odd!
It could be a difference in loot chat output between mainline and wotlk classic. Recently, I implemented chat-scanning to see when looting gear vs. non-gear to prevent scanning for upgrades every time you loot an item, instead of just when looting gear. I have only tested that on wotlk classic, so I don't know if it works on mainline. It may not. That might be the issue.
To test whether that is the issue, would you mind commenting out line 2378, which should look like this?
-- if it's not gear, return early to avoid scanning for upgrades
if link and (C_Item.GetItemInventoryTypeByID(link) == Enum.InventoryType.IndexNonEquipType) then return end
Just prepend --
on the line that starts with if link and
, and then reload UI in-game with /run ReloadUI()
(or any other way). If it automatically scans after looting items after that, then I'll know the cause.
If this is happening to anyone else who sees this thread, please let me know. I'd like some more information before I do more guesswork.
It seems there are tooltip errors in that release, so I've undone it for now. Sorry about this confusion. I'll try to solve the errors some day soon, but I'm busy for the rest of today and all of this weekend at least, so I'm not sure when I'll have time to do it.
I've committed some changes related to Dragonflight compatibility this week with the help of some other contributors, so this may be resolved. Would you mind testing it and letting me know?
I'll probably be checking this out again soon. I've started playing TWW. Various aspects of the addon API have improved since I last investigated fixing this, so I'm hopeful that I won't hit the same wall I hit last time. RatingBuster does something that AutoGear needs to do when hooking tooltips, so I'll probably end up looking at how RatingBuster does it to figure out how to do it in AutoGear.
I've updated AutoGear to work for DF and TWW. There are 3 known issues:
- Typing
/ag
to show the options menu does something weird and doesn't show the addon options menu properly. It shows the main settings menu instead. I'm not sure why right now. - Tooltips in the options menu don't show up at all, so it's hard to learn about the options right now.
- All AutoGear built-in stat weights are not updated, so just use Pawn scales for weights because AutoGear's built-in weights are either not ideal or don't work at all right now.
I plan to solve the options menu issues soon.