Macros

From Stormhalter
Revision as of 17:34, 6 November 2021 by Easy (talk | contribs)
Jump to: navigation, search

Macros make execution of server commands much easier. They do not allow you to chain commands, but you may create alias commands or argument substitutions.


For example, it would be tiresome to continuously execute a "throw dagger at orc" command. Creating a macro (tda = "throw dagger at") allows input of "tda orc" to execute the full command.


Macros may substitute parameters specified as part of the command input. For example:

(chs = "[1], critique hand skill"). You may even specify multiple parameters:

(cs = "[1], critique [2] skill")


Macros can even allow for default behavior when a parameter is not specified. For example:

(cs = "[1], critique [2:magic] skill") When the input is "cs lars", the command is executed as "lars, critique magic skill." The command can still be executed by specifying all the parameters ("cs lars hand").


There may be complex scenarios where default parameters exist at the start of a macro.

(ta = "throw [1:dagger] at [2]") In this scenario, it's important to provide the right number of parameters. Using the input "ta orc" would transform into "throw orc at ". The proper way to execute the command is by adding an extra space into the input, "ta  orc". The extra space adds an empty parameter, prior to "orc". The command is properly transformed as "throw dagger at orc"


In cases where extra parameters are provided in the input, they will be appended to the end.


Additional Examples:

ta = "throw [1] at"

Usage: ta dagger orc throw dagger at orc

buy = "[1], buy [2:all]"

Usage: buy rolf => rolf, buy all

Usage: buy rolf gem => rolf, buy gem

dmp = "dump [1:all] on [2:counter]"

Usage: dmp bottles floor => dump bottles on floor

Usage: dmp => dump all on counter


You cannot edit macro files with the game loaded as the file will not save. The "Global" file will be for every character or you can use the character-specific files that appear in your folder after a new character is created.

Sample macro file

aa = "all, attack "
abg = "all, begone"
ad = "all, down"
af = "all, follow"
app = "[1], appraise"
adc = "all, drop coins"
adct = "all, drop coins on table"
adcc = "all, drop coins on counter"
atc = "all, take coins"
atcc = "all, take coins from counter"
atct = "all, take coins from table"
au = "all, up"
bal = "[1], show balance"
bba = "[1], buy all"
ca = "cast at "
cc = "cast cure"
cca = "cast cure at "
cla = "cast locate at "
cpa = "c peek at "
crt = "[1], critique [2] skill"
dac = "dump amulets on counter"
db = "dump bottles"
dc = "dump coins"
dcc = "dump coins on counter"
dct = "dump coins on table"
dbc = "dump bottles on counter"
dep = "[1], deposit"
dgc = "dump gems on counter"
drc = "dump rings on counter"
pc = "party create "
pj = "party join "
ta = "throw axe"
tc = "take coins"
tcc = "take coins from counter"
tct = "take coins from table"
tha = "throw hammer at "
tea = "[1], teach"
tr = "[1], train"
tsa = "throw shuriken at "
wd = "[1], withdraw [2]"