arkayenro / arkinventory

A World of Warcraft Inventory mod for Retail, Burning Crusade, and Classic
107 stars 14 forks source link

[BUG] LUA error for character/location changer #1917

Closed hollo6 closed 1 month ago

hollo6 commented 1 month ago

What version number you are using? alpha-12

What game client are you playing? Retail, Wrath, Classic / Live, PTR, Beta Retail

What language is the game client set to? enGB

Describe the bug When trying to view another character's inventory, it spams the below LUA error continuously while the switcher menu is open and the selected character's inventory will show the current one's instead.

35x ArkInventory/Core/ArkInventoryMenu.lua:3217: attempt to call field 'GetPlayerInfo' (a nil value) [string "@ArkInventory/Core/ArkInventoryMenu.lua"]:3217: in function `MenuSwitchCharacter' [string "@ArkInventory/Core/ArkInventoryMenu.lua"]:3270: in function <ArkInventory/Core/ArkInventoryMenu.lua:3269> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:1872: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:1821> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:2749: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2715> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:626: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:610>

Locals: offset = 0 level = 2 value = "SWITCH_CHARACTER_ERASE_Name - Ragnaros" frame = ARKINV_Frame13TitleActionButton5 { 0 = } loc_id = 13 codex =

{ toon =
{ } workpad =
{ } profile_id = 1000 layout =
{ } profile =
{ } loc_id = 13 style =
{ } catset_id = 1000 catset =
{ } layout_id = 1000 player =
{ } style_id = 1000 } account = nil realm = nil player_id = "Name - Ragnaros" (temporary) = nil (temporary) = "Name - Ragnaros" (*temporary) = "attempt to call field 'GetPlayerInfo' (a nil value)" string =
{ split = defined =[C]:-1 match = defined =[C]:-1 gmatch = defined =[C]:-1 upper = defined =[C]:-1 gsub = defined =[C]:-1 format = defined =[C]:-1 utf8sub = defined @ElkBuffBars/libs/UTF8/utf8.lua:183 lower = defined =[C]:-1 sub = defined =[C]:-1 find = defined =[C]:-1 gfind = defined =[C]:-1 len = defined =[C]:-1 rep = defined =[C]:-1 utf8len = defined @ElkBuffBars/libs/UTF8/utf8.lua:158 char = defined =[C]:-1 rtgsub = defined @Blizzard_FrameXML/RestrictedInfrastructure.lua:535 join = defined =[C]:-1 reverse = defined =[C]:-1 byte = defined =[C]:-1 trim = defined =[C]:-1 utf8reverse = defined @ElkBuffBars/libs/UTF8/utf8.lua:286 startswith = defined @MoveAny/libs/db.lua:645 } pairs = defined =[C]:-1

To Reproduce Click "Switch Character" button in the top row.

Screenshots N/A

Additional context This was working until a few versions ago (probably alpha-10), was definitely not a problem in alpha-5.

arkayenro commented 1 month ago

will be fixed in the next alpha

hollo6 commented 1 month ago

In alpha-14, it looks the same (won't change bag, showing the current one's inventory instead) but getting a different LUA error now:

17x ArkInventory/Core/ArkInventoryMenu.lua:3220: attempt to index field 'data' (a nil value) [string "@ArkInventory/Core/ArkInventoryMenu.lua"]:3220: in function `MenuSwitchCharacter' [string "@ArkInventory/Core/ArkInventoryMenu.lua"]:3270: in function <ArkInventory/Core/ArkInventoryMenu.lua:3269> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:1872: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:1821> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:2749: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2715> [string "@ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua"]:626: in function <...eArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:610>

Locals: offset = 0 level = 2 value = "SWITCH_CHARACTER_ERASE_Name - Ragnaros" frame = ARKINV_Frame1TitleActionButton5 { 0 = } loc_id = 1 codex =

{ toon =
{ } style_id = 1000 profile_id = 1007 catset_id = 1000 layout_id = 1007 player =
{ } style =
{ } workpad =
{ } layout =
{ } profile =
{ } loc_id = 1 catset =
{ } } account = nil realm = nil player_id = "Name - Ragnaros" tp =
{ istimerunner = 0 guid = "Player-3682-05D04B98" class = "HUNTER" class_local = "Hunter" race = "Troll" level = 70 realm = "Ragnaros" tradeskill =
{ } isplayer = true money = 24266320726 gender = 3 itemlevel = 491 guild_id = "+ - Ragnaros" name = "Name" faction = "Horde" race_local = "Troll" account_id = 100 player_id = "Name - Ragnaros" faction_local = "Horde" } (temporary) = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3032 (temporary) =
{ Close = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2983 AddSeparator = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3019 OnTooltipHide = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3348 AddLine = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3032 argCheck = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3470 error = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3497 SetStandardFont = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:31 IsOpen = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2706 GetOpenedParent = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2711 hookedTooltip = true IsRegistered = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2873 Refresh = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:1879 Open = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2935 InjectAceOptionsTable = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:3284 FeedTable = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:1762 onceRegistered =
{ } registry =
{ } FeedAceOptionsTable = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:1261 KEY_BUTTON2 = "Right Mouse" frame = Frame { } EncodeKeybinding = defined @ArkInventory/Libs/ArkDewdrop/ArkDewdrop.lua:2646 KEY_BUTTON1 = "Left Mouse" } (temporary) = "text" (temporary) = defined @ArkInventory/Core/ArkInventory.lua:13893 (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) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = "attempt to index field 'data' (a nil value)" string =
{ split = defined =[C]:-1 match = defined =[C]:-1 gmatch = defined =[C]:-1 upper = defined =[C]:-1 gsub = defined =[C]:-1 format = defined =[C]:-1 utf8sub = defined @ElkBuffBars/libs/UTF8/utf8.lua:183 lower = defined =[C]:-1 sub = defined =[C]:-1 find = defined =[C]:-1 gfind = defined =[C]:-1 len = defined =[C]:-1 rep = defined =[C]:-1 utf8len = defined @ElkBuffBars/libs/UTF8/utf8.lua:158 char = defined =[C]:-1 rtgsub = defined @Blizzard_FrameXML/RestrictedInfrastructure.lua:535 join = defined =[C]:-1 rever

arkayenro commented 1 month ago

sorry, i thought it was just a function that had been renamed and i missed that one but it appears theres a bigger underlying issue this just made obvious.

ill try and get it fixed for the next alpha

hollo6 commented 1 month ago

Looks good in alpha-15, thanks!

arkayenro commented 1 month ago

its still a bit wonky if you have stack compression enabled, it wont actually compress them across the new sublocation boundaries (bag/reagent bag or bank/reagent bank/account bank) when offline and i havent worked that one out yet, but i dont think anyone will overly care too much about that as its more of a cosmetic issue than a real one.

if you notice anything else weird with the offline views let me know

hollo6 commented 1 month ago

Thanks, will do! I'm not using that feature so all good for me. I did get a new error in the new version after using HS, but wanted to test on other characters to try and narrow down the cause and didn't note it (was AI printout and no LUA error). Will open a new ticket when I see it again. Only thing I remember it said was ArkInventoryCodex.lua:111 try to index some nil variable.