Guildbook

Guildbook

860k Downloads

Update 4.981 broke gathermate2

luitzifa opened this issue ยท 26 comments

commented

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

commented

Installed guildbook_tsdb but no change.

commented

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.

commented

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?

commented

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.

commented

I know that it sound really impossible, even for a noob like me. Thats why i made the video :-/

commented

OK, now, just to be sure that there is some kind of incompatibilty:

  1. removed WTF, Cache and Interface
  2. Started wow-tbc.
  3. Exited game.
  4. Install Guildbook, Gathermate2 and Gathermate2 data
  5. Started the Game
  6. pasted /console scriptErrors 1 into the chat
  7. reloaded with /reload
  8. Imported the gathermate data
  9. Nodes were visible
  10. teleported to theramore
  11. Node were invisible again
commented

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?

commented

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.

commented

Flying from one zone to another works for me.

commented

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

commented

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.

commented

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

commented

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.

commented

I think it's because you collapse it

commented

aye it could be, it will return nothing if the header is colapsed

commented

I don't quite understand why it is collapsed with guildbook. The code of guildbook suggests it restores the initial state.

commented

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.

commented

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

commented

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

commented

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

commented

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"
}

commented

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

commented

mmm ok the cooking ui uses the tradeskill named widgets so ive just added an extra check for the object name

commented

i'm on tbc
I can reproduce this error by cooking something.

commented

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

commented

i guess this can be closed now.