Get an Epic Experience with Premium


Action Bars Login to Add Favorites
  • Rift
  • 29 Monthly Downloads
  • Supports: 2.5
  • 11,743 Total Downloads
  • Updated 01/15/2014
  • Created 11/20/2011
  • 25 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: Public Domain
  • Newest File: 1.3

About XMacros

XMacros - eXtra Macros from Xenyr of Steampike.

If you are like me then 25 macros weren't enough and even the 50 macros you get now aren't enough. XMacros is an addon to provide an unlimited number of macros and an unlimited number of bars to fire these macros. XMacros provides its own button bars that can be vertical, horizonal or even grouped as a rectangle. Each button on a bar can have a macro for every mouse button. This allows you to limit the number of buttons on screen by using one button for many actions. For example I have a button setup where each mouse button will make my character use a different mount. 5 mounts on a single button.

XMacros now supports ability timers on its buttons. If you set an ability name on a button then the addon will automatically show the remaining cooldown on that ability. See the images for an example.

XMacros buttons can only be pressed by a mouse click. This is a limitation of the Rift addon api. You cannot use XMacros for you main key bound macros and also you cannot use mouseover macros, as they require a key press to cast. All you other macro buttons (or just normal buttons) can use XMacros.


xm [ current [ setnames ] | off | bars | macros ]

/xm off - turn off xmacros (in case it is causing problems)
/xm macros - open the macro editor
/xm bars - open the button bar editor
/xm current [ setname1,setname2,... ] - make button bar sets setname1,setname2 visible

Getting started:

First lets create a couple of macros. Macros are shared across all characters on the shard. Each macro belongs to a category and you can create as many categories as you need. This will allow you group similar macros and make them easier to find. So lets create a few macros. Start by typing "/xm macros" in the Rift chat box. This will bring up the macro editor. The macro category will be set to Default, which is fine for this example. Enter the name "Mount" in the Name field and then enter "use ash strider" in the text box below the name (change ash strider to a valid mount for your character) and press "Save". Now enter "Mount2" in the Name field and then enter "use crocnard" in the text box below the name (change crocnard to a valid mount for your character, but different from the one used in the Mount macro). Now press the "OK" button.

OK now we need to create a button bar to use these macros. So type "/xm bars" in the Rift chat box to open the bar editor. Enter "Set1" in the set textfield and press the "Add Set" button (it wont seem to do anything but the set has been added). Now press the "Add Bar" button. This brings up the Add Bar window. Set the rows to be 2, the columns to be 2 and the button size to be 52 (which seems to be the default button size in Rift) and press "OK". This will show an empty bar at the top left of the screen. You can drag it to the desired location by using the right mouse button. Now left click on the top button in the bar. This will open the button editor. Click the "Browse Icons" button and select an icon for your new Mount button. Press the "Choose" button beside the Left Macro text and select the Mount macro. Press the "Choose" button beside the Right Macro text and select the Mount2 macro. Press "OK". Now left click the second button on the bar. Type bull rush in the Ability Name text field and press the "Find Icon" button. This will set the icon to the warrior Bull Rush ability icon. Now press the "Choose" button beside the Left Macro text and select the Mount2 macro. Press "OK" on the button editor. Press "OK" on the Set Editor.

Now your bar will be usable. Left click on the top button and you will get one mount (ash strider in my case). Left click on the second button and you will get another mount (crocnard for me). Finally right click on the first button and you will get the same mount as the second button. This is a contrived example, but its just to show how you can have many actions on a single button.

Lots more to come for this addon. Tooltips soon and I am also thinking of addon ability cooldown tracking.

r44 | xenyre | 2014-01-15 21:49:48 +0000 (Wed, 15 Jan 2014) | 2 lines
Changed paths:
   A /tags/1.3 (from /trunk:43)

Tagging as 1.3

r43 | xenyre | 2014-01-15 21:49:14 +0000 (Wed, 15 Jan 2014) | 1 line
Changed paths:
   M /trunk/RiftAddon.toc
   A /trunk/Textures/wrench.png
   M /trunk/XMacros.lua
   M /trunk/XMacrosAbilityManager.lua
   M /trunk/XMacrosAddBarEditor.lua
   M /trunk/XMacrosButton.lua
   M /trunk/XMacrosButtonBar.lua
   M /trunk/XMacrosButtonEditor.lua
   M /trunk/XMacrosButtonSets.lua
   M /trunk/XMacrosConfirmationWindow.lua
   M /trunk/XMacrosEntryWindow.lua
   M /trunk/XMacrosMacroEditor.lua
   M /trunk/XMacrosMacroPicker.lua
   M /trunk/XMacrosManager.lua
   M /trunk/XMacrosRowLayout.lua
   M /trunk/XMacrosSetEditor.lua
   M /trunk/XMacrosTextPicker.lua
   M /trunk/XMacrosTexturePicker.lua
   M /trunk/XMacrosTimer.lua
   M /trunk/XMacrosTooltip.lua
   M /trunk/XMacrosUtils.lua
   M /trunk/XMacrosWarningWindow.lua

version 1.3


First Previous Page 1 of 3 Next Last
  • #43

    - can NOT lean to use easily. it should be refine the tutorial with pics and show it in game.

    - can NOT drag any skill icons and macros to this addon, so must set up each cell.

    - can NOT import default macros to this addon, so must spam copy & paste.

    - can NOT see name of macro like default one, so must put cursol to see as a baloon.

    - can NOT turn a huge amout of pages by scroll bar. so must spam hitting arrow buttons.

    - can NOT see the number of pages like "3 of 50", so must be afraid of until when it lasts.

    + except above, its useful so much. TRION should fire shit UI team and hire u.

    Last edited by curse_ac on 6/4/2015 8:10:49 PM
  • #44

    Unfortunately the addon api doesn't allow me to support drag and drop on skills.  It also doesn't allow me to access the rift macros, which is why you need to recreate them.  I'll look into fixing the other issues you mention.

  • #42

    Great addon!!! That is exactly what I was looking for. Thank you. ;) I just hope you will continue to do updates.

  • #41

    I've been playing a bit of Rift again, so I have fixed a few little errors that were popping up on Rift 2.5.  Download v1.3 for these fixes

  • #40

    I don't play Rift anymore, but I've pushed out a new version for the below issues.  v1.2.1 will support 20 roles and Rift version 2.3

  • #39

    I've tried this and it didnt work, I still cant see the extra roles. I'm running 1.1.9 version.

  • #38

    If anyone is trying to update this to handle 8 roles, this is what I've done to fix my copy:

    In XMacrosSetEditor.lua, at line 233 change:

        roleSelect:SetItems({"1", "2", "3", "4", "5", "6"})


        roleSelect:SetItems({"1", "2", "3", "4", "5", "6", "7", "8"})

    And in XMacrosButtonSets.lua, at line 86, change:

        if roleNumber ~= nil and roleNumber >= 1 and roleNumber <= 6 then


        if roleNumber ~= nil and roleNumber >= 1 and roleNumber <= 8 then

    No guarantees of course.


  • #37

    Thank You TroubleMagnet for the fix!!

  • #36

    hello ive tried the fix but i must be doing something wrong as it does not work for me , any advice would be very grateful, thank you

  • #35

    Thank you for the fix, Magnet. I really appreaciate it!

  • #34

    I've been able to fix this by using LibString to replace the removed function. Download it and place in it the XMacros folder.

    XMacrosUtils.lua: replace the function Split with:

    function XMacrosUtils.Split(str, delim)
        return string.split(str, delim)

    Riftaddon.toc: add Libstring to the dependancies list

    Embed = {
    LibSimpleWidgets = true,
    LibSimpleWidgetsExt = true,
    LibString = true,

    Dependencies = {
    LibSimpleWidgets = {"required", "before"},
    LibSimpleWidgetsExt = {"required", "before"},
    LibString = {"required", "before"},

  • #33

    According to his post on 14 December, Xenyre, the project manager is no longer playing Rift. So, one can safely assume that this fantastic addon is no longer going to function. It is best suggested that you disable or delete this addon until Xenyre updates.

    See "Xenyr's" post here. If Xenyre has chosen to no longer play the game then I do hope someone else will pick up this project!

    Last edited by Heeelp on 2/27/2013 8:10:49 PM
  • #32

    Rift 2.2 has just finished downloading, and XMacros has gone. It's giving this error:

    Error: XMacros/XMacrosUtils.lua:60: attempt to call field 'gfind' (a nil value)
        In XMacros / XMacrosTimer, event Event.System.Update.Begin
    stack traceback:
        XMacros/XMacrosUtils.lua:60: in function 'Split'
        XMacros/XMacrosButtonBar.lua:403: in function 'GetButtonPosition'
        XMacros/XMacrosButtonBar.lua:84: in function 'CreateButtons'
        XMacros/XMacrosButtonBar.lua:38: in function 'Create'
        XMacros/XMacrosButtonSets.lua:274: in function 'EnableSets'
        XMacros/XMacros.lua:102: in function 'Current'
        XMacros/XMacros.lua:287: in function 'SetRole'
        XMacros/XMacros.lua:292: in function 'callback'
        XMacros/XMacrosTimer.lua:158: in function <XMacros/XMacrosTimer.lua:140>

  • #31

    Hey :) - everytime i try to brows an icon this error is sent to me :

    Error: Incorrect function usage.
      Parameters: (userdata: ), "XMacros", "/bumber 1png"
      Parameter types: userdata, string, string
    Function documentation:
        Sets the current texture used for this element.
            Texture:SetTexture(source, texture)   -- string, string
            source:    The source of the resource. "Rift" will take the resource from Rift's internal data. Anything else will take the resource from the addon with that identifier.
            texture:    The actual texture identifier. Either a resource identifier or a filename.
        In XMacros / XMacros.IconButton:LeftPress
    stack traceback:
        [C]: in function 'SetTexture'
        XMacros/XMacrosTexturePicker.lua:201: in function 'Redraw'
        XMacros/XMacrosTexturePicker.lua:164: in function 'Show'
        XMacros/XMacrosButtonEditor.lua:337: in function 'BrowseIcons'
        XMacros/XMacrosButtonEditor.lua:86: in function <XMacros/XMacrosButtonEditor.lua:86>


    can u help me ? :/

  • #29

    Hi there. The app is great, I love it but I am having an issue with this addon that I thought I should inform you of, along with a suggestion I hope you will take into consideration.

    Issue #1: I am having some issues concerning chosing the icon for the ability and macro. So I have my macro and I have my set and bars all ready and whatnot. Now I have to go through the pictures to choose the icon. Okay, that's great, I like it. However, this is where the issue lies: If I cannot find the correct icon for the macro (such as, an icon of one of the abilities in my macro) the macro itself will not work. It will not work at all, period.

    Along with that, its so frustrating flipping through all those pages for one icon and end up not finding. I think I spent almost an hour just trying to find one icon for my macro in order it to work and never found it. I admit I am a bit frustrated with the addon because I cant even use my attack macros. I hope you can clear that up or look into it if its an actual bug and me not being stupid. But I'd like to suggest in putting some sort of search in the addon. It would make it a lot easier to type in the ability and finding the icon with a snap of a finger.

    I really really love the addon but with those two issues its now getting a wee bit frustrating. :/

  • 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 »

Darkest Dungeon Wiki Editing Contest