Alias Definition
Aliases allow you to define shortcuts for simple commands. For example, you can define df to be an alias
to
drink from
fountain, and then you can type only df in the command line, and drink from fountain will be
sent
to the mud.
For speedwalk commands, you could input a single word such as RecallToThorn which will output the walk pattern to the
destination you are attempting to get to.
All alias events use PCRE (perl compatible regular expression). What this means, is if you create an alias called just:
test, then if you input anything on the command line that contains the word "test" in it, the alias will
trigger. For example, the following This isatest would trigger an alias with a Statement setting of "test".
Thus, make sure to check your PCRE settings. What you want to use for just a 'test' input statement would actually be:
^test. Since the Statement trigger is PCRE based, you can pass arguments through to a back end script - or just
output plain text for the simpler aliases.
Single alias argument using TEXT output:
Alias: ^bb
TEXT command:
buy 10 bread
|
The above alias will cause the program to send: "buy 10 bread", whenever you type in: bb
Regular Expression alias argument using BASIC output:
Alias: ^bb (.*)
BASIC command:
IF $1 = "food" THEN
print "recall;n;n;n"
print "buy 10 bread"
ELSE IF $1 = "potion" THEN
print "recall;s;s;s;w;s";
print "buy 10 potion";
ELSE
print "I don't know what: [".$1."]does";
END
|
 1. Action Window
|
 2. Property Window
|
Alias Editing
To edit an alias, you fill out the alias Name, the triggering Statement and select
the command execution type: Python script, BASIC script, or plain text output.
For example. To go from
Recall to the location Thorn, a user will travel: west, south, south, south, east, open door, east . To create an
Alias that does all this for us, we go to our Alias editor and input:
Name : Thorn
Statement : RecallToThorn
Action : Text
west;south;south;south;east;open door;east
|
And that's it. This above script assumes that you have set your command seperator argument to ';'. You can set your
command argument seperator by visiting Settings -> Global Settings -> Strings and input the character: ; in the entry
field.
The Alias: is either a basic input entry: MyAlias or a regular expression: ^Myalias (.*) (.*)
NOTE!:
The '^' before an alias name ensures that your alias name STARTS WITH the letter you input on the command entry. Or
else if you have
an alias such as:
test
rather than
^test
Every time you enter in a sentence with the word 'test' in it, the alias would trigger. For more help on using regular
expressions, visit: http://perldoc.perl.org/perlre.html
Scope of Aliases
There are two different places you can access an ALIAS. Either globally in the: Settings -> Global Settings ->
Actions -> Alias for global alias access that will work on any game you log into. Or you can create game
specific aliases by logging into a game, and then selecting Profile -> Actions -> Alias.
Alias can be ENABLED/DISABLED as needed in either locations. Aliases are also importable and exportable to your
mudmagic login with the import/export feature located in Tools -> Remote Storage.
Scripting Support
Aliases can use Python, MudMagic BASIC scripting language or Plain Text output.
For more details on scripting visit the SCRIPTING link to the left.
Alias Examples
Aliases are simple direct command line replacements. With the use of Perl PCRE, you can pass arguments to the MudMagic
command interpreter to perform some BASIC script support if desired.
Example TEXT 1:
Name: Dathlin to Baghanny Bay
Alias: DathlintoBaghannyBay
command:
w;w;w;w;w;w;w;w;w;n;n;w;w;w;se;se;se;s;s;s
|
The above example is a speed-walk alias that will take you from a location called Dathlin to a location called
Baghanny Bay. ( for KoTl players - this is a working alias =)
Extended BASIC Script Example:
Name: Buy <#> -
Alias: ^buy (\d*) (.*)
command: BASIC
REM : store how many items we want in a variable
TOTAL_ITEMS = $1
REM : store what we are buying in a variable
ITEM = $2
IF TOTAL_ITEMS > 10
THEN
$MESSAGEBOX "Trying to buy too much"
ELSE
IF ITEM = "bread" THEN
send "recall;s;s;s;w;n";
send "buy $1 $2"
ELSE
IF ITEM = "strength" THEN
print "recall;s;s;s;e;n";
print "buy $1 $2";
ELSE
print "I don't know where to find $2"
END
END
END
|
The example above does something different based on what you input.
If you input buy 11 bread
-A popup window will state: Trying to buy too much
If you input: buy 5 bread
-The script will execute for the: ITEM = "bread" line
If you input: buy 5 strength
-The script will execute for the; ITEM = "strength" line
If you input buy 5 tomatoes
-You will see on the client "I don't know where to find tomatoes"
Copyright ©
2004-02-26 MudMagic.Com