I have made a video discussing both client and script variables, how you might create them, and how you could use them.
Video discussing client and script variables
Posted by Nick Gammon on Thu 30 Dec 2010 05:19 AM — 7 posts, 40,874 views.
Excellent presentation and a good review, Nick
Thanks!
Below are the aliases I described, in case they are hard to read in the video:
Here are the triggers:
And here are the variables:
Below are the aliases I described, in case they are hard to read in the video:
<aliases>
<alias
match="f"
enabled="y"
send_to="12"
sequence="100"
>
<send>
Send (left_direction)
</send>
</alias>
<alias
match="k"
enabled="y"
expand_variables="y"
sequence="100"
>
<send>kick @target</send>
</alias>
<alias
match="t *"
enabled="y"
variable="target"
send_to="9"
sequence="100"
>
<send>%1</send>
</alias>
</aliases>
Here are the triggers:
<triggers>
<trigger
custom_colour="2"
enabled="y"
match="* arrives from the *."
send_to="12"
sequence="100"
>
<send>
target = "%1"
direction = "%2"
</send>
</trigger>
<trigger
custom_colour="6"
enabled="y"
match="* leaves *."
send_to="12"
sequence="100"
>
<send>
target = "%1"
left_direction = "%2"
</send>
</trigger>
<trigger
enabled="y"
expand_variables="y"
match="@target punches you"
sequence="100"
>
</trigger>
</triggers>
And here are the variables:
<variables>
<variable name="last_direction">east</variable>
<variable name="tank">edward</variable>
<variable name="target">carrion crawler</variable>
</variables>
For advice on how to copy the above, and paste it into MUSHclient, please see Pasting XML.
HI
Are there some default client variables? Like for the last command sent (or last 3 commands)
In zmud it was %lastcom
Is there a list of all default variables?
thanx
Are there some default client variables? Like for the last command sent (or last 3 commands)
In zmud it was %lastcom
Is there a list of all default variables?
thanx
There are no default variables, however quite a lot of functions that return things. For the last command, for example:
An argument of 1 returns the most recent command.
Look at the function list (Ctrl+Alt+Shift+L) and type "get" into the filter window to see quite a few of them.
Some of them (like GetInfo) have a selector (argument) that returns a lot of things about the current client state, such as the world file name, log file name, how many triggers have fired, and so on.
GetCommandList
The documentation for the GetCommandList script function is available online. It is also in the MUSHclient help file.
An argument of 1 returns the most recent command.
Look at the function list (Ctrl+Alt+Shift+L) and type "get" into the filter window to see quite a few of them.
Some of them (like GetInfo) have a selector (argument) that returns a lot of things about the current client state, such as the world file name, log file name, how many triggers have fired, and so on.
GetInfo
The documentation for the GetInfo script function is available online. It is also in the MUSHclient help file.
Oh great. Thanx. GetInfo(87) works fine for me.
Now a general problem with using stuff from functions like this.
Im trying this
Send("open" GetInfo(87))
and it doesn't work. Tried moving the apostrophes and brackets all possible ways... :)
How to do it? GetInfo(87) returns "up" in my case.
Thank you
Now a general problem with using stuff from functions like this.
Im trying this
Send("open" GetInfo(87))
and it doesn't work. Tried moving the apostrophes and brackets all possible ways... :)
How to do it? GetInfo(87) returns "up" in my case.
Thank you
You need to read up on Lua and how it handles strings. To concatenate (join) them you use two dots, eg.
Send("open" .. GetInfo(87))