Gestaltwandel-Tabs - Platz tauschen

So, hat jetzt durch das Wochenende und Classic doch ein wenig länger gedauert, als ich erhofft hatte. Sorry!


Du könntest einmal folgenden Code-Schnipsel testen, den du auf https://addon.bool.no/ in ein kleines Addon umwandeln kannst. Einfach einen beliebigen Namen eingeben und den Code in das zweite Eingabefeld kopieren.

Die Reihenfolge der Tiergestalten wird durch die englischen Namen am Anfang festgelegt, diese könntest du einfach so anpassen, wie es dir gefällt. Dabei aber darauf achten, dass die Formatierung (Anführungszeichen & Kommas) genau so bleibt, wie sie derzeit ist

Wichtig dabei: Das ändert ausschließlich die Reihenfolge, in der diese Buttons angezeigt werden, nicht aber wie diese von Blizzard erstellt werden. Für die Tastaturbelegung musst du also weiterhin die originale Reihenfolge von Blizzard nutzen!

--[[ CONFIG ]]--
local stanceOrderByName = {
  "bear",
  "cat",
  "moonkin",
  "travel",
  "treant",
  "stag",
}

--[[ DONT CHANGE ANYTHING AFTER THIS ]]--
if not StanceBarFrame then return end

local oocUpdate
local data = {["bear"] = 1, ["cat"] = 2, ["travel"] = 3, ["moonkin"] = 4, ["treant"] = 5, ["stag"] = 6}

local orderFrame = CreateFrame("Frame",nil,UIParent,"SecureHandlerStateTemplate")
orderFrame:Hide()

orderFrame:SetScript("OnEvent", function(self,event)
  if event == "PLAYER_REGEN_ENABLED" and not oocUpdate then
    return
  end

  if InCombatLockdown() then
    oocUpdate = true
    return
  end

  local previousAnchor
  for i = 1, #stanceOrderByName do
    local f = StanceBarFrame.StanceButtons[data[stanceOrderByName[i]]]
    if f then
      f:ClearAllPoints()

      if i == 1 then
        f:SetPoint("BOTTOMLEFT", StanceBarFrame, "BOTTOMLEFT", 11, 3)
      else
        f:SetPoint("LEFT", previousAnchor, "RIGHT", 7, 0)
      end
    end
    previousAnchor = f
  end

  oocUpdate = false
end)

orderFrame:RegisterEvent("UPDATE_SHAPESHIFT_FORMS")
orderFrame:RegisterEvent("PLAYER_REGEN_ENABLED")
orderFrame:RegisterEvent("PLAYER_LOGIN")

Ich kann leider nicht garantieren, dass das einwandfrei funktioniert. Bei meinen Tests sah das soweit gut aus, falls irgendetwas auffällt, müsste ich mich da aber nochmal etwas weiter mit beschäftigen. :wink:

1 Like