Suggestion: Class Tab for Macros

I wasn’t sure where else to put this, so I figured I’d do it here. With how long this game has been running, surely I’m not the only one who has more than one of a couple of classes. I have a couple of priests, warriors, hunters, etc. At least two of every class by this point.

Something I’d like is a class tab for macros that we can put things into, and have it be account-wide. That way I don’t have to keep making the same @cursor and mouse over macros per character. I could just put everything in the general tab but that feels like it’d become overly cluttered big time.

Anyway, just a suggestion.

I haven’t the time to do the UI work but the “save macros for another day” thing is trivial.

There’s are files in your WTF folder that are the primary storage for your macros.

You can copy that out and make changes to it and as long as your start the game cold when it first opens the file, they’ll all be in place.

The process of copying out and copying in macros in-game isn’t much more complicated that that.

local AllTheMacros = {}

function ClearAllTheMacros()

    for i = 1 to MAX_ACCOUNT_MACROS + MAX_CHARACTER_MACROS do
        if GetMacroInfo(i) then
            DeleteMacro(i)
        end
    end

end

function StoreAllTheMacros()

    wipe(AllTheMacros)

    for i = 1 to MAX_ACCOUNT_MACROS + MAX_CHARACTER_MACROS do
        AllTheMacros[i] = {GetMacroInfo(i)}
    end

end

function ReplaceAllTheMacros()

    ClearAllTheMacros()

    for k, v in ipairs(AllTheMacros) do
        if next(v) then
            CreateMacro(v[1], v[2], v[2], (i > 120))
        end
    end

end

Obviously there’d have to be some filtering to get the ‘per tab’ functionality you want, but the actual mechanics of copying out and storing macros is relatively trivial.

Caveat - I have not run this code as written. I have run code much like it but I’m not in-game right now.

Oh I get that. I have a google doc filled with every macro I could use as a template. That’s not an issue. I was more so just speaking from a convenience standpoint.

You could pretty easily get those macros into a Lua table and set up a fairly simply command line routine that would copy in and copy out what you need.