안녕하세요
이번 한밤패치 후에 돌아왔는데 갑자기 잘되던 중앙 버튼이 뭘해도 뜨지않아서 
이렇게 질문드립니다. 


예전엔 저렇게 가운데 양옆에 6개씩 떴는데 
지금은 보이지 않아서 게임이 너무 힘들어졌어요 
아침부터 일어나서 찾았는데 비슷한 애드온이 없네요..
찾아본 애드온은 도미노/바텐더/OPIE? 등이 있는데 너무 달라서요..


제가 메모장으로 들어가서 봤는데 어디를 건드려야 할지 몰라서 이렇게 도움을 구합니다. 
도움 주시면 감사드리겠습니다.


---------------------------------------


---@diagnostic disable: undefined-field, redundant-parameter
local addonname, addon = ...
local ActionButton_UpdateState = ActionButton_UpdateState or function(self) self:UpdateState() end
local ActionButton_SetTooltip = ActionButton_SetTooltip or function(self) self:SetTooltip() end

local default = {
    x = { -14, -14, -14, -19, -19, -19, 14, 14, 14, 19, 19, 19 },
    y = { -5, 0, 5, -7, -2, 3, -5, 0, 5, 3, -2, -7 },
    scales = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    yOffset = 0,
    alpha = 1,
    scale = 1,
    hideTooltip = true,
    combat = false,
    mouseover = false,
    vehiclehide = false,
    step = 10,
    showgrid = true,
    page = 8,
}

addon = CreateFrame("checkbutton", addonname, UIParent, "SecureHandlerAttributeTemplate")
addon:SetFrameStrata("BACKGROUND")
addon:SetWidth(36)
addon:SetHeight(36)
addon:SetPoint("CENTER")
addon:EnableMouse(false)
addon:SetAttribute("_onattributechanged", [=[
if name == 'actionpage' then
control:ChildUpdate('state')
elseif name == "state-vehicle" then
if value == "hide" then
self:Hide()
else
self:Show()
end
end
]=])
addon.buttons = {}

local buttons = addon.buttons

-- eventhandler
local events = {}
addon:SetScript("OnEvent", function(self, event, ...)
    local callback = events[event]
    local types = type(callback)
    if (types == "string" and self[callback]) then
        self[callback](self, event, ...)
    elseif (types == "function") then
        callback(self, event, ...)
    elseif self[event] then
        self[event](self, event, ...)
    end
end)
hooksecurefunc(addon, "RegisterEvent", function(self, event, callback)
    events[event] = callback
end)

-- alpha
local function OnUpdate(self, elapsed)
    self.update = self.update + elapsed
    if self.update >= 0.3 or self.startAlpha == self.endAlpha or self.db.alpha == 1 then
        self.update = 0
        self:SetAlpha(self.endAlpha)
        self:SetScript("OnUpdate", nil)
        return
    end
    self:SetAlpha(self.startAlpha + (self.endAlpha - self.startAlpha) * (self.update / 0.3))
end

local function SetAlpha(endalpha)
    addon.startAlpha = addon:GetAlpha()
    addon.endAlpha = endalpha
    addon.update = 0
    addon:SetScript("OnUpdate", OnUpdate)
end

-- child script
local function OnEnter(self)
    if not addon.db.hideTooltip then
        ActionButton_SetTooltip(self)
    end
    if addon.db.mouseover and addon.endAlpha ~= 1 then
        SetAlpha(1)
    end
end

local function OnLeave(self)
    GameTooltip:Hide()
    if addon.db.mouseover and not (addon.iscombat or addon.targetselect) then
        SetAlpha(addon.db.alpha)
    end
end

local function OAU(self) if self.action then ActionButton_UpdateState(self) end end

-- binding
local function UpdateBindings()
    for i, button in ipairs(buttons) do
        local name = button:GetName()
        local hotkey = _G[name .. "HotKey"]
        local key = GetBindingKey(name:upper())
        local text = GetBindingText(key, "KEY_", 1)
        if text == "" then
            hotkey:SetText(RANGE_INDICATOR)
            hotkey:SetPoint("TOPLEFT", button, "TOPLEFT", 1, -2)
            hotkey:Hide()
            ClearOverrideBindings(button)
        else
            hotkey:SetText(text)
            hotkey:SetPoint("TOPLEFT", button, "TOPLEFT", -2, -2)
            hotkey:Show()
            SetOverrideBindingClick(button, true, key, button:GetName(), "LeftButton")
        end
    end
end

local function SetBindingText()
    BINDING_HEADER_CENTARBAR = "CentarBar"
    for i, button in ipairs(buttons) do
        _G["BINDING_NAME_" .. button:GetName():upper()] = "버튼 " .. i
    end
    UpdateBindings()
end

-- createbutton
for i = 1, 12 do
    buttons[i] = CreateFrame("checkbutton", addonname .. "Button" .. i, addon, "ActionBarButtonTemplate")
    buttons[i]:SetID(i)
    buttons[i]:SetFrameStrata("MEDIUM")
    buttons[i]:SetFrameLevel(0)
    buttons[i]:HookScript("OnAttributeChanged", OAU)
    buttons[i]:SetAttribute("_childupdate-state", "self:SetAttribute('action', '$input')")
    buttons[i]:GetNormalTexture():SetAlpha(0.5)
    buttons[i]:SetScript("OnEnter", OnEnter)
    buttons[i]:SetScript("OnLeave", OnLeave)
end


function addon:Setup()
    self.combatlockdown = InCombatLockdown()
    if self.combatlockdown then
        return
    end
    local db = self.db
    UnregisterStateDriver(self, "vehicle")
    if db.vehiclehide then
        if db.mounthide then
            RegisterStateDriver(self, "vehicle", "[vehicleui][mounted]hide;show")
        else
            RegisterStateDriver(self, "vehicle", "[vehicleui]hide;show")
        end
    end

    self.targetselect = db.target and UnitExists("target")
    self:SetAlpha(db.alpha)
    self:SetScale(db.scale)
    self:SetPoint("CENTER", self:GetParent(), "CENTER", 0, db.yOffset * db.step)
    self:SetAttribute("actionpage", self.db.page)

    for i, button in ipairs(buttons) do
        if self.db.showgrid then
            button:SetAttribute("showgrid", 1)
            button:Show()
            button:GetNormalTexture():SetAlpha(0.5)
        else
            button:SetAttribute("showgrid", 0)
        end
        button:SetScale(db.scales[i])
        button:SetPoint("CENTER", db.x[i] * db.step / db.scales[i], db.y[i] * db.step / db.scales[i])
    end
end

function addon:InitDB(event)
    self:UnregisterEvent(event)
    local dbName = addonname .. "SaveData"
    _G[dbName] = _G[dbName] or default
    self.db = _G[dbName]
    for k, v in pairs(default) do
        if (type(v) == "table") then
            if type(v) ~= type(self.db[k]) then
                self.db[k] = v
            end
        end
    end
    self:Setup()
end

function addon:CombatEnd(event)
    self.iscombat = false
    if self.combatlockdown then
        self:Setup()
    end
    if not self.db.combat then return end
    SetAlpha(self.targetselect and 1 or self.db.alpha)
end

function addon:CombatStart(event)
    self.iscombat = true
    if not self.db.combat then return end
    SetAlpha(1)
end

function addon:PLAYER_TARGET_CHANGED(event)
    if not self.db.target or self.iscombat then
        self.targetselect = false
        return
    end
    self.targetselect = UnitExists("target")
    SetAlpha(self.targetselect and 1 or self.db.alpha)
end

addon:RegisterEvent("VARIABLES_LOADED", "InitDB")
addon:RegisterEvent("PLAYER_REGEN_ENABLED", "CombatEnd")
addon:RegisterEvent("PLAYER_REGEN_DISABLED", "CombatStart")
addon:RegisterEvent("UPDATE_BINDINGS", UpdateBindings)
addon:RegisterEvent("PLAYER_LOGIN", SetBindingText)
addon:RegisterEvent("PLAYER_TARGET_CHANGED")


SlashCmdList[addonname .. "Command"] = function(msg)
    if not _G[addonname .. "_Option"] then
        LoadAddOn(addonname .. "_Option")
        _G[addonname .. "_Option"] = _G[addonname .. "_Option"] or function() end
    end
    _G[addonname .. "_Option"]()
end
_G["SLASH_" .. addonname .. "Command1"] = "/cbo"
_G["SLASH_" .. addonname .. "Command2"] = "/츄ㅐ"
_G["SLASH_" .. addonname .. "Command3"] = "/센타"
_G["SLASH_" .. addonname .. "Command4"] = "/중앙바"