Hi, sorry I know everyone is very busy atm but I'm getting crazy over here. Yesterday I finished testing an addon and all was fine and published it:
ToggleGroupFrame. Today I log in and catastrophe I got this error:
Code:
:1: function expected instead of nil
stack traceback:
:1: in function '(main chunk)'
<Locals> keybind = "TOGGLE_GROUP_FRAME" </Locals>
and I'm unable to solve the problem. I'm a beginner, I try to follow guides, I've spent alone more time on this than I'd like to admit, my energy is depleted and my capacities aren't what they were. I need help to sort this out, especially now that I've clearly made the mistake to upload too early.
Here's the lua:
Code:
local addon = { name = "ToggleGroupFrame" }
local em = GetEventManager()
local groupFrameHidden = true
local showInCombat = true
ZO_CreateStringId("SI_BINDING_NAME_TOGGLE_GROUP_FRAME", "Show/Hide group frame")
ZO_CreateStringId("SI_BINDING_NAME_TOGGLE_GROUP_FRAME_IN_COMBAT", "Show/Hide in combat")
local function OnAddOnLoaded(event, addonName)
if addonName ~= addon.name then return end
Initialize()
end
function Initialize()
ZO_UnitFramesGroups:SetHidden(true)
local savedVariables = ZO_SavedVars:New("ToggleGroupFrameSavedVariables", 1, nil, {}, GetWorldName())
SLASH_COMMANDS['/togglegroupframe'] = function()
groupFrameHidden = not groupFrameHidden
ZO_UnitFramesGroups:SetHidden(groupFrameHidden)
savedVariables.groupFrameHidden = groupFrameHidden
end
SLASH_COMMANDS['/tgf'] = SLASH_COMMANDS['/togglegroupframe']
SLASH_COMMANDS['/togglegroupframeincombat'] = function()
showInCombat = not showInCombat
savedVariables.showInCombat = showInCombat
UpdateGroupFrameVisibility()
end
SLASH_COMMANDS['/tgfc'] = SLASH_COMMANDS['/togglegroupframeincombat']
SLASH_COMMANDS['/tgfic'] = SLASH_COMMANDS['/togglegroupframeincombat']
em:RegisterForEvent(addon.name, EVENT_PLAYER_COMBAT_STATE, OnCombatStateChanged)
em:UnregisterForEvent(addon.name, EVENT_ADD_ON_LOADED)
end
function UpdateGroupFrameVisibility()
if IsUnitInCombat("player") then
if showInCombat then
ZO_UnitFramesGroups:SetHidden(false)
else
ZO_UnitFramesGroups:SetHidden(true)
end
else
ZO_UnitFramesGroups:SetHidden(groupFrameHidden)
end
end
function OnCombatStateChanged(event, inCombat)
if not groupFrameHidden then
return
end
UpdateGroupFrameVisibility()
end
em:RegisterForEvent(addon.name, EVENT_ADD_ON_LOADED, OnAddOnLoaded)
and the xml just to be sure:
Code:
<Bindings>
<Layer name="SI_KEYBINDINGS_LAYER_GENERAL">
<Category name="ToggleGroupFrame">
<Action name="TOGGLE_GROUP_FRAME">
<Down>SLASH_COMMANDS["/togglegroupframe"]()</Down>
</Action>
<Action name="TOGGLE_GROUP_FRAME_IN_COMBAT">
<Down>SLASH_COMMANDS["/togglegroupframeincombat"]()</Down>
</Action>
</Category>
</Layer>
</Bindings>
Any help would be much much much appreciated.