Outkasted = Outkasted or {} function Outkasted.initMenu() local defaults = { accountWide = true, } local panelData = { type = "panel", name = "Outkasted", displayName = "Outkasted", author = "Flightkick", version = Outkasted.version, registerForRefresh = true, website = "https://flightkick.gitlab.io/outkasted-website/", } local optionsData = { { type = "checkbox", name = "Account-wide settings", getFunc = function() return Outkasted.savedVariablesChar.accountWide end, setFunc = function(value) Outkasted.savedVariablesChar.accountWide = value Outkasted.savedVariables = value and Outkasted.savedVariablesAccount or Outkasted.savedVariablesChar end, width = "full", }, } Outkasted.savedVariablesAccount = ZO_SavedVars:NewAccountWide("OutkastedSavedVars", 1, nil, defaults) Outkasted.savedVariablesChar = ZO_SavedVars:NewCharacterIdSettings("OutkastedSavedVars", 1, nil, defaults) Outkasted.savedVariables = Outkasted.savedVariablesChar if Outkasted.savedVariablesChar.accountWide == true then Outkasted.savedVariables = Outkasted.savedVariablesAccount end LibAddonMenu2:RegisterAddonPanel("OUTKASTEDS", panelData) LibAddonMenu2:RegisterOptionControls("OUTKASTEDS", optionsData) end