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-11-08, 07:06 PM  
bmon
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
This macro i used prior to the last patch:

/cast premeditation
/cast Cheap Shot
/cast Slice and Dice

It was working fine before last patch, but now Slice and Dice never executes, i found your addon here and thought i would give it a try. It basically does what my macro did before but written in your format and seems to be working fine but....

The Slice and Dice will never work because it says there is no combo points, i know premed went of and cheap shot cause i see 4 combo points instantly. I'm thinking the commands are executed so close to the same time Slice and Dice doesnt get a chance to see the combo points. Do you have some kind of delay i can add or am i do something wrong, or any other advice would be appreciated.

Ripp
Report comment to moderator  
Reply With Quote
Unread 01-11-08, 07:39 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by bmon
It was working fine before last patch
If it was, then it was a bug. Macros are not allowed to choose an ability based on availability. The only reason it would work is if CS were instant cast with no global cooldown.

That being said, this addon is designed to replace individual castsequence commands and has nothing to do with fallthrough macros. I'm not sure what you're trying but I can't imagine anything working the way you want...
Report comment to moderator  
Reply With Quote
Unread 01-11-08, 10:45 PM  
didah
A Kobold Labourer

Forum posts: 0
File comments: 17
Uploads: 0
How do I undo:

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

I tried this mod but its buggy too it doesnt cast all three dots, looks like its getting stuck too or if not the cast just dont do all 3 with 3n clicks.
Report comment to moderator  
Reply With Quote
Unread 01-12-08, 11:25 AM  
skivey
A Kobold Labourer

Forum posts: 1
File comments: 3
Uploads: 0
big thanks

much appreciated I will pass this along to all my friends.
Very eager to see the UI

But this section of code is green in my file and doesn't work with the /click ShotRot macro
any ideas ?

Code:
ShotRot = {
[[
/cast Kill Command
/cast !Auto Shot
]],
[[
/cast Kill Command
/cast Steady Shot
]]
}

from bug sack...2008/01/12 13:05:23-71-x1]: MacroSequence\Sequences.lua:140: unexpected symbol near '}'
Last edited by skivey : 01-12-08 at 12:18 PM.
Report comment to moderator  
Reply With Quote
Unread 01-12-08, 11:42 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Originally posted by didah
How do I undo:

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

I tried this mod but its buggy too it doesnt cast all three dots, looks like its getting stuck too or if not the cast just dont do all 3 with 3n clicks.
The only bug I know of right now is that the death reset doesn't work if you die in combat (and I have an incoming fix for that hopefully today). This addon operates in a manner COMPLETELY different from the castsequence command, so it can't get "stuck" like you seem to be thinking. Rather than assuming this addon is buggy, please post your sequence, what you expect the sequence to do, and what you are doing to activate it.

My guess would be you're running the macro before the global cooldown is over (or spamming it?) so it doesn't cast the spell you want.

If you do want to give up on it, just bind the key to something else you want or run the following command:

/run SetBinding("key") SaveBindings(GetCurrentBindingSet())
Report comment to moderator  
Reply With Quote
Unread 01-12-08, 12:39 PM  
bmon
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
What does this do:

/cast kill command


Just cancels a spell if you are in the middle of casting it and decide to do something else?
Last edited by bmon : 01-13-08 at 02:01 AM.
Report comment to moderator  
Reply With Quote
Unread 01-13-08, 12:24 PM  
Caliban7263
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 1
Originally posted by bmon
What does this do:

/cast kill command


Just cancels a spell if you are in the middle of casting it and decide to do something else?
Kill Command is a hunter to pet spell. The sequence he gives has it in both macros so that it is cast as soon as it comes off cooldown.
Last edited by Caliban7263 : 01-13-08 at 02:41 PM.
Report comment to moderator  
Reply With Quote
Unread 01-13-08, 07:41 PM  
Psychokitty
A Murloc Raider

Forum posts: 4
File comments: 51
Uploads: 0
Not understanding how to get this to work..

Ok, I have this in my Sequences.lua. I have also made a macro that just has /click Pet1 and have dragged it to a button on trinitybars. It does not fire no matter what I do. What am I doin wrong lol?


Pet1= {
[[
/use 13
/use 14
/cast Kill Command
/cast !Auto Shot
/cast Kill Command
/cast !Auto Shot
/cast Steady Shot
/cast Arcane Shot
/cast !Auto Shot
/cast Steady Shot
/cast !Auto Shot
/cast Steady Shot
/cast !Auto Shot
/cast Steady Shot
/cast Arcane Shot
/cast !Auto Shot
/cast Steady Shot
/cast !Auto Shot
/cast Steady Shot
/cast !Auto Shot
/cast Steady Shot
/cast Mend Pet
]],
}
Report comment to moderator  
Reply With Quote
Unread 01-14-08, 09:02 AM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
Re: Not understanding how to get this to work..

Originally posted by Psychokitty
Ok, I have this in my Sequences.lua. I have also made a macro that just has /click Pet1 and have dragged it to a button on trinitybars. It does not fire no matter what I do. What am I doin wrong lol?
You made it all one macro. Each element in the sequence needs to be a separate macro. See my earlier reply to skivey.

If you want to make it attempt the trinkets on each click you'll need to put the /use lines above each item in the sequence (or just put them in the in-game macro before the /click statement).
Report comment to moderator  
Reply With Quote
Unread 01-14-08, 02:03 PM  
TheAlmogaver
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Great Work!

I play multiboxed characters, up to 5.

1xPriest and 4xWarlocks.

My play is all around the castsequence, but with the bug now I cannot play in the same way...

Maybe ur can help me. I use these /castsequence before:

/Follow Main
/Assist Main
/castsequence reset=combat Curse of Agony, Corruption, Immolate, Drain life

Now, i attemp to translate to Macrosequence:

MacroSequence = {}

MacroSequence.sequences = {


WarlockStarter = {
reset = {
alt = true,
seconds = 10
},

"/follow MAIN",
"/assist MAIN",
"/cast Curse of Agony",
"/cast Corruption",
"/cast Immolate",
},


}


But...doesn't work in the same way. I play around moving all the time, pressing the key multiples times, but now the Macro frezzes, doesn't work like /castsequence to me...

Sorry for my english, maybe u can help me!

Thanks!
Report comment to moderator  
Reply With Quote
Unread 01-14-08, 02:56 PM  
Cogwheel
Sans Poisson
 
Cogwheel's Avatar
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 137
Uploads: 12
TheAlmogaver:

If you have a macro that does other stuff besides the /castsequence, just replace the /castsequence command with /click NameOfButton. For your example it would be:

Code:
/follow Main
/assist Main
/click WarlockStarter
Then to match your /castsequence, the MacroSequence code would be:

Code:
WarlockStarter = {
	reset = {
		combat = true
	},
	
	"/cast Curse of Agony",
	"/cast Corruption",
	"/cast Immolate",
	"/cast Drain Life"
}
Report comment to moderator  
Reply With Quote
Unread 01-14-08, 03:01 PM  
TheAlmogaver
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Thanks!

I will try and post results!
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
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-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
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.