Need assistance with syntax

Hello all,

Im not that well versed with Gse so I asked chat gpt to assist me in writing a macro, Im curious what the throughput could be with something tuned from an ai but I cannot get it to compile. I will provide the generated macro and the error from gse below and any assistance pointing me in the right direction would be appreciated.

Error = GSE RAW Editor Unable to process content. Fix table and try again.
GSE Raw Editor [string “return – Define the rotation and cooldowns for the druid boomk…”]:2: unexpected symbol near ‘local’

Here is the macro the ai generated.

– Define the rotation and cooldowns for the druid boomkin
local rotation = {
– Single target spells
{ “Starfire”, “player.eclipse > 0”, “target.debuff(Moonfire).duration < 3” },
{ “Moonfire”, “player.eclipse < 0”, “target.debuff(Moonfire).duration < 3” },
{ “Solar Wrath”, “player.eclipse > 0”, “target.debuff(Moonfire).duration > 3” },
{ “Lunar Strike”, “player.eclipse < 0”, “target.debuff(Moonfire).duration > 3” },
{ “Starsurge”, “player.spell(Starsurge).cooldown = 0” },
{ “Sunfire”, “target.debuff(Sunfire).duration < 3” },
{ “Stellar Flare”, “target.debuff(Stellar Flare).duration < 3” },

– Multi-target spells
{ “Starfall”, “player.area(8).enemies > 2” },
{ “Starfire”, “player.area(8).enemies > 2” },
{ “Moonfire”, “player.area(8).enemies > 2” },
{ “Solar Wrath”, “player.area(8).enemies > 2” },
{ “Lunar Strike”, “player.area(8).enemies > 2” },
{ “Sunfire”, “player.area(8).enemies > 2” },
{ “Stellar Flare”, “player.area(8).enemies > 2” },
}

local cooldowns = {
{ “Incarnation: Chosen of Elune”, “player.spell(Incarnation: Chosen of Elune).cooldown = 0” },
{ “Celestial Alignment”, “player.spell(Celestial Alignment).cooldown = 0” },
}

– Create a function to execute the rotation and cooldowns
function ExecuteRotation()
– Loop through the rotation and execute each spell in order
for i, spell in ipairs(rotation) do
– Check if the spell is ready and the conditions are met
if player.spell(spell[1]).cooldown == 0 and GSE.EvaluateCondition(spell[2]) and GSE.EvaluateCondition(spell[3]) then
– Execute the spell
player.cast(spell[1])
return
end
end

– Loop through the cooldowns and execute each spell if the conditions are met
for i, spell in ipairs(cooldowns) do
if GSE.EvaluateCondition(spell[2]) then
player.cast(spell[1])
return
end
end
end

GSE can only use WoW’s macro commands. I’d suggest googling WoW macro syntax and conditionals.

It also can’t evaluate anything so none of your GSE.Evaluates will work. There also isn’t a GSE.EvaluateCondition in GSE’s API.

Thank you for this! I’ll take a different approach.