Get an Epic Experience with Premium

Macro Toolkit

Action Bars Login to Add Favorites
  • 47 Likes
  • World of Warcraft
  • 147,112 Monthly Downloads
  • Supports: 6.0.3
  • 647,249 Total Downloads
  • Updated 01/22/2015
  • Created 11/11/2012
  • 438 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 2 (GPLv2)
  • Newest File: v6.0.3.13
or
Support development! **
Donate

About Macro Toolkit

Macro Toolkit

Please share your macros and custom commands in our forum: wow.curseforge.com/addons/macro-toolkit/forum

If you need to report a bug please use the ticketing system on Curseforge. I don't get notifications of comments left on Curse, so if you need me to see something,either PM me or comment/ticket on Curseforge.

Macro Toolkit is an enhanced macro frame that adds the following features to the default macro UI:

  • Macro Shortening
  • Key Binding and key bind only macros
  • Extended Macros
  • Condition Builder
  • Extended, Searchable Icon Frame
  • Syntax Highlighting
  • Syntax Checking
  • Drag and Drop Moving
  • Movable Macro Frame
  • Scalable Macro Frame
  • Insert Special commands
  • Easy Slot Selection
  • Backup
  • Restore
  • Clear all Macros
  • Share Macro
  • Add Custom Slash Sommands
  • Slash Commands for Common Lua Script Functions
  • Copy macros between characters
  • ElvUI Skin
  • Add certain types of macro to a data broker (new in 6.0.3.4)

Using Macro Toolkit

By default Macro Toolkit overrides the built in macro UI and can be accessed in the same way. If you chose to keep the default UI as well, Macro Toolkit can still be accessed using the following slash commands:

  • /mac
  • /mtoolkit
  • /macrotoolkit

Be warned though that if you chose this option the two macro frames may not play well together .

Macro Shortening

Macro Toolkit will attempt to shorting your macros without affecting functionality. It does by looking for the shortest options for each command used, removing unnecessary spaces and optionally replacing known common Lua script functions with Macro Toolkit commands. This is more involved than it may sound, so it's worth checking that nothing has been removed that you kinda wanted left alone once you've used this function.

Key Binding and key bind only macros

Macros can be bound directly to keys without the need to place the macro on an action bar. Macro Toolkit also has a special tab that adds 18 keybind only macros - these macros can only be used with key binds, they cannot be put onto action bars.

Extended Macros

Macro Toolkit can extend macros beyond the 255 character limit.

Condition Builder

Macro Toolkit has a tool to help you build conditional statements for use in macros using dropdown boxes with easy to understand descriptions of the conditions.

Extended, Searchable Icon Frame

When creating a new macro or changing an existing one, the default macro UI offers you a small window showing 15 of the available icons for your macro at a time. As of version 5.1.0.1 Macro Toolkit uses LibAdvancedIconSelector to make more icons visibible at the same whilst also offering a search facility and icon filtering by means of options.

Syntax Highlighting

Macro Toolkit can optionally highlight commands, conditions and parameters in macros by changing the colour (yeah, I'm British :-)) of each keyword. These colours can adjusted using the in game options menu.

Syntax Checking

Basic syntax (which can be switched off if required) is performed on the macro as you type (or after they've been typed). Any errors found, along with suggestions for mistyped keywords are shown in an adjacent window.

Drag and Drop Moving

Macros can be moved from General to Character Specific, or vice versa by a simple drag and drop operation

Movable Macro Frame

Macro Toolkit's frame can be moved to anywhere you want it on your screen. The position will be remembered for future use.

Scalable Macro Frame

Macro Toolkit's scale can be adjusted. This allows you to increase or decrease the size of the frame in relation to the rest of the game UI which can help considerably in making your macros easier to read.

Insert Special Commands

Macro Toolkit contains a dropdown list of common Lua script functions used in macros that can be inserted into your macro. The scripts have been converted to slash commands - see below for an explanation of those commands

Easy Slot Selection

To make is easier to work out which slot number equates to which equipment slot on your character, Macro Toolkit includes a dropdown that list all available slots by name, and inserts the appropriate number into your macro.

Backup / Restore / Clear All

Macros can be backed up to your saved variables file and restored later. Macro backups are performed by group, so, if you have the character specific tab selected, then only those macros will be backed up. The same is true for restore. There is also a function to clear all your macros (subject to which tab is selected) if you just want to wipe them all and start again.

Share Macro

Macro Toolkit will print the selected macro to either the Guild, Raid or Party frame if required so that you can share you macros with other people. As of version 5.1.0.1 macros can also be sent directly to other Macro Toolkit users, either individually or to whole group.

Add Custom Slash Commands

If you have a Lua script function that you often use, or just want to shorten, you can create your own custom slash command and add the script to it. Parameters to your script can be accessed using the variables arg1, arg2, arg3 and arg4.

Copy macros between characters

When you log into a character with Macro Toolkit enabled, that character's macros will be recorded (with the right option set) so they can be used with other characters.

Slash Commands for Common Lua Script Functions

Macro Toolkit has the following built in slash commands designed to be used within macros:

  • /mtce - Clears UI Errors
  • /mtex - Stops errors being sent to the Errors Frame
  • /mteo - Allows errors to be sent to the Errors Frame
  • /mtrp - Summons a random non combat pet
  • /mtso - Enable sound effects
  • /mtsx - Disable sound effects
  • /mtrt - Set raid target marker
  • /mtev - Exit vehicle
  • /mtmc - Print the player's map position
  • /mttc - Toggle display of cloak
  • /mtth - Toggle display of helm
  • /mtep - Eject all passengers
  • /mtsg - Sell all grey quality items at the vendor screen
  • /mtdg - Destroy all grey quality items
  • /mtnb - Print a list of all people in your raid with no food buff
  • /mtnf - Print a list of all people in your raid with no flask buff
  • /mtfm - Summons a random favourite mount, like the mount journal button, but this command accepts conditionals
  • /mte - Add conditionals to conditionally execute insecure commands (i.e. not /cast, /target, etc) - new in 6.0.3.4

ElvUI Skin

For those of you that use the excellent ElvUI, MacroToolkit will skin itself to match. Note that this will only work for ElvUI users. Version 6.0.3.4 adds an option to switch off the ElvUI skin for ElvUI users if desired.

Bug Reports / Change Requests

If you find any bugs or have any suggestions for improvements, please use the ticketing system, accessible from the following link:

Locales

Macro Toolkit is currently localised for all WoW game client locales. If you would like to contribute to translating Macro Toolkit, please use the following link:

Please note that the quest names and NPC names are not included in the locale and will still appear in English.

Acknowledgements

  • Dohram - for features and testing
  • HOPE - for very helpful and patient testing.
6.0.3.13
Changed: Dynamic icons disabled for extended macros whilst I work out the code
 
6.0.3.12
Fixed: Tickets 88, 89 & 90
 
6.0.3.11
Fixed: Tickets 86 & 87
 
6.0.3.10
Fixed: Tickets 84 & 85
 
6.0.3.9
Fixed: Lua error seen by some users in the UpdateIcon function (properly this time)
 
6.0.3.8
Fixed: Lua error seen by some users in the UpdateIcon function
 
6.0.3.7
Fixed: Ticket 81
 
6.0.3.6
Fixed: Ticket 80
 
6.0.3.5
Fixed: Changes made to dynamic icon function
 
6.0.3.4
Fixed: Extended macros should now update their icon automatically, ticket 21
Added: Option to add certain types of macro to a data broker, ticket 43
Added: Option to prevent Macro Toolkit from being skinned for ElvUI
 
6.0.3.3
Fixed: Ticket 76
 
6.0.3.2
Fixed: Infinite loop in shortening algorithm affecting macros using noexists
 
6.0.3.1
Fixed: Ticket 70
 
6.0.3.0
Fixed: Ticket 69
 
6.0.0.9
Fixed: Ticket 67
Fixed: Ticket 68
Fixed: Macro shortening now correctly recognises Macro Toolkit slash command equivalents
Added: Orphaned macro check
 
6.0.0.8
Fixed: Ticket 65
 
6.0.0.7
Fixed: Keybind errors reported by hubot
 
6.0.0.6
Fixed: Better (i.e. some) handling of blocked actions during combat
Added: Summon Random Favourite Mount - ticket 64
 
6.0.0.5
Fixed: Ticket 62
 
6.0.0.4
Changed: Renamed LibAdvancedIconSelector to avoid conflicts
Fixed: Binding issue
 
6.0.0.3
Added: Advanced icon selection is back
Fixed: Missing talent localisation
 
6.0.0.2
Added: Additional macro shortening (ticket 52)
Fixed: Removed spam on macro upgrade
 
6.0.0.1
Added: Talent condition
Fixed: Icon selection issue - LibAdvancedIconSelector now removed
 
6.0.0.0
Changed: Updated for 6.0
 
5.4.0.4
Fixed: Corrected macro issue from previous release, sorry all :-(
 
5.4.0.3
Fixed: Ticket 34
 
5.4.0.2
Fixed: Ticket 33
 
5.4.0.1
Fixed: Tickets 31 and 32
 
5.4.0.0
Changed: Updated ToC for 5.4
Fixed: Slot insert button now remains in place when increasing Macro Toolkit's height
 
5.3.0.2
Fixed: Correctly anchored the error frame in ElvUI, reported by tehnerdbox
fixed: Ticket 26
 
5.3.0.1
Fixed: Ticket 22
 
5.3.0.0
Changed: ToC update for 5.3
 
5.2.0.1
Fixed: Ticket 18
 
5.2.0.0
Changed: ToC update for 5.2
 
v5.1.1.2
Added: Support for Macro Box extended macros
 
v5.1.1.1
Changed: Main icon
Fixed: Item link clicking issue reported by SodiumIon
 
v5.1.1.0
Added: Key bind only macros
Added: Macros can now be copied from other characters
Changed: Macro Toolkit no longer responds to the escape key, so all keys should now work as expected
Fixed: Ticket 12
Fixed: Ticket 14
Fixed: swapactionbar no longer shortens to swapbar
 
v5.1.0.4
Added: Interface customisation options
 
v5.1.0.3
Added: Macros can now be bound to keys without placing them on actionbars
Changed: Shorten now changes "Spellname1;Spellname1" to "[]Spellname1"
Changed: Code optimisations
Changed: Improved castsequence validation
Fixed: ElvUI skin for sharing popup
Fixed: Corrected "No Flask" message
 
v5.1.0.2
Fixed: Stopped popup from opening on login, oops >.<
  v5.1.0.1
Added: Button for MacroBox
Added: SELFCAST to modifiers list
Changed: Macro icon frame now uses LibAdvancedIconSelector for search and filter functions, by request of NickyJean
Changed: Frames now respond to the escape key again
Changed: Improved macro sharing, macros can now be sent directly to other Macro Toolkit users
Fixed: Issue with formatting empty conditions
Fixed: Issue with icons for extended macros
Fixed: Issue with formatting long commands
Fixed: Macros will now save after being shortened, reported by Gennoken
 
v5.1.0.0
Added: /mteo and /mtex
Fixed: macro renaming no longer recreates the macro, reported by HOPE
 
v5.0.0.9
Added: Preview of condition in condition builder
Changed: Removed "playertarget"
Fixed: Stop scaling making the frame move
v5.0.0.8
Added: UI is now scaleable, by request of Ishmael
Added: Options button added to main UI
 
v5.0.0.7
Fixed: Extended macros now correctly display tooltips - reported by HOPE
Fixed: Links can now be embedded into macros
Fixed: Macro Toolkit no longer prevents the spell book from opening
 
v5.0.0.6
Changed: Update ToC for 5.1
Fixed: Ticket 10 by HOPE
 
v5.0.0.5
Changed: Extend number of visible icons in the popup frame
Added: Conditions builder
Added: More conditional shortening
Fixed: Various bug fixes
 
v5.0.0.4
Fixed: Tickets 3 and 6 by Baihu
Fixed: Tickets 4 and 5 by Iaincar
Fixed: Ticket 7 by gleiNNek
v5.0.0.3
Fixed: Minor bugs
 
v5.0.0.2
Changed: Updated shortening algorithm
Fixed: Condition parsing issue
Fixed: Ticket 4, reported by Iaincat
 
v5.0.0.1
Added: Extended macros by request of Dohram
Added: Button on default macro frame, ticket 2, by Baihu
Fixed: Various bugs
 
v5.0.0.0
Initial release

Comments

First Previous Page 1 of 14 Next Last
  • #215

    v6.0.3.13

    #showtooltip does not seem to work when using extended macros, I just get a question mark.

    "showtooltip /use [spec:1,mod:ctrlshift,@player][spec:1,mod:ctrl]Legacy of the White Tiger;[spec:2,mod:ctrlshift,@player][spec:2,mod:ctrl]Legacy of the Emperor;[talent:4/1,mod:shift,@player][talent:4/1]Ring of Peace;[talent:4/3]Leg Sweep"

  • #213

    How do you delete Custom Slash Commands? Pressing the arrow to show custom commands simply brings up an unclickable window.

    Edit: Custom Slash Commands seems to be pretty buggy all together. If you input an empty string when creating one and press delete, it'll delete the latest (legit) slash command from "show custom commands"; however the slash command will still work.

    Last edited by Keshoon on 1/23/2015 2:04:06 PM
  • #214

    Please create a ticket for this

  • #209

    I've just started using this addon, but for some reason i can't put link into macros the way i was used to, so could someone tell me how to do it with this addon?

    normally i would open a macro, place the marker where i wanted my link --> hit "esc" --> hit enter (for chat window) --> write [   /script MacroFrameText:Insert("put spell/item between here")  ]  and once i hit enter the link would be in there... but when i do it with this addon, nothing happens and no link in the macro? so how do I do it now with this addon?

    Last edited by bilbo92 on 1/19/2015 3:00:33 PM
  • #211

    MacroFrameText is part of the default macro interface, Macro Toolkit uses a different name, but to be honest, trying to insert links this way would produce unpredictable results.

    To insert a spell into a macro, just hold down shift and click on the spell from your spellbook.

    For reference, the equivalent frame in Macro Toolkit is MacroToolkitText (as opposed to MacroFrameText), but manually inserting like this is likely to do produce issues with the character count, syntax highlighting and general macro text display.

    Last edited by Deepac on 1/22/2015 11:25:12 AM
  • #208

    Great addon, Thanks!

    There is one problem i have though, Theres no way to archive a macro, for instance for my warrior i have alot of macros what are spec dependant and i tend to change spec often to keep the class new. Is there any way to add some form of archiving system where you can archive an old macro, and then recall the macro at a later date? Some think like the Alt Char copy macro system, but for archiving macros?

    Thanks again for such a great addon.

  • #212

    Thanks for the comments and thanks for raising a ticket for this. I'll look into this and post any responses on your ticket.

  • #206

    Please use the ticketing system to report errors. I keep asking this and still I see errors reported here. Don't get me wrong, I really appreciate people taking the time to report errors in the first place, but it's a problem for me for the following reasons:

    • I don't get email notifications of posts on here, so it's reliant on me checking manually. I have 11 addons out there so I can't keep doing that.
    • The error may have already been reported by another user. The ticketing system allows you to add extra information or comments.
    • I need more information than just an error code, whilst useful I need to know exactly how to reproduce the errors. In many cases I need to the Saved Variables file too.
    • Huge error reports push other users comments off the page.

    There's over 6000 lines of code to go through so the more info I get via the ticketing system the better. Otherwise there's a lot of guesswork involved on my part.

    Last edited by Deepac on 1/17/2015 1:10:03 AM
  • #203

    All reported errors should now be fixed. Thanks for your patience - the last update turned out to be more complicated than I had anticipated. Thanks also to those reporting errors via tickets as requested - I don't get notifications of errors posted here, so a ticket is the only reliable way of getting my attention.

  • #205

    not yet!!

    keybinding:::: are 100% broken

    7x MacroToolkit\modules\bindingframe.lua:35: bad argument #2 to 'format' (string expected, got nil)
    [C]: ?
    MacroToolkit\modules\bindingframe.lua:35: in function <MacroToolkit\modules\bindingframe.lua:30>
    [C]: in function `Show'
    MacroToolkit\modules\mainframe.lua:861: in function <MacroToolkit\modules\mainframe.lua:861>

    Last edited by Deepac on 1/17/2015 1:00:23 AM
  • #210

    thank you
    I have fixed number ID eg. 101 to1001 in SavedVariables / MacroToolkit.lua under ["extra"] {    }

    Last edited by picro on 1/20/2015 8:23:11 AM
  • #207

    I've truncated your comment, please see the other too posts from me above this one as well as the comments in the addon description text at the top of the page.

    Your error is most likely caused by a problem in your Saved Variables file. The recent change to the macro system caused all kinds of problems with Macro Toolkit and as a result some people will have issues with this file that I can manually correct. I've tried to auto correct a lot of issues, but I can't write code to fix them all.

    Please raise a ticket and attach your file - if it's faulty I'll be happy to fix it for you.

  • #200

    I'm getting this error

    Date: 2015-01-11 00:47:36
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\FrameXML\ChatFrame.lua line 925:
       bad argument #1 to 'strmatch' (string expected, got nil)
    Debug:
       [C]: strmatch()
       ..\FrameXML\ChatFrame.lua:925: QueryCastSequence()
       MacroToolkit\modules\mainframe.lua:914: UpdateIcon()
       MacroToolkit\MacroToolkit.lua:220: eventHandler()
       MacroToolkit\modules\initialise.lua:15:
          MacroToolkit\modules\initialise.lua:15
    Locals:
    (*temporary) = nil
    (*temporary) = "^reset=([^%s]+)%s*(.*)"
    (*temporary) = "string expected, got nil"

    Last edited by 7bello on 1/11/2015 3:42:47 AM
  • #199

    Getting this error each time I load a new character.

    Message: Interface\AddOns\MacroToolkit\modules\mainframe.lua:918: bad argument #1 to 'sub' (string expected, got nil) Time: 01/10/15 18:16:23 Count: 1 Stack: [C]: in function `sub' Interface\AddOns\MacroToolkit\modules\mainframe.lua:918: in function `UpdateIcon' Interface\AddOns\MacroToolkit\MacroToolkit.lua:212: in function `eventHandler' Interface\AddOns\MacroToolkit\modules\initialise.lua:15: in function <Interface\AddOns\MacroToolkit\modules\initialise.lua:15>

    Locals: (*temporary) = nil (*temporary) = 1 (*temporary) = 1 (*temporary) = "string expected, got nil"

  • #198

    6.0.3.5 broke macro toolkit

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Gamepedia Free-shirt Giveaway