Message: Interface/AddOns/GSE/API/Storage.lua:561: attempt to index local ‘spellinfo’ (a nil value)
Time: Mon Nov 11 03:17:42 2024
Count: 5
Stack: Interface/AddOns/GSE/API/Storage.lua:561: attempt to index local ‘spellinfo’ (a nil value)
[string “@Interface/AddOns/Blizzard_FrameXML/RestrictedExecution.lua”]:483: in function <…ace/AddOns/Blizzard_FrameXML/RestrictedExecution.lua:446>
[string “=(tail call)”]: ?
[string “@Interface/AddOns/Blizzard_FrameXML/SecureHandlers.lua”]:285: in function <…nterface/AddOns/Blizzard_FrameXML/SecureHandlers.lua:279>
[string “=(tail call)”]: ?
Locals: owningFrame = EA_PP {
}
signature = “self,button,down”
body = " local mods = “RALT=” … tostring(IsRightAltKeyDown()) … “|” …
“LALT=”… tostring(IsLeftAltKeyDown()) … “|” …
“AALT=” … tostring(IsAltKeyDown()) … “|” …
“RCTRL=” … tostring(IsRightControlKeyDown()) … “|” …
“LCTRL=” … tostring(IsLeftControlKeyDown()) … “|” …
“ACTRL=” … tostring(IsControlKeyDown()) … “|” …
“RSHIFT=” … tostring(IsRightShiftKeyDown()) … “|” …
“LSHIFT=” … tostring(IsLeftShiftKeyDown()) … “|” …
“ASHIFT=” … tostring(IsShiftKeyDown()) … “|” …
“AMOD=” … tostring(IsModifierKeyDown()) … “|” …
“MOUSEBUTTON=” … GetMouseButtonClicked()
self:SetAttribute(‘localmods’, mods)
local step = self:GetAttribute(‘step’)
step = tonumber(step)
if self:GetAttribute(‘stepped’) then
self:SetAttribute(‘stepped’, false)
else
for k,v in pairs(spelllist[step]) do
if k == “macrotext” then
self:SetAttribute(“macro”, nil )
self:SetAttribute(“unit”, nil )
elsfactory =
I had this same error, I ended up modifying the GSE addon I modified this function in the, Storage.lua. I think this just handles spellInfo better when there is a nil returned. honestly not sure if this is a GSE bug or what? maybe we call it a slight improvement.
--Storage.lua
function GSE.UpdateIcon(self, reseticon)
local step = self:GetAttribute("step") or 1
local gsebutton = self:GetName()
local mods = self:GetAttribute("localmods") or nil
local executionseq = GSE.SequencesExec[gsebutton]
local foundSpell = executionseq[step].spell
local spellinfo = {}
spellinfo.iconID = Statics.QuestionMarkIconID
--GSE.Print("spell:" .. foundSpell .. "ok?","INFO")
local reset = self:GetAttribute("combatreset") and self:GetAttribute("combatreset") or false
if reseticon == true then
spellinfo.name = gsebutton
spellinfo.iconID = "Interface\\Addons\\GSE_GUI\\Assets\\GSE_Logo_Dark_512.blp"
foundSpell = gsebutton
elseif executionseq[step].type == "macro" and executionseq[step].macrotext then
spellinfo = GSE.GetSpellsFromString(executionseq[step].macrotext)
if spellinfo and #spellinfo > 1 then
spellinfo = spellinfo[1]
end
if spellinfo and spellinfo.name then
foundSpell = spellinfo.name
end
elseif executionseq[step].type == "macro" then
local mname, micon = GetMacroInfo(executionseq[step].macro)
if mname then
spellinfo.name = mname
spellinfo.iconID = micon
foundSpell = spellinfo.name
end
elseif executionseq[step].type == "item" then
local mname, _, _, _, _, _, _, _, _, micon = C_Item.GetItemInfo(executionseq[step].item)
if mname then
spellinfo.name = mname
spellinfo.iconID = micon
foundSpell = spellinfo.name
end
elseif executionseq[step].type == "spell" then
spellinfo = C_Spell.GetSpellInfo(executionseq[step].spell)
if spellinfo then
foundSpell = spellinfo.name
else
-- Handle the case where spellinfo is nil
GSE.Print(
"GSE Error: Unable to fetch spell info for step " .. step ..
". Spell ID or name may be invalid.",
"ERROR"
)
end
end
if executionseq[step].Icon then
if not spellinfo then
spellinfo = {}
end
spellinfo.iconID = executionseq[step].Icon
end
if spellinfo and spellinfo.name then
GSE.Print("Casting spell: " .. spellinfo.name, "DEBUG")
else
GSE.Print("No valid spell found for step " .. step, "DEBUG")
end
if mods then
local modlist = {}
for _, j in ipairs(strsplittable("|", mods)) do
local a, b = strsplit("=", j)
if a == "MOUSEBUTTON" then
modlist[a] = b
else
modlist[a] = b == "true" and true or false
end
end
if WeakAuras then
WeakAuras.ScanEvents("GSE_MODS_VISIBLE", gsebutton, modlist)
end
end
if spellinfo and spellinfo.iconID then
if WeakAuras then
WeakAuras.ScanEvents("GSE_SEQUENCE_ICON_UPDATE", gsebutton, spellinfo)
end
if GSE.ButtonOverrides then
for k, v in pairs(GSE.ButtonOverrides) do
if v == gsebutton and _G[k] then
_G[k].icon:SetTexture(spellinfo.iconID)
end
end
end
end
if not reset then
GSE.UsedSequences[gsebutton] = true
end
end
I’ve tried updating the individual Warrior plugin directly, also tried copying string in this post and then manually importing. The error still exists.
I’ve been getting this error popping up repeatedly
Message: Interface/AddOns/GSE/API/Storage.lua:561: attempt to index local ‘spellinfo’ (a nil value)
Time: Thu Dec 12 23:25:22 2024
Count: 9
Stack: Interface/AddOns/GSE/API/Storage.lua:561: attempt to index local ‘spellinfo’ (a nil value)
[string “=[C]”]: ?
[string “@Interface/AddOns/Blizzard_FrameXML/RestrictedExecution.lua”]:483: in function <…ace/AddOns/Blizzard_FrameXML/RestrictedExecution.lua:446>
[string “=(tail call)”]: ?
[string “@Interface/AddOns/Blizzard_FrameXML/SecureHandlers.lua”]:285: in function <…nterface/AddOns/Blizzard_FrameXML/SecureHandlers.lua:279>
[string “=(tail call)”]: ?
Locals:
replaced sequence and talents today, still getting it.
new update from curseforge and the updated sequence and talent, currently 75, but this problem only occurs on the paly and since lvl 70 and not the DH, AR, AFW, SH, GDR or BDK all of which are now 80 without errors with exception to the AFW whos dots arent casting, but i’ll go tot that thread about that.
I just copied the talents and installed the sequence. Ran the macro in the training dummies and had no issues. Went into an level 8 delve half way through it started throwing the same you got I’m stilling to figure out what’s causing the error and how to fix it.
The macro has been updated and is available in the original post and via both the Wago and Curseforge app. Hopefully, with this update any people experiencing Lua errors will have their errors resolved. Let me know what you think, Cheers!