Download
(4Kb)
Download
Updated: 08-31-17 04:23 AM
Pictures
File Info
Compatibility:
Shadows of Argus (7.3.0)
Tomb of Sargeras (7.2.0)
Updated:08-31-17 04:23 AM
Created:10-29-14 03:51 AM
Downloads:277,773
Favorites:125
MD5:

GnomeSequencer  Popular! (More than 5000 hits)

Version: 7.3.0.1
by: semlar [More]

This is a small addon that allows you create a sequence of macros to be executed at the push of a button.

Like a /castsequence macro, it cycles through a series of commands when the button is pushed. However, unlike castsequence, it uses macro text for the commands instead of spells, and it advances every time the button is pushed instead of stopping when it can't cast something.

This means if a spell is on cooldown and you push the button it will continue to the next item in the list with each press until it reaches the end and starts over.

When you first install the addon you will need to rename "ExampleSequences.lua" to "Sequences.lua" and open the file in a text editor to add your own sequences.

The Sequences file contains a couple examples to get you started with writing your own sequences, I'll post its entirety here.

Lua Code:
  1. local _, Sequences = ... -- Don't touch this
  2.  
  3. ----
  4. -- Rename this file to Sequences.lua before you get started, it uses a different file name so as not to overwrite your existing file with a future update.
  5. -- Every entry in the Sequences table defines a single sequence of macros which behave similarly to /castsequence.
  6. -- Sequence names must be unique and contain no more than 16 characters.
  7. -- To use a macro sequence, create a blank macro in-game with the same name you picked for the sequence here and it will overwrite it.
  8. ----
  9.  
  10. ----
  11. -- Here's a large demonstration sequence documenting the format:
  12. Sequences["GnomeExample1"] = {
  13.     -- StepFunction optionally defines how the step is incremented when pressing the button.
  14.     -- This example increments the step in the following order: 1 12 123 1234 etc. until it reaches the end and starts over
  15.     -- DO NOT DEFINE A STEP FUNCTION UNLESS YOU THINK YOU KNOW WHAT YOU'RE DOING
  16.     StepFunction = [[
  17.         limit = limit or 1
  18.         if step == limit then
  19.             limit = limit % #macros + 1
  20.             step = 1
  21.         else
  22.             step = step % #macros + 1
  23.         end
  24.     ]],
  25.    
  26.     -- PreMacro is optional macro text that you want executed before every single button press.
  27.     -- This is if you want to add something like /startattack or /stopcasting before all of the macros in the sequence.
  28.     PreMacro = [[
  29. /run print("-- PreMacro Script --")
  30. /startattack   
  31.     ]],
  32.    
  33.     -- PostMacro is optional macro text that you want executed after every single button press.
  34.     -- I don't know what you would need this for, but it's here anyway.
  35.     PostMacro = [[
  36. /run print("-- PostMacro Script --")
  37.     ]],
  38.    
  39.     -- Macro 1
  40.     [[
  41. /run print("Executing macro 1!")
  42. /cast SpellName1
  43.     ]],
  44.    
  45.     -- Macro 2
  46.     [[
  47. /run print("Executing macro 2!")
  48. /cast SpellName2
  49.     ]],
  50.    
  51.     -- Macro 3
  52.     [[
  53. /run print("Executing macro 3!")
  54. /cast SpellName3
  55.     ]],
  56. }
  57.  
  58. ----
  59. -- Here is a short example which is what most sequences will look like
  60. Sequences["GnomeExample2"] = {
  61.     -- Macro 1
  62.     [[
  63. /run print("Executing macro 1!")
  64. /cast SpellName1
  65.     ]],
  66.    
  67.     -- Macro 2
  68.     [[
  69. /run print("Executing macro 2!")
  70. /cast SpellName2
  71.     ]],
  72.    
  73.     -- Macro 3
  74.     [[
  75. /run print("Executing macro 3!")
  76. /cast SpellName3
  77.     ]],
  78. }



If you like one of my addons, feel free to support the cause!

7.2.0.3 - Attempt to avoid a potential infinite loop caused by changing the macro icon
7.2.0.2 - Attempt to set macro icon more aggressively
7.2.0.1 - Fix for icons clearing when zoning (it's unclear what's causing this)
r5 - toc bump for 6.1
r4 - Added a custom error handler and changed how macros are edited to improve support with other macro addons.
r3 - Resolved a minor infinite loop involving UnregisterEvent('UPDATE_MACROS') not taking effect until the next frame.
r2 - Added custom step functionality, pre and post macro text, and made the sequences file (hopefully) easier to understand and edit.
Optional Files (0)


Post A Reply Comment Options
Unread 11-04-14, 06:03 AM  
Iminents
A Defias Bandit

Forum posts: 2
File comments: 1
Uploads: 0
Step by step

I know it blows to get asked this. But i simply cannot figure out how to get this started. I do not know what part of the example needs to exist in the "live" script. How to format that script to start when ( i assume ) the blank macro is clicked. What actions are happening when it is clicked.. I just dont understand how to get rolling with this awesome idea.

It seems i am the only one. but... there it is.

Thanks
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 10:58 AM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Re: Step by step

Originally Posted by dafino
Hi, I'm using the following sequence file and neither of the AoE macros are firing. When I try to use them the single target macros fire instead. Any idea where I went wrong? Other than that everything is working great. Thank you for this great addon.
You can't have spaces in the sequence names, I should probably write that somewhere.

You should be able to use underscores like "Marks_AoE", but spaces will interfere with how the sequence button gets clicked.

Originally Posted by Iminents
I know it blows to get asked this. But i simply cannot figure out how to get this started. I do not know what part of the example needs to exist in the "live" script. How to format that script to start when ( i assume ) the blank macro is clicked. What actions are happening when it is clicked.. I just dont understand how to get rolling with this awesome idea.
If you look at the post directly below yours they have a pretty good example of all you need to put into your sequences file.

Aside from the first line that says not to touch it, you can just copy the "short" example at the bottom of the demo script to make your own.

If you don't modify the examples, you can create 2 macros in-game called "GnomeExample1" and "GnomeExample2" and when you click them it will print to the chat box what the macro is doing every time it's pressed.

This example will output "Executing macro 1!", "Executing macro 2!", "Executing macro 3!" as you click it, and would cast each spell in turn if you put actual spell names in there. Everything between the brackets is called just like a normal macro would.
Lua Code:
  1. Sequences["GnomeExample2"] = {
  2.     -- Macro 1
  3.     [[
  4. /run print("Executing macro 1!")
  5. /cast SpellName1
  6.     ]],
  7.    
  8.     -- Macro 2
  9.     [[
  10. /run print("Executing macro 2!")
  11. /cast SpellName2
  12.     ]],
  13.    
  14.     -- Macro 3
  15.     [[
  16. /run print("Executing macro 3!")
  17. /cast SpellName3
  18.     ]],
  19. }
Last edited by semlar : 11-04-14 at 10:58 AM.
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 03:41 PM  
bobthe
A Kobold Labourer

Forum posts: 1
File comments: 7
Uploads: 0
I have donloaded the latest files installed them into wow folder interface/addons
i then changed the name from Example sequences to Sequences
I then copied and pasted this macro and saved it in Sequences when i log in to game I cannot see the macro anywhere i looked in the general tab of macro box but nothing
What must i do to see it in game so i can allocate it a key to press I am using a logitech G510s keyboard

local _, Sequences = ... -- Don't touch this

Sequences['Marks'] = {
PreMacro = [[
/targetenemy [noharm][dead]
]],
'/cast A Murder of Crows',
'/cast Chimaera Shot',
'/cast Kill Shot',
'/cast Glaive Toss',
'/cast Aimed Shot',
'/cast Steady Shot',
'/cast Rapid Fire',
PostMacro = [[
/startattack
/petattack [@target,harm][]
]],
}
thank you in advance it you could clear this up for me
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 06:10 PM  
dafino
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Thanks Semlar!
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 06:32 PM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Originally Posted by bobthe
I have donloaded the latest files installed them into wow folder interface/addons
i then changed the name from Example sequences to Sequences
I then copied and pasted this macro and saved it in Sequences when i log in to game I cannot see the macro anywhere i looked in the general tab of macro box but nothing
What must i do to see it in game so i can allocate it a key to press I am using a logitech G510s keyboard
Create a macro with the same name as your sequence (Marks) and the addon will overwrite it with your sequence.
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 06:57 PM  
dafino
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
One other question for you, Semlar. Is it possible to put conditionals in the /cast portion of the sequence? For instance, is it possible to use something like:

Code:
"/cast [nochanneling] Jab",
Last edited by dafino : 11-04-14 at 06:57 PM.
Report comment to moderator  
Reply With Quote
Unread 11-04-14, 07:01 PM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Originally Posted by dafino
One other question for you, Semlar. Is it possible to put conditionals in the /cast portion of the sequence? For instance, is it possible to use something like:

Code:
"/cast [nochanneling] Jab",
Yes, but the conditions will only apply to that macro in the sequence.
Report comment to moderator  
Reply With Quote
Unread 11-05-14, 10:31 AM  
infinityz
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
modifiers

Hi,

do you think something like that:

/cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot

could work with your tool?

Thanks
Last edited by infinityz : 11-05-14 at 10:33 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-14, 10:38 AM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Re: modifiers

Originally Posted by infinityz
do you think something like that:

/cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot

could work with your tool?
It should work, but it would only apply to the one macro in the sequence that it's in unless you put it into the "PreMacro" section.

It might not update the spell icon on the button though.
Last edited by semlar : 11-05-14 at 10:40 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-14, 10:52 AM  
infinityz
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Re: Re: modifiers

Originally Posted by semlar
Originally Posted by infinityz
do you think something like that:

/cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot

could work with your tool?
It should work, but it would only apply to the one macro in the sequence that it's in unless you put it into the "PreMacro" section.

It might not update the spell icon on the button though.
Maybe I didn't put it in the right way:

Sequences['Marks'] = {
'/cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot'
'/cast Chimaera Shot',
'/cast Glaive Toss',
'/cast Aimed Shot',
'/cast Steady Shot',
'/cast Rapid Fire',
'/startattack',
'/petattack',
}

either shift and ctr do nothing when hit :-/
Last edited by infinityz : 11-05-14 at 10:55 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-14, 11:14 AM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Re: Re: Re: modifiers

Originally Posted by infinityz
Maybe I didn't put it in the right way:

Sequences['Marks'] = {
'/cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot'
'/cast Chimaera Shot',
'/cast Glaive Toss',
'/cast Aimed Shot',
'/cast Steady Shot',
'/cast Rapid Fire',
'/startattack',
'/petattack',
}

either shift and ctr do nothing when hit :-/
I don't know what you want it to do, so I'm not sure what to tell you.

The way you have it written it would cast kill shot or steady shot based on the modifier key you're holding down for the first cast in the sequence (you also have startattack and petattack on separate clicks which I assume you don't want either, and there's an example like 5 posts down on this page that shows how to write this).

If you want it to always cast killshot when you hold down shift and steady shot when you hold down ctrl you would put that into the PreMacro section which gets executed before everything else does every time you push the button.
Lua Code:
  1. Sequences['Marks'] = {
  2. PreMacro = [[
  3. /cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot
  4. ]],
  5. '/cast Chimaera Shot',
  6. '/cast Glaive Toss',
  7. '/cast Aimed Shot',
  8. '/cast Steady Shot',
  9. '/cast Rapid Fire',
  10. PostMacro = [[
  11. /startattack
  12. /petattack
  13. ]],
  14. }
Report comment to moderator  
Reply With Quote
Unread 11-05-14, 11:22 AM  
infinityz
A Kobold Labourer

Forum posts: 0
File comments: 9
Uploads: 0
Re: Re: Re: Re: modifiers

Originally Posted by semlar
If you want it to always cast killshot when you hold down shift and steady shot when you hold down ctrl you would put that into the PreMacro section which gets executed before everything else does every time you push the button.
Lua Code:
  1. Sequences['Marks'] = {
  2. PreMacro = [[
  3. /cast [mod:shift] Kill Shot;[mod:ctrl] Steady Shot
  4. ]],
  5. '/cast Chimaera Shot',
  6. '/cast Glaive Toss',
  7. '/cast Aimed Shot',
  8. '/cast Steady Shot',
  9. '/cast Rapid Fire',
  10. PostMacro = [[
  11. /startattack
  12. /petattack
  13. ]],
  14. }
Cheers mate, this has made the trick :-)
Report comment to moderator  
Reply With Quote
Unread 11-06-14, 08:34 PM  
bree
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Smile cant get macro to work :(

This is what I have, but it will not work. I went in game to macros and put the name "Frost" in but still doesn't work.

local _, Sequences = ... -- Don't touch this

Sequences['Frost'] = {
‘/cast Obliterate’,
‘/cast Howling Blast’,
‘/cast Plague Strike’,
‘/cast Soul Reaper’,
‘/cast Obliterate’,
‘/cast Frost Strike’,
‘/cast [combat] Pillar of Frost’,
‘/cast [combat] Empower Rune Weapon’,
PostMacro = [[
/startattack
]],
}

Any help to get it working would be great. When I log into wow I get the error...."Failed to load Sequences.lua or contains no macros, create the file from ExamplesSequences.lua and restart the game." I did rename the file to Sequences.lua. Thanks in advance for your help.
Report comment to moderator  
Reply With Quote
Unread 11-06-14, 08:48 PM  
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1060
File comments: 187
Uploads: 25
Re: cant get macro to work :(

Originally Posted by bree
This is what I have, but it will not work. I went in game to macros and put the name "Frost" in but still doesn't work.

local _, Sequences = ... -- Don't touch this

Sequences['Frost'] = {
‘/cast Obliterate’,
‘/cast Howling Blast’,
‘/cast Plague Strike’,
‘/cast Soul Reaper’,
‘/cast Obliterate’,
‘/cast Frost Strike’,
‘/cast [combat] Pillar of Frost’,
‘/cast [combat] Empower Rune Weapon’,
PostMacro = [[
/startattack
]],
}

Any help to get it working would be great. When I log into wow I get the error...."Failed to load Sequences.lua or contains no macros, create the file from ExamplesSequences.lua and restart the game." I did rename the file to Sequences.lua. Thanks in advance for your help.
Those quote marks are potentially causing problems, you'll notice that they're slanted rather than straight quotes (' and " versus ‘ ’), it's probably something your editor is doing.

You can either replace the quotes with [[ and ]] like [[/cast Frost Strike]], etc. or switch to a text editor that doesn't use fancy quotes.
Report comment to moderator  
Reply With Quote
Unread 11-06-14, 09:13 PM  
bree
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
still the same

I changed it to ...

Sequences ["Frost"] = {
[[/cast Obliterate]],
[[/cast Howling Blast]],
[[/cast Plague Strike]],
[[/cast Soul Reaper]],
[[/cast Obliterate]],
[[/cast Frost Strike]],
[[/cast [combat] Pillar of Frost]],
[[/cast [combat] Empower Rune Weapon]],
PostMacro = [[
/startattack
]],
}

it still will not work, any ideas? still get the same error..."Failed to load Sequences.lua or contains no macros, create the file from ExamplesSequences.lua and restart the game.
Last edited by bree : 11-06-14 at 09:17 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: