Alias command

The concept of an alias is to be able to make something complex happen just by executing a short command. DDO has this ability built-in, using the 'alias' slash-command.

We'll start with the basic syntax for the /alias command.


 * /alias ;alias "alias string"

The Parts
Let's break that syntax down into the various parts.

/alias  - The normal slash command like anything else, designates you are creating an alias.

;alias  - This designates the shortcut for the string you wish to input. Important: Case (upper/lower case) does not matter when naming shortcuts, therefore ;trap is the same as ;TRAP, which is the same as ;TrAp

"alias string"  - The text inside the quotes is what is sent to the game. This is your string.

The How
Aliases work by replacing your shortcut (;alias) with the string you assign to the shortcut ("alias string"). So to create a simple alias that says 'Hello World' you would type the follow in the chat box.


 * /alias ;hw "Hello World"</tt>

After you type that and press return you have set your first alias!

In order to use your alias all you need to do is type your shortcut into the chat box. So for our above example you would type:


 * ;hw</tt>

And what you would see (if you have the general chat tab selected) is your character saying:


 * (SAY): You say, "Hello World"

Advanced Alias Usage
So, you've mastered "Hello World," Congratulations. Now onto the fun and juicy stuff.

Directing the String
I can't think of a better way to describe my thought here, so that's what you get.

By "Directing the string" I mean having it point to a specific channel. In the previous example using "Hello World" it will output the text into which ever channel you have selected as default in your chat window. To get around this we simply add the appropriate slash command in front of our string.

Example: I want to say 'Hello World' but I want it to go into guild chat instead of say. I would use the following to set my alias.


 * /alias ;hw "/g Hello World"</tt>

And I would see the follow when I type the shortcut into my chat window:


 * (Guild): [To Guild] Hello World

List of acceptable slash commands to direct the string.


 * /say - sends string to 'say' or general tab, viewable by all players in area.
 * /g - sends string to 'guild' viewable by all guild members.
 * /p - sends to party viewable by all party members.
 * /em - sends an emote viewable in general tab by all players in area.</tt>

Making Use of This
Rogues often need to quickly communicate traps, and some prefer to stay in character. So lets make a quick and dirty alias for them. Our goal is to have it viewable by all party members, so we will direct it to /p for party. We will use a very simple shortcut to allow him to quickly access it.


 * /alias ;t "/p Hold, something is not right here... it could be a trap."</tt>

Once he uses the above alias command once, he will be able to simple type ;t at any time to quickly tell the group to stop, because there is a trap.


 * [Party] Tristam Says, "Hold, something is not right here... it could be a trap."

Additionally we can create custom emotes for our personal use. Take for example someone whom enjoys chuckling more than outright laughing. To make an emote, I would use the follow /alias to set it up.


 * /alias ;chuckle "/em chuckles."</tt>

Typing ;chuckles others would then see:


 * [Emote]: Kedoch chuckles.

And to round it out, someone else may wish to have an easy way to show her nervousness.


 * /alias ;nerv "/em looks around nervously."</tt>

Typing ;nerv would then display:


 * [Emote]: Fred looks around nervously.

Built-In Emotes
If you use /laugh a lot in game you may wish to have extremely easy access to it at all times. This is no problem using an alias!


 * /alias ;l "/laugh"</tt>

Once you input this into the chatbox you can simply type ;l</tt> to perform the default in-game /laugh emote.

Super Advanced
So you've got the hang of /alias, now to expand on its uses.

Gagglenash on DDO forums pointed out that the  (paragraph) tag from HTML works in our chat communication as well. Using this we can type text or create alias's using hard returns to separate lines.
 * /alias ;ahw "This is an advanced Hello World,&lt;P&gt;Hello World!"</tt>

Displays as:


 * (Say) Kedoch says, "This is an advanced Hello World,

Hello World!"

If it used two  tags instead of one it would add an additional return and display


 * (Say) Kedoch says, "This is an advanced Hello World,
 * Hello World!"
 * Hello World!"

As we all know DDO has a rather limited capacity to input text, so what happens if you want a really really long string, say a speech or a bard song/poem/ect? All you have to do is link alias's!
 * /alias ;P1 "This is line one of the speech or song,"
 * /alias ;P2 "And this is line two who would have guessed."
 * /alias ;P3 "Hello, I'm line three and I'm an DDO addict!"
 * /alias ;P4 "And I'm line four and have no relation to line three"</tt>

Now to string it all together!
 * /alias ;speech ;p1&lt;P&gt;;p2&lt;P&gt;;p3&lt;P&gt;;p4</tt>

typing ;speech would display:


 * (Say) Kedoch Says, This is line one of the speech or song,
 * And this is line two who would have guessed.
 * Hello, I'm line three and I'm an DDO addict!
 * And I'm line four and have no relation to line three

Note: You CAN NOT make recursive (repeating) alias's by linking them together in an infinite loop.

Current Limitations
So we have all the fancy things we can do, heres a few things currently not working as intended, not even in existance, or disabled.


 * 1) We cannot use variables, or if we can no one has found the correct terms yet. Therefore %t does not work.
 * 2) We can not create recursive alias's that link to each other in an infinite loop.
 * 3) The ability to "/alias shortcut ;alias shotcutkey" is broken. If it is fixed hotkeys are numbered starting on bar 1 slot 1 as 0-99 (bar 10 slot 10).
 * 4) There is currently no way to write an alias to do anything other than text entry, you cannot execute feats or skills (for those who played coh).

11+ Toolbars Bug/Feature
Original author: Thanks to Kedoch, from the DDO.com forums, for the original form of this document.

UPDATE 15 NEWS
As of Update 15 or so (September 2, 2012), there's some new changes. Most of the previous information is now a little outdated, but is here in case you need to find or interpret files from an older install.

The /importoptions</tt> and /exportoptions</tt> commands are gone. Now there is only /ui layout load</tt> or /ui layout save</tt>. Aliases, if you have any, are stored in (or loaded from) these layout files. UI layouts go in some user-related directory; for instance, on Windows 7, they might be in <tt>C:/Users/(username)/Documents/Dungeons and Dragons Online/ui/layouts</tt>. The default name would be <tt>Default_X_Y.layout</tt>, where X and Y are the screen resolution.

The created file will have an empty aliases section, represented in XML as &lt;Aliases/&gt;. To create aliases, you have to replace that section, then load the resulting file. In fact, a layout file with only an Aliases section works fine; it changes no other settings, and loads in the specified aliases. Aliases are stored server-side along with the rest of your layout once loaded; to clear them, use <tt>/alias clear</tt>. To see what you have, use <tt>/alias list</tt>.

To create a working alias list, you must create an Aliases section containing Alias tags. The basic form is as follows:

&lt;Aliases&gt; &lt;Alias String=";example" Value="/g gratz"/&gt; &lt;/Aliases&gt;

The formatting of this is very picky. You must have a trailing slash before the greater-than for each alias, because otherwise this would be an open tag requiring a close tag. The quotes are not optional. And so on.

You can create aliases which have invalid names, such as ";_end". These aliases may be loaded, but are never expanded because an attempt to invoke them does not look like an alias to the parser.

Within the quotes, you need to escape any quotes, less-thans, greater-thans, or ampersands you want to use. Since one of the major uses of aliases is things like "&lt;rgb=#ff0000&gt;" tags, this means you have to do a lot of escaping. The simple rule is to replace:

1. All ampersands (&amp;) with &amp;amp;. 2. All quotes (") with &amp;quot;. 3. All less-thans (<) with &amp;lt;. 4. All greater-thans (>) with &amp;gt;.

So if you had an alias which, in the old format, looked like:

<tt>;red [ "&lt;rgb=#FF0000&gt;"]</tt>

It would now be spelled:

<tt>&lt;Alias String=";red" Value="&amp;lt;rgb=#FF0000&amp;gt;"/&gt;</tt>

You can add aliases to a specific file and load that file, and you can include an alias to reload the file:

<tt>&lt;Alias String=";reload" Value="/ui layout load aliases.txt"/&gt;</tt>

You need to have the XML headers right (see an exported layout), and the parser is super fussy. A lot of problems reported on the forums turn out to be typos or mismatched punctuation, but there are really no diagnostics.

Time for an update to this page
As we all know the updates over the course of the last year or so have modified how our chat UI works.. Colors no longer seem to work as they used to and there is the introduction of linking items... So since it has been 3/4 years since the last update of this page, here are a few pointers... "GAMEPLAY OPTIONS" [	Aliases [	] Shortcuts ] "GAMEPLAY OPTIONS" [	Aliases [		;red [ "<rgb=#FF0000>"] ;green [ "<rgb=#00FF00>"] ;blue [ "<rgb=#0000FF>"] ;purple [ "<rgp=#FF00FF>"] ;yellow [ "<rgb=#FFFF00>"] ;orange [ "<rgb=#FF9900>"] ;white [ "<rgb=#FFFFFF>"] ;endcolor [ " "] ] Shortcuts ] "GAMEPLAY OPTIONS" [	Aliases [		;r [ "<rgb=#FF0000>" ] ;g [ "<rgb=#00FF00>" ] ;b [ "<rgb=#00D8FF>" ] ;p [ "<rgb=#FF00FF>" ] ;y [ "<rgb=#FFFF00>" ] ;o [ "<rgb=#FF9900>" ] ;w [ "<rgb=#FFFFFF>" ] ;e [ " " ] ;solo [ "<rgb=#4242F0>Solo " ] ;casual [ "<rgb=#4242F0>Casual " ] ;norm [ "<rgb=#00FF00>Normal " ] ;hard [ "<rgb=#FFFF00>Hard " ] ;elite [ "<rgb=#FF0000>Elite " ] ;epic [ "<rgb=#FF00FF>Epic " ] ;50 [ " <Examine:IID:0x03190001A>Heroic Deeds<\Examine> = <rgb=#00D8FF>(Guild): Your guild has earned 50 renown. " ] ;150 [ " <Examine:IID:0x03190001A>Tales of Valor<\Examine> = <rgb=#00D8FF>(Guild): Your guild has earned 150 renown. " ] ;500 [ " <Examine:IID:0x03190001A>Impressive Trophy<\Examine> = <rgb=#00D8FF>(Guild): Your guild has earned 500 renown. " ] ;1k [ " <Examine:IID:0x03190001A>Legendary Victory<\Examine> = <rgb=#00D8FF>(Guild): Your guild has earned 1,000 renown. " ] ;toraid [ "Please convert the party to a <rgb=#FF0000>RAID group please. " ] ;trap [ "/stop warns you that there is a <rgb=#FF0000>TRAP here!!!"] ;pee [ "AFK for a quick <rgb=#FFFF00>Bio Break..."] ;poo [ "AFK for a quick <rgb=#CC6633>Bio Break..."] ;shroudsolver [ "/p http://perfectweb.org/ddo/solver/vale_puzzle.html" ] ;ghsolver [ "/p http://www.globalsoftware-inc.com/harncw/StormReaverPuzzleSolver.html" ] ;infernomap [ "/p http://forums.ddo.com/showpost.php?p=1470276&postcount=209" ] ;cruciblemap [ "http://ddowiki.com/images/M_crucible_maze.png" ] ;howto [ "http://ddowiki.com/page/Alias_command#Time_for_an_update_to_this_page" ] ;diff ["What Difficulty: <rgb=#4242F0>Casual, <rgb=#00FF00>Normal , <rgb=#FFFF00>Hard , <rgb=#FF0000>Elite "] ;cph [ "Collapsed Portable Hole" ] ;pitrunewheel [ "<rgb=#FFFF00>E <rgb=#FF00FF>F <rgb=#00D8FF>T <rgb=#FF9900>H <rgb=#00FF00>U <rgb=#FF0000>Y " ] ;dustrunewheel [ "<rgb=#00D8FF>H <rgb=#FF0000>E <rgb=#FF9900>Y " ] ] Shortcuts ]
 * You can use  /exportoptions alias.txt   to get a copy of your   /alias list   in text format on your hard drive in your install folder and make some edits. Folder paths may include:
 * Windows XP: '''C:\Program Files\Turbine\Dungeons & Dragons Online - Stormreach\alias.txt"'
 * Windows Vista/7 (32): '''C:\Program Files\Turbine\DDO Unlimited\alias.txt"'
 * Windows Vista/7 (64): '''C:\Program Files (x86)\Turbine\DDO Unlimited\alias.txt"'
 * MacOS: Unknown
 * Linux: Unknown
 * Your basic alias.txt file should have NO LESS THAN:
 * You can add some aliases that allow you to use colors in the text box again:
 * You can add other things as well, like afk messages, links to puzzle solvers, puzzle solutions, sayings and riddles...


 * In the ;trap example above, in order for this to work, you need to have you output type set to the 'say' channel.
 * I'm working on figuring out a work-around for this.

After editing them you can load them with   /importoptions alias.txt


 * Imported alias commands will be need to reloaded each time you launch the game or logout\change a character