Update 4.981 broke gathermate2
luitzifa opened this issue ยท 26 comments
Hi,
it sounds quite strange but the last update broke gathermate2.
gathermates creates "waypoints" on map and minimap when you loot from herbal or mining nodes.
Since last guildbook update 4.981 those waypoints disapper after mage teleport or hearthstone teleport.
I don't get a LUA error, it just doesn't work.
I made a video to show you: https://www.youtube.com/watch?v=8vfwl2_9JYA
Hi,
I would say with about 99% certainty that this isnt a guildbook issue, guildbook doesnt touch the minimap nor does it touch the HBD lib required for minimap icons etc
I have however noticed when i go to skettis the nodes often disappear and also soemtimes just going from zone to zone.
I will keep a note of this and if any should show up as being an issue that is something i need to resolve then i will of course take action.
Hey there,
As stpain said, there shouldn't be any conflict between the two addons, nevertheless if there were, it would 100% display a Lua error
Are you sure your interface is configured to display Lua errors? With no interface addon, they should be hidden by default.
Could you type in chat
/console scriptErrors 1
and see if anything shows after you teleport/hearthstone?
Sorry, no Lua Errors displayed with /console scriptErrors 1
I installed 4.973 and the issue was gone. Reinstalled 4.981 and issue is back.
I know that it sound really impossible, even for a noob like me. Thats why i made the video :-/
OK, now, just to be sure that there is some kind of incompatibilty:
- removed WTF, Cache and Interface
- Started wow-tbc.
- Exited game.
- Install Guildbook, Gathermate2 and Gathermate2 data
- Started the Game
- pasted
/console scriptErrors 1
into the chat - reloaded with
/reload
- Imported the gathermate data
- Nodes were visible
- teleported to theramore
- Node were invisible again
This is a long shot, but could you try with Guildbook database installed as well?
( https://www.curseforge.com/wow/addons/guildbook_tsdb )
@stpain Do you think Guildbook could somehow get confused and try to call the wrong databse?
well i have both addons running and have just done the skettis egg bomb daily and the cooking daily for mana berries, that involves several zones and at all times the minimap was showing gathermate node icons
feel free to do a ctrl+f in any guildbook file for either Gathermate or HBD (HereBeDragons lib which does the minimap icons), guildbook doesnt touch anything to do with it.
just to add to this, i was in skettis but got logged out due to afk timer
logged back in and none of my gathermate nodes show up, anywhere, flew back to shat (no portals or HS) and still no nodes showing
Today i notized that gathermate2 has the option to show the node only when you have the profession, which i had activated and is default i think, or always or when tracking or never. So when i just switch to "always", the nodes appear.
I'm guessing that somehow in some situations gathermate2 is unable to find out that i have herbalism and this is caused by some kind of interference with guildbook.
hmmm, i dont have the kowledge to 100% rule it out, however as ive stated before there is zero mention or reference or variable or pointer that interacts with Gathermate2 - so the chance of guildbook being able to modify a value ro setting of athermate2 is incredibly slim
Further investigation into gathermate2 show they use https://wowpedia.fandom.com/wiki/API_GetSkillLineInfo to get info about professions. The return of that is different when using guildbook.
I don't quite understand why it is collapsed with guildbook. The code of guildbook suggests it restores the initial state.
i ran
/run for i = 1, GetNumSkillLines() do local skill, isHeader, isExpanded, level, _, _, _, _, _, _, _, _, _ = GetSkillLineInfo(i); if isExpanded then ExpandSkillHeader(i) else CollapseSkillHeader(i) end end
in wow and it always collapses.
well thats the idea, could be something beyond my understanding, for example the blizz code for the interfaces does something i dont know about.
i have commented this out for now and will use the spellbook method and look for a way to grab prof levels
So the problem is:
The isExpanded of for example alchemy is always nil because its not a header. The code trys to restore this state and collapses the header of alchemy which is "professions".
This should do the trick:
/run for i = 1, GetNumSkillLines() do local skill, isHeader, isExpanded, level, _, _, _, _, _, _, _, _, _ = GetSkillLineInfo(i); if isHeader then if isExpanded then ExpandSkillHeader(i) else CollapseSkillHeader(i) end end end
ah i see what you mean, i've added a different method to get the skill level which could mean removing a chunk of the skill lines stuff, pushed to git but not published as update
I can confirm that this Issue is solved in current master branch.
But this is the what happens now:
Message: Interface\AddOns\Guildbook\Core.lua:990: attempt to index global 'TradeSkillRankFrameSkillRank' (a nil value)
Time: Tue Dec 21 11:28:43 2021
Count: 8
Stack: Interface\AddOns\Guildbook\Core.lua:990: attempt to index global 'TradeSkillRankFrameSkillRank' (a nil value)
[string "@Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua"]:761: in function <...Ons\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:717>
[string "@Interface\AddOns\RCLootCouncil_Classic\RCLootCouncil\Core\ErrorHandler.lua"]:146: in function <...tCouncil_Classic\RCLootCouncil\Core\ErrorHandler.lua:144>
[string "=[C]"]: ?
[string "@Interface\AddOns\Guildbook\Core.lua"]:990: in function `ScanTradeskillRecipes'
[string "@Interface\AddOns\Guildbook\Core.lua"]:1343: in function <Interface\AddOns\Guildbook\Core.lua:1339>
Locals: errMsg = "Interface\AddOns\Guildbook\Core.lua:990: attempt to index global 'TradeSkillRankFrameSkillRank' (a nil value)"
isBugGrabber = nil
tsmErrMsg = nil
oldModule = nil
private = <table> {
globalNameTranslation = <table> {
}
FormatErrorMessageSection = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:517
ErrorHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:134
origErrorHandler = <function> defined @Interface\SharedXML\SharedBasicControls.lua:296
hitInternalError = false
CreateErrorFrame = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:536
num = 0
SanitizeString = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:510
AddonBlockedHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:502
GetStackLevelInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:344
ParseLocals = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:396
ignoreErrors = false
errorReports = <table> {
}
IsTSMAddon = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:478
localLinesTemp = <table> {
}
GetStackInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:313
}
MAX_STACK_DEPTH = 50
OLD_TSM_MODULES = <table> {
1 = "TradeSkillMaster_Accounting"
2 = "TradeSkillMaster_AuctionDB"
3 = "TradeSkillMaster_Auctioning"
4 = "TradeSkillMaster_Crafting"
5 = "TradeSkillMaster_Destroying"
6 = "TradeSkillMaster_Mailing"
7 = "TradeSkillMaster_Shopping"
8 = "TradeSkillMaster_Vendoring"
9 = "TradeSkillMaster_Warehousing"
}
hmm, didnt get that myself, are you on classic or tbc? its an easy fix but just curious - its a blizz global name for something
mmm ok the cooking ui uses the tradeskill named widgets so ive just added an extra check for the object name
Ah, I didn't specifically check for cooking as I assumed it was under crafting. Basically from what I've discovered they have tradeskill and craft which covers professions and cooking and even pet training etc.
Most professions fall under tradeskill except enchanting which uses crafting, so I'll have to check the name for the ui element used for cooking.
Thanks