Download
(3 Kb)
Download
Updated: 10-26-08 01:23 AM
Pictures
File Info
Updated:10-26-08 01:23 AM
Created:unknown
Downloads:136,379
Favorites:81
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 01-05-12, 07:57 AM  
Fayntic
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 3
Uploads: 2
Originally Posted by runescaper11
is this macro just so you can continuously click the same button to cast a sequence of spells? at first i thought it was to cast multi spells with one button

ive been looking for a while now, can anyone direct me to an addon that will multi cast with one button? (if there is such a thing)
get a razer naga...
Fayntic is offline Report comment to moderator  
Reply With Quote
Unread 08-15-11, 01:55 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
ive been looking for a while now, can anyone direct me to an addon that will multi cast with one button? (if there is such a thing) [/b]
That would be considered botting and is bannable. Addons can't do anything like that. If you find a program that lets you do it, don't use it if you value your wow account.
__________________
[SIGPIC][/SIGPIC]
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 08-15-11, 01:53 PM  
runescaper11
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
is this macro just so you can continuously click the same button to cast a sequence of spells? at first i thought it was to cast multi spells with one button

ive been looking for a while now, can anyone direct me to an addon that will multi cast with one button? (if there is such a thing)
runescaper11 is offline Report comment to moderator  
Reply With Quote
Unread 03-02-11, 07:26 AM  
kazaakmX
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 21
Uploads: 1
can some one fix this addon
Last edited by kazaakmX : 03-02-11 at 07:26 AM.
kazaakmX is offline Report comment to moderator  
Reply With Quote
Unread 01-07-11, 06:17 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
No. I am no longer maintaining my addons as of March 2009. See the news post on my portal page.

http://www.wowinterface.com/portal.php?uid=17646
__________________
[SIGPIC][/SIGPIC]
Last edited by Cogwheel : 01-07-11 at 06:18 PM.
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 01-07-11, 06:07 PM  
Dohram
A Defias Bandit

Forum posts: 3
File comments: 29
Uploads: 0
Update

any plans on an update for this?
Dohram is offline Report comment to moderator  
Reply With Quote
Unread 12-09-10, 09:59 AM  
Caliban7263
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 1
Re: FYI

I mainly use this addon in conjunction with TrinketMenu to fire my dps trinkets asap and swap them when they are on cooldown.

I also use this addon to fire off abilities whenever they are available and was disappointed that the new Rocket Belt racial (Goblin) seems to stop this guy in his tracks. :-(

It still works for most other things...
Caliban7263 is offline Report comment to moderator  
Reply With Quote
Unread 05-04-10, 10:47 AM  
Staxx
A Kobold Labourer

Forum posts: 1
File comments: 5
Uploads: 0
FYI

I know there hasnt been a lot of activity of late, but just letting you know I still use the hell outta this mod. It comes in so handy. A couple items to verify with those who might be using it for the first time :

1) The 3.x wow seems to have broken the reset time feature. So make sure not to have "seconds=xx" in your reset={} section.

2) Some mods quietly interfere with the proper operation of MacroSequence, you will just have to keep an eye out for them. I know that if any of you use AVRE, the r69 version of AVRE (Options) portion of the mod renders MacroSequence useless for some reason (Your macros just stop working, no error - nothing). All I can figure is that some functionality in the Ace3 libraries might get in the way.

Thanks again Cog!
Staxx is offline Report comment to moderator  
Reply With Quote
Unread 02-19-09, 03:55 AM  
Ajuga
A Kobold Labourer

Forum posts: 1
File comments: 27
Uploads: 0
Originally posted by dbseraph
Getting an error since 3.0.8
Getting the same error. I removed the reset part of my macros (more specifically the seconds = 60 part) and it works again.
Last edited by Ajuga : 02-19-09 at 04:00 AM.
Ajuga is offline Report comment to moderator  
Reply With Quote
Unread 01-23-09, 06:57 PM  
dbseraph
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Getting an error since 3.0.8

Call failed:[string " local time = control:GetTime()..."]:1: attempt to call method 'GetTime' (a nil value)
for

MacroSequence = {}

MacroSequence.sequences = {
Single = {
reset = {
cycle = 6,
seconds = 10,
},
"/cast Icy Touch",
"/cast Plague Strike",
"/cast Death Strike",
"/cast Heart Strike",
"/cast Heart Strike",
"/cast Obliterate",
"/cast Icy Touch",
"/cast Plague Strike",
"/cast Heart Strike",
"/cast Heart Strike",
"/cast Heart Strike",
"/cast Obliterate",
},

AOE = {
reset = {
cycle = 6,
},
"/cast Icy Touch",
"/cast Plague Strike",
"/cast Pestilence",
"/cast Blood Boil",
"/cast Death Strike",
"/cast Icy Touch",
"/cast Plague Strike",
"/cast Blood Boil",
"/cast Blood Boil",
"/cast Blood Boil",
"/cast Death Strike",
},

TrinketMe = {
[[
/run SetCVar("Sound_EnableSFX","0")
/script UIErrorsFrame:Hide()
/use 13
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/run SetCVar("Sound_EnableSFX","1")
]],
[[
/run SetCVar("Sound_EnableSFX","0")
/script UIErrorsFrame:Hide()
/use 14
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/run SetCVar("Sound_EnableSFX","1")
]]
},

ActionMe = {
[[
/run SetCVar("Sound_EnableSFX","0")
/script UIErrorsFrame:Hide()
/cast Bestial Wrath
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/run SetCVar("Sound_EnableSFX","1")
]],
[[
/run SetCVar("Sound_EnableSFX","0")
/script UIErrorsFrame:Hide()
/cast Rapid Fire
/script UIErrorsFrame:Clear()
/script UIErrorsFrame:Show()
/run SetCVar("Sound_EnableSFX","1")
]]
},
}
worked fine before patch.
dbseraph is offline Report comment to moderator  
Reply With Quote
Unread 12-05-08, 10:05 PM  
cuteunit
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Hi cogwheel

I love this addon and I registered to post this comment..

I really wish for just two tiny things though.

Is it possible to expand the addon just a little more so that this creates a visible, clickable button for each macrosequence, so I can see the icon for the spell it plans to cast next in line?

Is it possible to include the global cooldown in this so macrosequence macros can be pounded a little more safely?

I also have a question about the secure headers thing... is it possible to update the button in combat? I really, REALLy, REALLY want a sort of macro for my death knight that will work out like " if target is in melee range, cast Plague Strike, if not, try to Icy Touch". With my own clumsy cavewoman fumbling in lua I can do an addon that can return which spell is in range, but since the EditMacro function seems to be prevented during combat, I cant realize this logic into anything useful in gameplay... it really sucks :/
cuteunit is offline Report comment to moderator  
Reply With Quote
Unread 10-30-08, 08:55 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
Originally posted by bUg.
Yep, im spamming. not holding position is bad is there any way to make it?
No.

FWIW, Blizzard doesn't really want their game played by mindless button mashing (hence all the changes in 2.0). While castsequence does indeed progress based on spell success, it has plenty of other limitations which provide a bit of balance. Since they have complete control over the way /castsequence operates, they can give you as much or as little power as they feel is appropriate.

As far as the future of MacroSequence, I could easily see Blizzard adding "unit change" support (which would allow reset=target). Spell success on the other hand... not so much. There are too many other things we know they don't want us doing with that kind of information.
Last edited by Cogwheel : 10-30-08 at 09:04 AM.
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 10-30-08, 08:22 AM  
bUg.
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Yep, im spamming. not holding position is bad is there any way to make it?
bUg. is offline Report comment to moderator  
Reply With Quote
Unread 10-30-08, 07:56 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
Originally posted by bUg.
My Sequences.lua
Code:
MacroSequence = {}

MacroSequence.sequences = {
  RetDPS = {
SNIP
    
  },
    
}
I want to see message right before cast proper spell, but each /click RetDPS gives messages regardless of current spell. Where im wrong?
If you're spamming the button, don't. The sequence will advance every single time you /click it, regardless of the success of the spell inside. From the front page of this addon:

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).
If you're not spamming the button, then are you asking for a way to only show the message if the spell in the given step is being cast? For something like that you'd need AfterCast. But I don't know if it works in 3.0.
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 10-30-08, 07:41 AM  
bUg.
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
My Sequences.lua
Code:
MacroSequence = {}

MacroSequence.sequences = {
  RetDPS = {
    reset = {
      combat = true
    },
    
    [[
/run MikSBT.DisplayMessage("**   1. Judgement of Light   **")
/cast Judgement of Light
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   2. Crusader Strike   **")
/cast Crusader Strike
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   3. Divine Storm   **")
/cast Divine Storm
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   4. Consecration   **")
/cast Consecration
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   5. Crusader Strike   **")
/cast Consecration
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   6. Judgement of Light   **")
/cast Judgement of Light
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   7. Divine Storm   **")
/cast Divine Storm
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   8. Crusader Strike   **")
/cast Crusader Strike
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   9. Judgement of Light   **")
/cast Judgement of Light
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   10. Consecration   **")
/cast Consecration
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   11. Crusader Strike   **")
/cast Crusader Strike
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   12. Divine Storm   **")
/cast Divine Storm
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   13. Judgement of Light   **")
/cast Judgement of Light
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   14. Crusader Strike   **")
/cast Crusader Strike
    ]],
    
    [[
/run MikSBT.DisplayMessage("**   15. Consecration   **")
/cast Consecration
    ]],
    
  },
    
}
I want to see message right before cast proper spell, but each /click RetDPS gives messages regardless of current spell. Where im wrong?
bUg. is offline 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.