Download
(3Kb)
Download
Updated: 10-26-08 01:23 AM
Pictures
File Info
Updated:10-26-08 01:23 AM
Created:unknown
Downloads:137,559
Favorites:75
MD5:

MacroSequence  Popular! (More than 5000 hits)

Version: 1.5
by: Cogwheel [More]

********** IMPORTANT ***********
If you are upgrading from a previous version, you must not overwrite Sequences.lua or you will wipe out any sequences you've created. I suggest extracting only MacroSequence.lua from the zip file or copying Sequences.lua out of the MacroSequence folder and then copying it back once you've installed the new version.

The next major version will add a GUI and will no longer use Sequences.lua to store the macros you create. However, it will be able to import anything in your Sequences.lua.
*******************************

Have you ever wanted to sequence arbitrary macro commands instead of just spells and items? Now's your chance! MacroSequence reproduces most of /castsequence's functionality but instead of individual spells or items, each element in the sequence can be an entire macro. There are only two missing behaviors of /castsequence: reset on target change (impossible to do with current state headers) and holding position if an action fails (something many people don't like about /castsequence anyway).

In addition to its sequencing, the macros can be of unlimited length. This makes MacroSequence a contender as an extended macro addon.

To create sequences, you need to edit a table in Sequences.lua, though I've tried to make this very simple. Here is the documentation comment at the beginning of that file:

Code:
Each entry in this table defines a single macro sequence akin to the
/castsequence command. Take the following macro, for example:

  /castsequence reset=alt/10 Immolate, Corruption, Curse of Agony

This can be represented as follows:

  WarlockStarter = {
    reset = {
      alt = true,
      seconds = 10
    },
    
    "/cast Immolate",
    "/cast Corruption",
    "/cast Curse of Agony"
  },

The easiest way to trigger a sequence is to /click it in a macro. The button's
name is the same as the sequence (so be sure to choose a unique name). For the
example above, the /click macro would be:

  /click WarlockStarter

Alternatively, you can set a key binding to the button with a one-time command
like:

  /run SetBindingClick("CTRL-5", "WarlockStarter") SaveBindings(GetCurrentBindingSet())

The first time you click the button, it will run the first command in the
sequence. Each subsequent click will advance to the next one until it reaches
the end, in which case it will reset to the beginning. Like the /castsequence
command, the sequence will also reset if you die.
  
The reset entry is optional, but every sequence must have a list of macros. Each
item in the list can be an entire macro of unlimited size (meaning this addon
can also be used for extended macros). Use Lua's long string syntax to make
editing easier (be sure to align it with the left column or they will not be
seen as slash commands):

  MageSequence = {
    [[
/say Hello
/wave
    ]],
    
    [[
/use Talisman of Ephemeral Power
/cast Arcane Power
/cast Presence of Mind
/cast Pyroblast
    ]]
  }

Alternatively, you can use one-line strings with \n to separate the lines.

The reset entry can contain any combination of the following items:

alt - boolean
  Reset the sequence when you run it while holding alt.
ctrl - boolean
  Reset the sequence when you run it while holding ctrl.
shift - boolean
  Reset the sequence when you run it while holding shift.
combat - boolean
  Reset the sequence when you enter or leave combat.
seconds - number
  If specified, the sequence will reset after the given amount of time. If the
  sequence is advanced before the time is up, the timer will be restarted. A
  time of 0 is the same as not specifying a time.
cycle - number
  Instead of returning to the beginning when you click past the end, you can use
  cycle to repeat some number of macros at the end of the sequence. For example,
  if you have 6 macros and a cycle of 3, it will use them in the order 1, 2, 3,
  4, 5, 6, 4, 5, 6, 4... Any other reset condition (including the implied death
  reset) will return the sequence to 1.

v1.5
- Updated for 3.0

v1.1
- Added cycle feature

v1.0.1
- The "sequence has no macros" error message now correctly shows the name of the sequence with no macros

v1.0
- Initial Release
Post A Reply Comment Options
Unread 07-16-08, 09:24 AM  
Lord of Lunacy
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Yeah, I've been getting the same thing today - action protected by the Blizzard UI. I did a little testing / troubleshooting ... I disabled every addon except for this one and still received the error. I copied and pasted my macro coding into the text chat boxes to test it to see if any of it was causing the errors ... it all worked perfectly ... which leads me to the conclusion that they changed something in the patch which is causing this addon to have issues.
Report comment to moderator  
Reply With Quote
Unread 07-16-08, 09:16 AM  
Staxx
A Kobold Labourer

Forum posts: 1
File comments: 5
Uploads: 0
Is there a problem with the MacroSequence Addon and yesterdays patch? I now get a message saying that MacroSequence is using an action protected by the Blizzard UI when I try to use any macros - Did they protect some function(s)?

I have one macro that does a :

Followjoebob = {
[[
/target joebob
/focus
]]
}

And it is saying that target is protected, tell me it isn't so.....
Last edited by Staxx : 07-16-08 at 09:24 AM.
Report comment to moderator  
Reply With Quote
Unread 07-07-08, 05:23 AM  
jweick
A Defias Bandit

Forum posts: 2
File comments: 1
Uploads: 0
ok i have been struggling to get the following to work right. apperantly a focus kick macro will work if there is a /targetlasttarget and focus gouge will work if there is a /targetlastenemy but neither will work right on the oppisite. if there is a way to do this or to use you addon to get it to wrok i would love to know, thanks in advance


looking for help with a focus macro:

Working:

Kick focus~

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/cast [target=focus] Kick
/targetlasttarget

Gouge Focus~

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/cast [target=focus] Gouge
/targetlastenemy


Not working:

Kick focus~ fails to retarget main target if kick on focus fails

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/cast [target=focus] Kick
/targetlastenemy

Gouge Focus~ if gouge fails, it requires a second click to return to main target

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/cast [target=focus] Gouge
/targetlasttarget

So when i try to make a cast sequence out of them:

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/castsequence [target=focus] Kick, Gouge
/targetlasttarget

or

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/castsequence [target=focus] Kick, Gouge
/targetlastenemy

both macros will break if kick or gouge fail.

this is the closest i have come to getting it working:

/focus [button:2]
/focus [target=focus, noharm] [target=focus, dead] [modifier]
/stopmacro [target=focus, noexists]
/castsequence [target=focus] Kick, Gouge
/cleartarget
/targetenemy
/startattack


the only problem with /targetenemy is that sometimes you can get the wrong target back because its looking for nearest enemy same as tab targetting
Report comment to moderator  
Reply With Quote
Unread 06-04-08, 07:44 PM  
cizimizi
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Hello there i'm having a bit of trouble with the addon
I'm trying to make my character equipt a shield, use shield bash and switch back to DW with the same button
this can easily be done but the problem is the weapon switching creates a global cooldown where it then skips the shield bash and just continues to switch weapons if i spamm the button

so i was trying to make a castsequence but i can't use a /equiptslot command in it

so i tried this addon by making something like this

MacroSequence = {}

MacroSequence.sequences = {

Bash = {
[[
/castsequence Ward of the Vale, Shield Bash"
]],
[[
/equiptslot 17 Splitting Hatchet of the Monkey"
]]


},
}


sad to say nothing happens when i use /click Bash
Last edited by cizimizi : 06-04-08 at 07:45 PM.
Report comment to moderator  
Reply With Quote
Unread 05-18-08, 04:00 PM  
Llivavin
A Black Drake

Forum posts: 89
File comments: 9
Uploads: 0
I got this timed out perfectly(well almost)
MacroSequence = {}

MacroSequence.sequences = {
Shots = {
reset = {
combat = true,
cycle = 1,
},
[[
"/cast Aimed Shot",
"/cast Arcane Shot",
"/cast Steady Shot",
"/cast Steady Shot",
"/cast Steady Shot",
"/cast Arcane Shot",
"/cast Steady Shot"
"/cast Steady Shot",
"/cast Steady Shot",
"/cast Arcane Shot",
"/cast Aimed Shot",
},
}
Last edited by Llivavin : 05-18-08 at 04:03 PM.
Report comment to moderator  
Reply With Quote
Unread 04-09-08, 08:16 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Re: A little help please

Originally posted by Kathand
shoult it look like
MacroSequence.sequences = {
Affliction = {
reset = {
shift = true,
combat = true,
cycle = 3
},
/cast Corruption,
/cast Curse of Agony,
/cast Siphon Life,
/cast Shadowbolt
},
Almost... You need to put quotes (") around all of the /cast commands (e.g. "/cast Corruption"). Also, cycle should be 1 to continue repeating the 1 shadow bolt spell at the end (be sure to spell the spells correctly).
Report comment to moderator  
Reply With Quote
Unread 03-17-08, 07:37 PM  
Kathand
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
A little help please

how would I turn

/castsequence reset=target Corruption(Rank 8), Curse of Agony(Rank 7), Siphon Life(Rank 6), Shadow Bolt(Rank 11), Shadow Bolt(Rank 11), Shadow Bolt(Rank 11), Shadow Bolt(Rank 11), Shadow Bolt(Rank 11)

into something usable by macro sequenses?

shoult it look like
MacroSequence.sequences = {
Affliction = {
reset = {
shift = true,
combat = true,
cycle = 3
},
/cast Corruption,
/cast Curse of Agony,
/cast Siphon Life,
/cast Shadowbolt
},
Report comment to moderator  
Reply With Quote
Unread 03-13-08, 09:14 PM  
Llivavin
A Black Drake

Forum posts: 89
File comments: 9
Uploads: 0
Is it possible

to have it check if Hunters mark is allready on the enemy or perhaps a way so that it only will go off once every 2 minutes unless you hit a button?

or no?
Report comment to moderator  
Reply With Quote
Unread 03-11-08, 02:06 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
You need commas after the closing brace of the reset table. E.g.:

Code:
SomeSequence {
  reset = {
    alt = true
  },
  "macro1",
  [[
macro 2
  ]],
}
Report comment to moderator  
Reply With Quote
Unread 03-11-08, 02:02 PM  
Endromada
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Code:
MacroSequence = {}
MacroSequence.sequences = {
  DPS = {
	reset = {
		combat = true,
	}
		[[
"/cast Stormstrike",
"/startattack",
		]],
		[[
"/castsequence Flame Shock, Earth Shock"
		]],
  },
  TotemDrop = {
	reset = {
		seconds = 120,
		combat = true,
	}
		[[
"/click MultiBarRightButton3",
		]],
		[[
"/click MultiBarRightButton4",
		]],
		[[
"/click MultiBarRightButton5",
		]],
		[[
"/click MultiBarRightButton6",
		]],
},
}
Ok, I keep getting the "MacroSequences.sequences does not exist. Please make sure there are no errors in Interface\\AddOns\\MacroSequence\\Sequences.lua." error. Now, I don't see any errors. What am I doing wrong?

PS: That's my entire Sequences.lua file.

EDIT: DPS macro should be spammable, cast SS+Rotate Shocks, Totems should be one click per GCD, drop one totem at a time (I have them in a row on my bar, so I can swap in the four I want to use at a time)
Last edited by Endromada : 03-11-08 at 02:33 PM.
Report comment to moderator  
Reply With Quote
Unread 02-09-08, 02:22 AM  
bmon
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
Should this work?
kick, ss, shiv, ss, shiv, ss, shiv, etc.... 10 secs up and kick, ss, shiv, ss, shiv, etc

RogueSS = {
reset = {
alt = true,
seconds = 10,
cycle = 1
},
[[
/cast Kick
]],
[[
/cast Sinister Strike
]],
[[
/cast Shiv
]]
},
Last edited by bmon : 02-09-08 at 12:05 PM.
Report comment to moderator  
Reply With Quote
Unread 02-07-08, 11:19 AM  
Caliban7263
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 1
Re: One last shot, I have made an improvement

Try taking the double quotes off each command line. Make sure the slash begins in the first column of each line.

Good Luck!

MacroSequence = {}

MacroSequence.sequences = {
Kitty = {
[[
/cast Kill Command
]],
[[
/cast Auto Shot
]],
[[
/cast Steady Shot
]],
[[
/cast Arcane Shot
]],
[[
/cast Steady Shot
]],
[[
/cast Arcane Shot
]],
[[
/cast Mend Pet
]]
},
}
Report comment to moderator  
Reply With Quote
Unread 01-28-08, 05:49 PM  
Psychokitty
A Murloc Raider

Forum posts: 4
File comments: 51
Uploads: 0
One last shot, I have made an improvement

The improvement is that the following sequence actually does something....it says all the lines of my sequence in /say LOL! This is the only thing in my Sequences.lua file what is wrong with it please?

MacroSequence = {}

MacroSequence.sequences = {
Kitty = {
[[
"/cast Kill Command"
]],
[[
"/cast Auto Shot"
]],
[[
"/cast Steady Shot"
]],
[[
"/cast Arcane Shot"
]],
[[
"/cast Steady Shot"
]],
[[
"/cast Arcane Shot"
]],
[[
"/cast Mend Pet"
]]
},
}
Report comment to moderator  
Reply With Quote
Unread 01-25-08, 08:47 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Usefull when you want to time a macro reset before a buff expire.
Which is exactly why it's not possible. The game is designed specifically to prevent combat decisions based on buff expiration, cooldowns, etc.
Report comment to moderator  
Reply With Quote
Unread 01-25-08, 05:23 AM  
Aberon
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Would be nice to have a reset timer that doesn't reset when you use the sequence.

If you tell it to reset in 10 in 10 second no matter where it is in the sequence it reset even if your still casting. Not like if 10 second of innactivity.

Usefull when you want to time a macro reset before a buff expire.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.