Download
(3Kb)
Download
Updated: 10-26-08 01:23 AM
Pictures
File Info
Updated:10-26-08 01:23 AM
Created:unknown
Downloads:137,554
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 01-18-08, 12:47 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by moroii
I'm just working on some warlock macros now. If I cant reset by target on MacroSq would be possible to get the cycling effect on /castsequence. I have something like this:
"stop-at-the-end castsequence" is on my suggestions thread on the UI & macros forum. This would be equivalent to cycle=1, but it would have to be accepted first...

Edit: once i do a revamp of my suggestions post I'll add a suggestion to make target change reactions possible
Last edited by Cogwheel : 01-18-08 at 12:47 PM.
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 12:37 PM  
moroii
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Originally posted by Cogwheel
Would've been faster last time if i weren't right smack dab in the middle of my sleep cycle
I'm just working on some warlock macros now. If I cant reset by target on MacroSq would be possible to get the cycling effect on /castsequence. I have something like this:

Code:
GrindSequenceImmolate =
	{
		reset = 
		{
			shift = true,
			combat = true,
			seconds = 10,
		    cycling = 1
		},
		[[
/cast Blood Fury		
/cast Immolate
		]],
		[[
/cast Siphon Life		
		]],
		[[
/cast Immolate		
		]],
	},
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 12:28 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by moroii
wow...thanks for the even faster answer.
Would've been faster last time if i weren't right smack dab in the middle of my sleep cycle
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 12:27 PM  
moroii
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Originally posted by Cogwheel
Said what i meant and meant what i said. There is no way to do it (at least during combat, which is really the whole point).
wow...thanks for the even faster answer.
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 12:25 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by moroii
It's imposible to do, is very hard to implement?
Said what i meant and meant what i said. There is no way to do it (at least during combat, which is really the whole point).
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 12:23 PM  
moroii
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Ok..what I really meant is: can this feature be included in a future release? It's impossible to do, is very hard to implement?
Thank you for the fast answer.
Last edited by moroii : 01-18-08 at 12:26 PM.
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 08:54 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by moroii
Nice job on the MacroSequence...really usefull addon.
I have a question: can it be done to reset the macro sequence on changing targets?
From above:
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).
Report comment to moderator  
Reply With Quote
Unread 01-18-08, 04:38 AM  
moroii
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Nice job on the MacroSequence...really usefull addon.
I have a question: can it be done to reset the macro sequence on changing targets?
Report comment to moderator  
Reply With Quote
Unread 01-17-08, 05:16 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
/endorse Dejoblue's post

FYI: if you surround the snippet with [code] tags it'll preserve any indentation you have there
Report comment to moderator  
Reply With Quote
Unread 01-17-08, 03:20 PM  
Dejoblue
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 12
Uploads: 1
Here is a better template for those of you unable to figure out this mod. Simply delete everything in your Sequences.lua file and paste this into it. Fill in what you need wherever.
-------------------------------------------------


MacroSequence = {}

MacroSequence.sequences = {
MySpells = {
reset = {
shift = true,
combat = true,
cycle = 3
},
"/cast Berserker Rage",
"/cast Victory Rush",
"/cast Mortal Strike",
"/cast Overpower",
"/cast Execute"
},
MySpells2 = {
reset = {
shift = true,
combat = true,
cycle = 3
},
"/cast Berserker Rage",
"/cast Victory Rush",
"/cast Mortal Strike",
"/cast Overpower",
"/cast Execute"
},
}

-------------------------------------------------


I will note that, unless I am missing some key particulars of this mod, that this is NOT for button spammers.

if a mob goes out of range, if you have insufficient power or if you click too soon the mod will advance to the next macro in the sequence. So unless you are going to politely press the button every 1.5 seconds, this is not a /castsequence replacement.

What this IS is a MACRO sequencer. You can indeed use a /CASTSEQUENCE in the rotation. For example:

MySpells = {
reset = {
shift = true,
combat = true,
cycle = 3
},
"/cast Berserker Rage",
"/cast Victory Rush",
"/castsequence [combat] reset=target/combat Battle Shout, Rend, Mortal Strike",
"/cast Overpower",
"/cast Execute"
},

However, /castsequence still has the current limitation of getting stuck, until patch 2.3.3.

The BEST use I think most people will find for this will be to have a standard /castsequence macro with a /click SequenceName after it to provide a tool to have instan gib and criteria abilities all in one macro, Overpower, Victory Rush and Execute are GREAT examples, as well as trinkets etc.
Report comment to moderator  
Reply With Quote
Unread 01-16-08, 05:26 PM  
Psychokitty
A Murloc Raider

Forum posts: 4
File comments: 51
Uploads: 0
Tried that

I still am unable to get this mod to work. I have disabled all of my mods except for this one and it still does nothing when I click the macro button.

I give up.
Last edited by Psychokitty : 01-16-08 at 10:49 PM.
Report comment to moderator  
Reply With Quote
Unread 01-15-08, 02:00 PM  
Caliban7263
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 1
Re: ok soo it looks good

Originally posted by Psychokitty
so now i make a macro in blizzards macro thingy with just /click Pet1 then put that macro on a button?
Yep. But I think that if you are trying to cast Kill Command whenever it comes off cooldown, I think you want it seperate. The idea is that if this command fails, the next command will activate. Auto Shot is a toggle, once cast it stays on and shoots when you don't do a special attack...
Try:

Pet1 = {
[[
"/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-15-08, 10:47 AM  
Psychokitty
A Murloc Raider

Forum posts: 4
File comments: 51
Uploads: 0
ok soo it looks good

so now i make a macro in blizzards macro thingy with just /click Pet1 then put that macro on a button?
Last edited by Psychokitty : 01-15-08 at 10:47 AM.
Report comment to moderator  
Reply With Quote
Unread 01-15-08, 08:53 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Re: i am soo confused

That looks valid to me... I'm no hunter expert though so I can't say for sure whether that'll actually be very effective, but it's definitely more along the lines of what I was thinking.
Report comment to moderator  
Reply With Quote
Unread 01-14-08, 10:09 PM  
Psychokitty
A Murloc Raider

Forum posts: 4
File comments: 51
Uploads: 0
i am soo confused

I am sorry but I am really confused. Are you saying that this is how it should look? Or between each [[ ]] I should make a separate macro as in Pet1, Pet2, Pet3 etc? This lua stuff is beyond me.


Pet1 = {
[[
"/cast Kill Command",
"/cast !Auto Shot"
]],
[[
"/cast Steady Shot"
]],
[[
"/cast Kill Command",
"/cast !Auto Shot",
"/cast Arcane Shot"
]],
[[
"/cast Kill Command",
"/cast Steady Shot"
]],
[[
"/cast !Auto Shot"
]],
[[
"/cast Kill Command",
"/cast Steady Shot"
]],
[[
"/cast Kill Command",
"/cast !Auto Shot"
]],
[[
"/cast Kill Command",
"/cast Steady Shot"
]],
[[
"/cast !Auto Shot",
"/cast Arcane Shot"
]],
[[
"/cast Mend Pet",
"/cast Steady Shot"
]],
[[
"/cast Kill Command",
"/cast !Auto Shot"
]],
[[
"/cast Kill Command",
"/cast Steady Shot"
]],
}
Last edited by Psychokitty : 01-14-08 at 10:11 PM.
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.