Just wondering what happened to the record macro button? i found that feature very useful for making macros

hi there, i’m new to the forums. just wondering what happened to the record macro button? i found that feature very useful for making macros for my wife who uses GSE to play the game when her disability makes it harder for her to play normally. the macros i made through that function were amazing, i’m one of the top dps in my guilds heroic raiding guild, and when i used GSE to record macros for my wife the macros i made could achieve close to 90% of my dps. so to see that function disappear is really sad and so is my wife. it was really quite handy. i tried asking chatgpt to write a custom record macro addon, it works pretty well for making cast sequence macros, but not as well as the old macro record function in GSE. ill post the code below maybe the code editors of this addon could somehow integrate it in the new version GSE and make a new record function. i’d really like to see that function come back. heck on certain classes recording my own rotation allowed me to achieve higher dps than if i manually pressed my buttons, it was almost too good to be true.

local frame = CreateFrame("Frame")
local spells = {}
local sequenceLength = 7
local isRecording = false

local function startRecording()
    isRecording = true
    spells = {}
    frame:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
    print("Recording started.")
end

local function stopRecording()
    isRecording = false
    frame:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")
    print("Recording stopped.")
end

frame:SetScript("OnEvent", function(self, event, ...)
    if event == "UNIT_SPELLCAST_SUCCEEDED" and isRecording then
        local unit, _, spellID = ...
        if unit == "player" then
            local spellName = GetSpellInfo(spellID)
            table.insert(spells, spellName)
            print("Recorded spell:", spellName)
        end
    end
end)

SLASH_STARTRECORD1 = "/startrecord"
SlashCmdList["STARTRECORD"] = startRecording

SLASH_STOPRECORD1 = "/stoprecord"
SlashCmdList["STOPRECORD"] = stopRecording

SLASH_SAVEMACRO1 = "/savemacro"
SlashCmdList["SAVEMACRO"] = function()
    if #spells > 0 then
        local macroIndex = 1
        for i = 1, #spells, sequenceLength do
            local sequence = {}
            for j = i, math.min(i + sequenceLength - 1, #spells) do
                table.insert(sequence, spells[j])
            end
            local macroText = "/castsequence reset=target " .. table.concat(sequence, ", ")
            CreateMacro("MySequence" .. macroIndex, "INV_MISC_QUESTIONMARK", macroText, nil)
            print("Macro created: MySequence" .. macroIndex .. " - " .. macroText)
            macroIndex = macroIndex + 1
        end
    else
        print("No spells recorded.")
    end
end

Or you could just type “/gse record” or use the GSE minimap icon.

By the way, GSE is its own thing. If you want something changed you might have more success asking on either GSE’s GitHub

or the Official GSE Discord

https://discord.gg/yUS9R4ZXZA

You could continue to ask questions here but I only pay attention to random things here and generally come here once every 2 weeks or so.

I didnt know the command existed. Thanks

I kept looking for the button in the interface