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