• World of Warcraft Addons
  • World of Warcraft
  • Average Rating:

  • Your Rating

  • Share
  • Report Abuse

MacroBank

 

Project Updated:
Files Updated: Sat, Oct 10 2009
Supports Game Version: 3.2.0
Category: Miscellaneous
Tags:

[Edit Tags]

Project Manager: Odlaw
Additional Authors: No additional authors
Current Version: r44
License: All Rights Reserved
Development Site: WowAce.com
Avg Daily DL (last 30 days): 43
Downloads Total: 15,926
Favorites: 63
Comments: 23
  • About MacroBank
  •  

What this addon does

MacroBank is an addon to allow you to save macros for future use.

Features

  • Create macros inside the macro bank without having to create them in the main macro window first.
  • Macros can be given a category to group similar macros together.
  • Macros can also be given a description to distinguish them between other macros with the same macro name.
  • Change both the macro text and icon in the macro bank.
  • Save a macro from the main macro window directly to the macro bank.
  • Load a macro from the macro bank to your main macro list.
  • Replace an existing macro with a macro from the macro bank.
  • Delete a macro from the macro bank.
  • Load macro groups when swapping talents.
  • Send macros to other MacroBank users.

Usage

Opening MacroBank

  • Open your normal macro window (/macro)

Saving Macros into the MacroBank

  • Select the macro from the main macro window.
  • If you have some categories already defined in the MacroBank, select the category for which to save the macro into. (If no category is selected/defined, a temporary category will be created)
  • Click Save.

Creating Macros in the MacroBank

  • Select a category in the MacroBank for which to create a new macro into. (If no category is selected/defined, a temporary category will be created)
  • Click Create.

Loading macros from the MacroBank to your main macro window

  • Select the macro from the MacroBank you wish to use.
  • Select the tab in the main macro window you wish to load the macro into (General or Character Specific)
  • Click Load.
  • If the Macro with the same name exists, it will be replaced, otherwise a new macro will be created if there is enough room for another macro.

Replacing macros from the MacroBank into your main macro window

  • Select the macro from the MacroBank you wish to use.
  • Select the macro in the main macro window you wish to replace.
  • Click Replace.

Deleting macros in the MacroBank

  • Select the macro you wish to delete.
  • Click Delete.

Changing Categories, Description, and Names of macros in the MacroBank

  • Select the macro you wish to change
  • Type in the new category, description, or name of the macro in the corresponding edit box.
  • Press Enter to save it. (Why not as you type? Description/Category is used in the scroll window)

Changing the text of the macro in the MacroBank

  • Select the macro you wish to change.
  • Type in the new macro text.
  • Changes should be saved as you type.

Sending a macro to other users of MacroBank

  • Select the macro you wish to send.
  • Click the 'Send To' button.
  • Type in the name of the user and click 'Ok.'

Notes

  • Shift-Clicking spells from the spell book will not insert text into MacroBank's edit boxes. This is code defined in the spell book, and I'm not sure I want to go messing with it. (Same goes for items from your bags or equipped inventory)
  • MacroBank's window normally opens to the right of your main macro window. You may move it by dragging it to another location.

Translation

Translation is done through the localization system at www.wowace.com/projects/macro-bank/localization/

  • Downloads (7)
  •  
File Name Release Type Game Version Downloads Date
Addon Curse.com Beta 2.3.3 0 9/29/2008
  File Name Release Type Game Version Downloads Date  
  MacroBank r44 Release 3.2.0 1,101 10/10/2009
  MacroBank r43 Release 3.2.0 1,240 9/18/2009
  MacroBank r42 Release 3.2.0 483 9/15/2009
  MacroBank r41 Release 3.2.0 1,581 8/4/2009
  MacroBank r40 Release 3.1.0 1,093 7/14/2009
  • Screenshots (1)
  •  
  • Comments

Add Comment  

Add

You need to login or register to post.

Benefits of Registration

  • Interact with hundreds of thousands of other gamers on an open social network.
  • Post your stories, news, images, videos, and other content to share.
  • Create a network with your fellow gamers or join an existing one.
  • Gain reputation for everything you do.
  • Panamah said 

    I'm confused by the primary/secondary spec settings of character category and global category. What exactly do those mean? Does it mean it loads the character category ones into the character specific macros and the global into the general macros?

    One request, it'd be nice to be able to specify multiple categories to load when the spec changes.

    Reply Report Permalink
  • Odlaw said 

    primary is what macros will load when you switch to your primary talents
    secondary is what macros will load when you switch to your secondary talents

    Character Category is what macros will load into the character specific macros
    Global Category is what macros will load into the general/global macros


    I'll look into multiple categories being loaded.

    Reply Report Permalink
  • oscarucb said 

    Hi - awesome addon!! Now that I have it, I can't live without it!

    Minor feature request:

    I'd like a button to "send" a macro to party/raid/whisper, so that I can easily share my macros with people who have not yet downloaded MacroBank.

    Pasting macro text into the chat window does not work properly (because the macro is interpreted rather than pasted). I realize people on the "receiving" end would still have to re-type it or use some copy/paste addon to create the macro, but at least as the "sender" my work is minimized.




    Reply Report Permalink
  • Odlaw said 

    r44 should allow you to send macros to other users who don't have MacroBank.

    Downside is blizzard auto interprets things like %t and %f as your target and focus targets.

    Might have other issues as well.

    Reply Report Permalink
  • Odlaw said 

    Ok, hopefully r43 will fix your problems.

    It would cause errors when it tries to load macros before setting up some variables. It was supposed to set the variables up before talent swapping stuff occurs, but for some reason your setup does talent swapping stuff first.

    Now, it should (cross yer fingers) make sure it sets up the variables first, before allowing any talent swapping stuff to occur.

    Reply Report Permalink
  • gtmsece said 

    I've been getting an error with MacroBank when I log on a character under the following conditions:
    - Character is dual-spec *and* the secondary spec is active
    - MacroBank is configured to automatically load macros based on spec

    I only see the error when I first log in. It doesn't seem to happen during play.

    Message: Interface\AddOns\MacroBank\MacroBank.lua:650: attempt to index field 'IconToIndex' (a nil value)
    Time: 09/15/09 05:42:26
    Count: 1
    Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
    (tail call): ?
    Interface\AddOns\MacroBank\MacroBank.lua:650: in function `LoadCategory'
    Interface\AddOns\MacroBank\MacroBank.lua:452: in function `?'
    ...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146: in function <...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
    [string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
    [C]: ?
    [string "safecall Dispatcher[1]"]:13: in function `?'
    ...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: in function `Fire'
    ...ce\AddOns\Dominos\libs\AceEvent-3.0\AceEvent-3.0.lua:119: in function <...ce\AddOns\Dominos\libs\AceEvent-3.0\AceEvent-3.0.lua:118>

    Locals: self = <table> {
    SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:373
    GetAutoLoadOptions = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:586
    CreateCheckBox = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:1079
    ResetAnchor = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:1063
    EnableModule = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:338
    modules = <table> {
    }
    baseName = "MacroBank"
    IterateEmbeds = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:448
    CreateMacroList = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:1489
    LoadMacro = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:659
    SetDefaultModulePrototype = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:415
    MainFrame = <unnamed> {
    }
    DropDownFrame = MacroBank_DropDownMenu {
    }
    defaultModuleState = true
    IsEnabled = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:457
    DisableModule = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:356
    EasyMenu_Send = <table> {
    }
    ADDON_LOADED = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:388
    RegisterMessage = <function> defined @Interface\AddOns\Titan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:117
    GetArgs = <function> defined @Interface\AddOns\Dominos\libs\AceConsole-3.0\AceConsole-3.0.lua:118
    LoadCategory = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:627
    UpgradeDatabase = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:1762
    db = <table> {
    }
    SetEnabledState = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:430
    enabledState = true
    RegisterEvent = <function> defined @Interface\AddOns\Titan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:117
    CreateEditBox = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:1193
    Load_OnClick = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:698
    SendMacro = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:511
    IterateModules = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:443
    SetMacroDescription = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:885
    OptionsGet = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:567
    ReceivingMacro = <table> {
    }
    SetMacroCategory = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:871
    OnInitialize = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:347
    RegisterChatCommand = <function> defined @Interface\AddOns\Dominos\libs\AceConsole-3.0\AceConsole-3.0.lua:59
    SendMacro_ToChannel = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:541
    GetModule = <function> defined @Interface\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:222
    ShowTooltip = <function> defined @Interface\AddOns\MacroBank\MacroBank.lua:825
    CurrentTalents = 2
    defaultModuleLibraries =

    Reply Report Permalink
  • Odlaw said 

    Ok, r42 should fix that error, however I could not replicate the error exactly.

    It should know what talent spec you have when you log on, and only when you actually change talent specs should it auto-load them. The only way I could replicate the error was to swap talents, and while it was casting the talent swap, I reloaded the UI.


    Reply Report Permalink
  • gtmsece said 

    I updated to r42, but I'm still seeing an error at log in (although a different error). Since you couldn't replicate the error, it seems something specific to my environment is triggering a change talent event at startup, which causes MacroBank to execute it's talent swap routine. I don't have any other addons that touch macros or talents, but I went ahead and disabled all my addons except MacroBank and the error still occurs.

    Here's what I'm seeing with r42. Similar problem, but it gets a bit further before it chokes. Since it doesn't appear to be a conflict with another addon, is there a setting in the default interface that might trigger this state?

    Message: Interface\AddOns\MacroBank\MacroBank.lua:671: attempt to index field 'StartingIndex' (a nil value)
    Time: 09/16/09 16:24:43
    Count: 1
    Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
    (tail call): ?
    Interface\AddOns\MacroBank\MacroBank.lua:671: in function `LoadMacro'
    Interface\AddOns\MacroBank\MacroBank.lua:652: in function `LoadCategory'
    Interface\AddOns\MacroBank\MacroBank.lua:452: in function `?'
    ...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146: in function <...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
    [string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
    [C]: ?
    [string "safecall Dispatcher[1]"]:13: in function `?'
    ...tan\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: in function `Fire'
    ...ce\AddOns\Dominos\libs\AceEvent-3.0\AceEvent-3.0.lua:119: in function <...ce\AddOns\Dominos\libs\AceEvent-3.0\AceEvent-3.0.lua:118>

    Reply Report Permalink
  • AZMAK said 

    Hi Odlaw I have a question please.

    I installed this a few days ago and all is well but I was wondering about a couple things. I have only been testing this on my lowbie Mage so I'm not sure if that matters or not but...

    1) When we tell MacroBank to auto-load groups when switching talents, is it supposed to completely remove the existing ones first then load the group we designated? I have about 24 "general" macros set up and I tried testing it by removing all the macros from the default macro window then log out of game and back in again. Since I am only lvl 12 on this character I just assumed that it would automatically load the group for primary spec but it didn't.

    2) If you place a macro from the default macro window on an actionbar somewhere, then delete the macro from the default macro window, the icon gets removed from the actionbars. Okay, I understand that, the macro no longer exists so it is removed. But I am wondering how MacroBank deals with this when we have it set to load groups when we switch between primary and secondary talents.

    If for example I had 10 macros from the general tab in default macro window on my actionbars, then I switched to secondary talent spec -- and MacroBank loads the designated group it is supposed too, what happens to the macros I originally had on my actionbars from the primary spec?

    I hope you get what I am asking.

    Thanks.

    Reply Report Permalink
  • Odlaw said 

    1) It loads groups of macros as if you had individually selected the macro and clicked the load button. It will replace a macro (replaces by just editing the text and icon) that has the same name, or create it if one does not exist. Loading groups of macros with the command line is the same way.

    It does not load the talent group upon loading into the world (I might make this an option)

    2) This was one of the reasons I made MacroBank. Since loading macros (either single or groups of them) will replace a macro with the same name (remember, it replaces by editing) the macro will stay on your bar.

    Here is an example I use:
    I have a macros named "Multi"
    I setup macros for various fights
    XT-002: ( I want quick targetting + marking with a triangle)
    /targetexact Life Spark
    /script if ( UnitName("target") == "Life Spark" ) then SetRaidTarget("target", 4) end

    General Vezax: (I want quick targetting here)
    /targetexact General Vezax
    /targetexact Saronite Animus


    Now, I load up XT macro, and put it on my bar hotkeyed to 'h'.

    When I get to vezax, or some other boss, I just load up that macro, and it edits the text/icon of "Multi", and it remains on my bar hotkeyed as 'h'.

    3) If you switch talent specs, blizzard swaps your bars to a completely different set of bars. Assuming you had the same 10 macros on this new bar and had the mod load new macros, they would still be there, with different text/icons.

    Reply Report Permalink
  • oopsie2 said 

    I'm getting this error message when MacroBank is enabled:
    Date: 2009-07-02 09:03:37
    ID: 2
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\MacroBank\MacroBank.lua line 419:
    attempt to index field 'Hooks' (a nil value)
    Debug:
    (tail call): ?
    MacroBank\MacroBank.lua:419: ?()
    ...ank\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146:
    ...ank\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146
    [string "safecall Dispatcher[2]"]:4:
    [string "safecall Dispatcher[2]"]:4
    [C]: ?
    [string "safecall Dispatcher[2]"]:13: ?()
    ...ank\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: Fire()
    ...\AddOns\MacroBank\Libs\AceEvent-3.0\AceEvent-3.0.lua:119:
    ...\AddOns\MacroBank\Libs\AceEvent-3.0\AceEvent-3.0.lua:118
    [C]: LoadAddOn()
    MacroBank\MacroBank.lua:371:
    MacroBank\MacroBank.lua:365
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[1]"]:9:
    [string "safecall Dispatcher[1]"]:5
    (tail call): ?
    ...\AddOns\MacroBank\Libs\AceAddon-3.0\AceAddon-3.0.lua:531: EnableAddon()
    ...\AddOns\MacroBank\Libs\AceAddon-3.0\AceAddon-3.0.lua:621:
    ...\AddOns\MacroBank\Libs\AceAddon-3.0\AceAddon-3.0.lua:607
    [C]: LoadAddOn()
    ..\FrameXML\UIParent.lua:229: UIParentLoadAddOn()
    ..\FrameXML\UIParent.lua:252: CombatLog_LoadUI()
    ..\FrameXML\UIParent.lua:497:
    ..\FrameXML\UIParent.lua:469
    AddOns:
    Swatter, v3.1.13 (<%codename%>)
    ACP, v3.1.0.17
    MacroBank, v1.5
    Outfitter, v4.7.3
    VisualHeal, v
    (ck=6a)

    Reply Report Permalink
  • Odlaw said 

    should be fixed in r40

    Reply Report Permalink
  • fertzane said 

    Can you send a macro to the raid/party? Or maybe make it so that you can multi-select members of the raid/party. Bring up a list of members of the raid/party that have MacroBank installed? Would be useful for quickly distributing situational macros that the player can then store for future use.

    Reply Report Permalink
  • daxdax said 

    Date: 2009-03-06 17:29:51
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua line 19:
    Cannot find a library instance of "AceGUI-3.0".
    Debug:
    [C]: ?
    [C]: error()
    !Swatter\Support\LibRevision.lua:47: LibStub()
    ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:19: in main chunk

    Reply Report Permalink
  • Odlaw said 

    Should be fixed in r27

    Reply Report Permalink
  • JCinDE said 

    Odlaw have you given any thought to my suggestion of a command line switch to "replace" entire categories at a time? Something we could actually put in a macro and with the stroke of a key, switch all our macros. Would be handy to, for instance, quickly switch between group and solo macros.

    Reply Report Permalink
  • Odlaw said 

    I think I understand what you mean now.. You want a slash command to either load or replace all macros in either the global or character macro list.

    An interesting idea. The only problem would be how configurable does it need to be? The more configurable, the harder it will be code.

    For loading vs replacing:
    - Loading would be quite easy to do, as it will replace any macros with the same name, and if no macro with that name exists, it creates it.
    - If we do a 'replace', we have to pre-configure each macro in the category.. to tell each one which slot it will replace. Probably via another option for each macro stored in MacroBank.

    I think I can code a global vs character specific pretty easily.. I can just add another argument to the slash command. IE - /macrobank load Category_A global

    An interesting idea.

    Reply Report Permalink
  • Odlaw said 

    Ok, r23 will have slash commands for loading global and character macros. I had to rework a few functions to clean up code n stuff.. so lemme know if you get any errors.

    I tested it briefly and seemed to work fine. The category name is case sensitive currently.

    To load a category into the global section:
    /macrobank load global CategoryNameHere

    to load into the character section:
    /macrobank load char CategoryNameHereAlso

    I needed the global/char bit first, as categories can have spaces in them. I also thought about doing a single macro loading via slash command, but since categories and macros can have spaces in them...this might be problematic.

    Reply Report Permalink
  • JCinDE said 

    Great work, by the way. Now I can swap out whole sets of macros with ease. I can even use another mod like SpellBinder to just map keystrokes to control MacroBank.

    /salute

    Reply Report Permalink
  • JCinDE said 

    loading whole categories is definitely what I was requesting. For swapping out single macros, though, you could just define individual macro names to take precedence over categories. Then the rule is:

    "/macrobank load char XXXX" will first try to find a macro by that XXXX name and restore the first it finds. If it finds none, then it will look for a category instead and restore all macros within it.

    It'd be up to the user to ensure that there are no name conflicts.

    Reply Report Permalink
  • Similar Addons
  •  

Average downloads per day

  1. 1,506 Skinner Miscellaneous
  2. 1,076 FuBar 3.6 Miscellaneous
  3. 626 Talented Miscellaneous
  4. 614 FuBar_MoneyFu Miscellaneous
  5. 496 Examiner Miscellaneous