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

Not working on wow retail #38

Open Jenh4681 opened 1 year ago

Jenh4681 commented 1 year ago

/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 functionAutoGearScan' [string "@Interface/AddOns/AutoGear/AutoGear.lua"]:2069: in function <Interface/AddOns/AutoGear/AutoGear.lua:2057>

...

string "=[C]": in function ?' [string "@Interface/FrameXML/ChatFrame.lua"]:5219: in functionChatEdit_ParseText' [string "@Interface/FrameXML/ChatFrame.lua"]:4883: in function ChatEdit_SendText' [string "@Interface/FrameXML/ChatFrame.lua"]:4919: in functionChatEdit_OnEnterPressed'

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

AlexFolland commented 1 year ago

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

Jenh4681 commented 1 year ago

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.

AlexFolland commented 1 year ago

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!

Jenh4681 commented 1 year ago

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!

AlexFolland commented 1 year ago

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.

Jenh4681 commented 1 year ago

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

AlexFolland commented 1 year ago

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.

AlexFolland commented 1 year ago

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?

Jenh4681 commented 1 year ago

Sure! Fingers crossed! On Jan 27, 2023 at 9:06 AM -0500, Alex Folland @.***>, wrote:

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? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

AlexFolland commented 1 year ago

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.

Jenh4681 commented 1 year ago

Ok no problem at all! Looking forward to helping. On Jan 27, 2023 at 10:00 AM -0500, Alex Folland @.***>, wrote:

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. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

AlexFolland commented 6 months ago

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.