AutoGear

AutoGear

173k Downloads

Not working on wow retail

Jenh4681 opened this issue · 12 comments

commented

/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 =
{
}

commented

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.
commented

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.

commented

I released a version with a potential fix for this. Would you mind trying it and letting me know if it's resolved?

commented

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!

commented

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!

commented

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.

commented

That didn't change anything. Still have to click my scan macro to equip gear.

commented

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.

commented

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.

commented
commented

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?

commented