Improved Talent Loadouts

Improved Talent Loadouts

171k Downloads

catagoryKey null value for Class or Spec talent trees

Closed this issue ยท 1 comments

commented

Getting an issue with creating spec/class talent loadouts; follow removing and reinstalling the AddOn I am getting this error on every character I try. Cannot find reports of others facing the same issue. Has been occuring since latest patch (just before early access launch)

This error occurs whether its a "New" or "Import" option. Creating character specific layouts work without issue; just Spec/Class imports break.

SavedVariable file has blank entries corresponding to the SpecID in the lua file.

Have tried removing and reinstalling the AddOn.

I tried researching how categoryKey is pulled and built from the game API to work out if another AddOn is causing issue, but even with all other AddOns disabled errors still occur.


Failed attempt to import a spec Talent Loadout for Ret Pally before removing and reinstalling AddOn (Lots of other failures before this, only saved this one)

34x ...ns/ImprovedTalentLoadouts/ImprovedTalentLoadouts.lua:1650: attempt to index field '?' (a nil value)
[string "@ImprovedTalentLoadouts/ImprovedTalentLoadouts.lua"]:1650: in function `ImportSpecLoadout'
[string "@ImprovedTalentLoadouts/ImprovedTalentLoadoutsImportDialog.lua"]:89: in function <...alentLoadouts/ImprovedTalentLoadoutsImportDialog.lua:73>
[string "=(tail call)"]: ?
[string "@Blizzard_SharedXML/Mainline/SharedUIPanelTemplates.lua"]:1073: in function <...izzard_SharedXML/Mainline/SharedUIPanelTemplates.lua:1069>

Locals:
self = <table> {
 charDB = <table> {
 }
 charMacros = <table> {
 }
 duplicates = <table> {
 }
 globalDB = <table> {
 }
 blizzImported = true
 characterMacros = <table> {
 }
 initialized = true
 flyouts = <table> {
 }
 loaded = true
 dropdown = ImprovedTalentLoadoutsDropdownMenu {
 }
 globalMacros = <table> {
 }
 treeID = 658
 easyMenu = ImprovedTalentLoadoutsEasyMenu {
 }
 saveButton = Button {
 }
 specButtons = <table> {
 }
 specID = 62
}
importString = "C4DAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAIAAIAAAAAAAAAAAAAAAA"
loadoutName = "[S] Open World"
categoryKey = nil
currentSpecID = 62
fakeConfigID = 1
treeID = 658
loadoutEntryInfo = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
}
configID = 22860918
specEntryInfo = <table> {
}
(for index) = 1
(for limit) = 3
(for step) = 1
i = 1
nodeInfo = <table> {
 meetsEdgeRequirements = true
 entryIDs = <table> {
 }
 posX = 3900
 ID = 62121
 canPurchaseRank = false
 currentRank = 1
 visibleEdges = <table> {
 }
 isVisible = true
 posY = 1500
 entryIDsWithCommittedRanks = <table> {
 }
 isCascadeRepurchasable = false
 maxRanks = 1
 conditionIDs = <table> {
 }
 flags = 0
 activeEntry = <table> {
 }
 type = 0
 activeRank = 1
 groupIDs = <table> {
 }
 isAvailable = true
 ranksPurchased = 0
 canRefundRank = true
}
nodeCost = <table> {
}
(*temporary) = nil
(*temporary) = 62121
(*temporary) = "attempt to index field '?' (a nil value)"
TalentLoadouts = <table> {
 charDB = <table> {
 }
 charMacros = <table> {
 }
 duplicates = <table> {
 }
 globalDB = <table> {
 }
 blizzImported = true
 characterMacros = <table> {
 }
 initialized = true
 flyouts = <table> {
 }
 loaded = true
 dropdown = ImprovedTalentLoadoutsDropdownMenu {
 }
 globalMacros = <table> {
 }
 treeID = 658
 easyMenu = ImprovedTalentLoadoutsEasyMenu {
 }
 saveButton = Button {
 }
 specButtons = <table> {
 }
 specID = 62
}

All AddOns disabled, ITL fully removed, and SavedVariable files removed, then AddOn reinstalled.
First attempt to import a Class Talent Loadout (Survival Hunter)

Message: ...ns/ImprovedTalentLoadouts/ImprovedTalentLoadouts.lua:1692: attempt to index field '?' (a nil value)
Time: Sun Aug 25 19:50:16 2024
Count: 1
Stack: ...ns/ImprovedTalentLoadouts/ImprovedTalentLoadouts.lua:1692: attempt to index field '?' (a nil value)
[string "@Interface/AddOns/ImprovedTalentLoadouts/ImprovedTalentLoadouts.lua"]:1692: in function `ImportClassLoadout'
[string "@Interface/AddOns/ImprovedTalentLoadouts/ImprovedTalentLoadoutsImportDialog.lua"]:86: in function <...alentLoadouts/ImprovedTalentLoadoutsImportDialog.lua:73>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_SharedXML/Mainline/SharedUIPanelTemplates.lua"]:1073: in function <...izzard_SharedXML/Mainline/SharedUIPanelTemplates.lua:1069>

Locals: self = <table> {
 charDB = <table> {
 }
 charMacros = <table> {
 }
 duplicates = <table> {
 }
 globalDB = <table> {
 }
 dropdown = ImprovedTalentLoadoutsDropdownMenu {
 }
 loaded = true
 treeID = 774
 characterMacros = <table> {
 }
 initialized = true
 globalMacros = <table> {
 }
 flyouts = <table> {
 }
 easyMenu = ImprovedTalentLoadoutsEasyMenu {
 }
 saveButton = Button {
 }
 specButtons = <table> {
 }
 specID = 255
}
importString = "C8PAAAAAAAAAAAAAAAAAAAAAAMGYglxoxyAY2C2mZsNjZmZGzMzMmZGMmZmZAAAAAAAAAAAAAAgmhxMmZmxMjZYMMzwYYmlZwG"
loadoutName = "[C] SurvDelve"
categoryKey = nil
currentSpecID = 255
fakeConfigID = 1
configID = 25431770
treeID = 774
loadoutEntryInfo = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
 6 = <table> {
 }
 7 = <table> {
 }
 8 = <table> {
 }
 9 = <table> {
 }
 10 = <table> {
 }
 11 = <table> {
 }
 12 = <table> {
 }
 13 = <table> {
 }
 14 = <table> {
 }
 15 = <table> {
 }
 16 = <table> {
 }
 17 = <table> {
 }
 18 = <table> {
 }
 19 = <table> {
 }
 20 = <table> {
 }
 21 = <table> {
 }
 22 = <table> {
 }
 23 = <table> {
 }
 24 = <table> {
 }
 25 = <table> {
 }
 26 = <table> {
 }
 27 = <table> {
 }
 28 = <table> {
 }
 29 = <table> {
 }
 30 = <table> {
 }
 31 = <table> {
 }
 32 = <table> {
 }
 33 = <table> {
 }
 34 = <table> {
 }
 35 = <table> {
 }
 36 = <table> {
 }
 37 = <table> {
 }
 38 = <table> {
 }
 39 = <table> {
 }
 40 = <table> {
 }
 41 = <table> {
 }
 42 = <table> {
 }
 43 = <table> {
 }
 44 = <table> {
 }
 45 = <table> {
 }
 46 = <table> {
 }
 47 = <table> {
 }
 48 = <table> {
 }
 49 = <table> {
 }
 50 = <table> {
 }
 51 = <table> {
 }
 52 = <table> {
 }
 53 = <table> {
 }
 54 = <table> {
 }
 55 = <table> {
 }
 56 = <table> {
 }
 57 = <table> {
 }
 58 = <table> {
 }
 59 = <table> {
 }
 60 = <table> {
 }
 61 = <table> {
 }
 62 = <table> {
 }
 63 = <table> {
 }
 64 = <table> {
 }
 65 = <table> {
 }
 66 = <table> {
 }
 67 = <table> {
 }
 68 = <table> {
 }
 69 = <table> {
 }
 70 = <table> {
 }
 71 = <table> {
 }
 72 = <table> {
 }
}
classEntryInfo = <table> {
 1 = <table> {
 }
}
(for index) = 14
(for limit) = 72
(for step) = 1
i = 14
nodeInfo = <table> {
 meetsEdgeRequirements = true
 entryIDs = <table> {
 }
 posX = 8999
 ID = 99833
 canPurchaseRank = false
 currentRank = 1
 visibleEdges = <table> {
 }
 isVisible = true
 posY = 600
 isCascadeRepurchasable = false
 entryIDsWithCommittedRanks = <table> {
 }
 conditionIDs = <table> {
 }
 isDisplayError = false
 activeEntry = <table> {
 }
 flags = 9
 type = 3
 maxRanks = 1
 activeRank = 1
 groupIDs = <table> {
 }
 isAvailable = true
 ranksPurchased = 1
 canRefundRank = true
}
nodeCost = <table> {
}
(*temporary) = nil
(*temporary) = 99833
(*temporary) = "attempt to index field '?' (a nil value)"
TalentLoadouts = <table> {
 charDB = <table> {
 }
 charMacros = <table> {
 }
 duplicates = <table> {
 }
 globalDB = <table> {
 }
 dropdown = ImprovedTalentLoadoutsDropdownMenu {
 }
 loaded = true
 treeID = 774
 characterMacros = <table> {
 }
 initialized = true
 globalMacros = <table> {
 }
 flyouts = <table> {
 }
 easyMenu = ImprovedTalentLoadoutsEasyMenu {
 }
 saveButton = Button {
 }
 specButtons = <table> {
 }
 specID = 255
}
commented

Will be in the next update. Should be fixed by commit 19198bf