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,368
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 10-27-08, 12:01 PM  
Staxx
A Kobold Labourer

Forum posts: 1
File comments: 5
Uploads: 0
Cog,

Thanks for the status update - You rock man!
Staxx is offline Report comment to moderator  
Reply With Quote
Unread 10-21-08, 05:21 PM  
Frstrm
A Murloc Raider

Forum posts: 5
File comments: 3
Uploads: 0
Originally posted by Cogwheel
FYI: This addon is next on my list to fix, but probably the most complicated given the nature of the changes. I hope to have something working soon.
That's awesome news, thanks for the update.
Frstrm is offline Report comment to moderator  
Reply With Quote
Unread 10-21-08, 08:09 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
FYI: This addon is next on my list to fix, but probably the most complicated given the nature of the changes. I hope to have something working soon.
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 10-20-08, 07:09 PM  
Denival
A Kobold Labourer

Forum posts: 0
File comments: 6
Uploads: 0
Originally posted by Frstrm
Took some digging but found this post relating to changes in the securestateheadertemplate
http://forums.worldofwarcraft.com/th...sid=1&pageNo=1
with further detailed documentation here..
http://www.iriel.org/wow/docs/Secure...20-%20pre1.pdf
Yeah, I saw that, but it's still beyond me!
Denival is offline Report comment to moderator  
Reply With Quote
Unread 10-20-08, 05:07 PM  
Frstrm
A Murloc Raider

Forum posts: 5
File comments: 3
Uploads: 0
Originally posted by Denival
Me too. The workings of this Addon, and the changes in this patch that have broken it, are way beyond my ability to hack.
Took some digging but found this post relating to changes in the securestateheadertemplate
http://forums.worldofwarcraft.com/th...sid=1&pageNo=1
with further detailed documentation here..
http://www.iriel.org/wow/docs/Secure...20-%20pre1.pdf
Frstrm is offline Report comment to moderator  
Reply With Quote
Unread 10-20-08, 08:40 AM  
Denival
A Kobold Labourer

Forum posts: 0
File comments: 6
Uploads: 0
i hope Cogs got a update coming soon..
Me too. The workings of this Addon, and the changes in this patch that have broken it, are way beyond my ability to hack.
Denival is offline Report comment to moderator  
Reply With Quote
Unread 10-18-08, 12:23 AM  
wendol
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 4
File comments: 16
Uploads: 2
Re: Issue with 3.0.2

Originally posted by Frstrm
Date: 2008-10-15 18:33:59
ID: 53
Error occured in: Global
Count: 1
Message: ..\AddOns\MacroSequence\MacroSequence.lua line 21:
CreateFrame(): Couldn't find inherited node "SecureStateHeaderTemplate"
Debug:
[C]: ?
[C]: CreateFrame()
MacroSequence\MacroSequence.lua:21: CreateSequence()
MacroSequence\MacroSequence.lua:10: Initialize()
MacroSequence\MacroSequence.lua:143: in main chunk
AddOns:
Swatter, v5.1.3613 (SnaggleTooth)

im getting the same.. i hope Cogs got a update coming soon..
wendol is offline Report comment to moderator  
Reply With Quote
Unread 10-15-08, 07:59 PM  
Frstrm
A Murloc Raider

Forum posts: 5
File comments: 3
Uploads: 0
Issue with 3.0.2

Date: 2008-10-15 18:33:59
ID: 53
Error occured in: Global
Count: 1
Message: ..\AddOns\MacroSequence\MacroSequence.lua line 21:
CreateFrame(): Couldn't find inherited node "SecureStateHeaderTemplate"
Debug:
[C]: ?
[C]: CreateFrame()
MacroSequence\MacroSequence.lua:21: CreateSequence()
MacroSequence\MacroSequence.lua:10: Initialize()
MacroSequence\MacroSequence.lua:143: in main chunk
AddOns:
Swatter, v5.1.3613 (SnaggleTooth)
Frstrm is offline Report comment to moderator  
Reply With Quote
Unread 08-09-08, 01:08 PM  
WickedCitizen
A Defias Bandit

Forum posts: 3
File comments: 4
Uploads: 0
Nevermind, I figured it out. Thanks for the addon.
WickedCitizen is offline Report comment to moderator  
Reply With Quote
Unread 08-08-08, 04:20 PM  
WickedCitizen
A Defias Bandit

Forum posts: 3
File comments: 4
Uploads: 0
Originally posted by Cogwheel
Could the two recent posters please check whether the previous couple posts are relevant?
It randomly started to work earlier (after the initial error) but wouldn't reset to line 1... but what can I do to make it start over with the beginning of the macro once the last line completes? I basically want it to be this:

Code:
/castsequence Flame Shock, Stormstrike, Windfury Totem, Grace of Air Totem, Earth Shock, Stormstrike, Windfury Totem, Flame Shock, Grace of Air Totem, Earth Shock, Stormstrike, Windfury Totem, Grace of Air Totem, Flame Shock, Stormstrike, Windfury Totem, Earth Shock, Grace of Air Totem
But naturally that's way over current in-game macro character limit. I'm just trying to make a one-button macro for my complete rotation in a quest for ultimate laziness.

Can you help me out?
WickedCitizen is offline Report comment to moderator  
Reply With Quote
Unread 08-07-08, 03:18 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
Could the two recent posters please check whether the previous couple posts are relevant?
Cogwheel is offline Report comment to moderator  
Reply With Quote
Unread 08-06-08, 02:25 AM  
WickedCitizen
A Defias Bandit

Forum posts: 3
File comments: 4
Uploads: 0
I tried the following sequence:

Code:
MacroSequence = {}

MacroSequence.sequences = {
Dowork = {
combat = true,
cycle = 1
},
"/cast Flame Shock",
"/cast Stormstrike",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Earth Shock",
"/cast Stormstrike",
"/cast Windfury Totem",
"/cast Flame Shock",
"/cast Grace of Air Totem",
"/cast Earth Shock",
"/cast Stormstrike",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Flame Shock",
"/cast Stormstrike",
"/cast Windfury Totem",
"/cast Earth Shock",
"/cast Grace of Air Totem"
},
}
And then made a in-game macro:

Code:
/click Dowork
Nothing happens.. Where'd I go wrong?
Last edited by WickedCitizen : 08-06-08 at 02:30 AM.
WickedCitizen is offline Report comment to moderator  
Reply With Quote
Unread 08-05-08, 10:23 PM  
ff760725
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
MacroSequence.sequences = {
Enh = {
reset = {
Ctrl = true,
combat = true,
seconds = 5
},
"/cast Stormstrike",
"/cast Earth Shock",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Flame Shock",
"/cast Stormstrike",
"/cast Water Shield",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Earth Shock",
"/cast Stormstrike",
"/cast Flame Shock",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Earth Shock",
"/cast Stormstrike",
"/cast Water Shield",
"/cast Windfury Totem",
"/cast Grace of Air Totem",
"/cast Flame Shock"
},
/click Enh
Not working...
ff760725 is offline Report comment to moderator  
Reply With Quote
Unread 07-16-08, 09:33 AM  
Staxx
A Kobold Labourer

Forum posts: 1
File comments: 5
Uploads: 0
Ah yes, it is indeed only the first time you use it from a keybinding - All of mine work fine after you hit ignore. Scared me there for a second Thank you, and I will keep my ear to the ground on this issue.
Staxx is offline Report comment to moderator  
Reply With Quote
Unread 07-16-08, 09:27 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 24
This is actually a Blizzard-side bug. Tekkub came up with a minimal test case that showed /click macros cause an action blocked error the first time you use them, but only from a keybinding (if you click the macro with your mouse it works fine). Last I heard, if you click Ignore, it should work fine from then on. Unfortunately, there's nothing I can do about this but wait for a fix (or if anyone finds a workaround, i'm all ears!)
Cogwheel 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.