[Home] [Downloads] [Search] [Help/forum]

Release notes for MUSHclient version 3.70


Version 3.70

Released on 01 Dec 2005

1. Changed the documentation slightly to describe the difference between "print" and "Note" when using Lua.

2. Remove "Test Command" and "Test Trigger" from the RH mouse-click pop-up menu, if you click in the command window, as they are no longer implemented.

3. Added new Lua script function: utils.msgbox

This lets you display a Windows message box (very similar to MsgBox in VBscript). The intention is to allow you to display (in a small dialog box), information of an urgent nature, or ask a yes/no type question.

The calling sequence is:

result = utils.msgbox ( msg, title, type, icon, default )

The only required argument is the message text itself, the others default to their first possible value. The first 4 arguments are string arguments, the last is a number.

msg = message to display (max 1000 characters)

title = title of box - if nil, defaults to "MUSHclient" (max 100 characters)

type = type of box (must be in lower case and exactly as shown here):

"ok" - The message box contains one push button: OK. This is the default.

"abortretryignore" - The message box contains three push buttons: Abort, Retry, and Ignore.

"okcancel" - The message box contains two push buttons: OK and Cancel.

"retrycancel" - The message box contains two push buttons: Retry and Cancel.

"yesno" - The message box contains two push buttons: Yes and No.

"yesnocancel" - The message box contains three push buttons: Yes, No, and Cancel.

icon = type of icon:

"!" - An exclamation-point icon appears in the message box. This is the default.
"?" - A question-mark icon appears in the message box.
"i" - An icon consisting of a lowercase letter i in a circle appears in the message box.
"." - A stop-sign icon appears in the message box.

default = default button (1 - 3)

This sets the default button (the one with the focus) to be either button 1, 2 or 3. The default is the first button.

Return value = (string) yes, no, ok, retry, ignore, cancel, abort

Example:

print (utils.msgbox ("You are being paged", "Warning!", "ok", "!", 1)) --> ok
print (utils.msgbox ("You are being paged")) --> ok
print (utils.msgbox ("Go ahead?", "Question", "yesno", "?")) --> yes / no


4. Added new Lua script function: utils.inputbox

This lets you display a Windows message box and accept a free-format reply (very similar to InputBox in VBscript). The intention is to allow you to display (in a small dialog box) a question and accept a typed response.

The calling sequence is:

result = utils.inputbox ( msg, title, default )

The only required argument is the message text itself.

msg = message to display (max 1000 characters)

title = title of box - if nil, defaults to "MUSHclient" (max 100 characters)

default = default text - defaults to no text

Return value = what they typed, or nil if cancelled

Example:

print (utils.inputbox ("What is your name?", "Query", "Nick")) --> Peter


5. Added new Lua script functions: utils.choose and utils.listbox

These behave very similarly so they will be described together.

These functions display a dialog box with a predetermined list of items for the user to choose from. If the user cancels the dialog box, or does not make a selection, nil is returned. Otherwise the key of the selected item is returned.

utils.choose - displays a dialog box with a combo-box in it (drop-down list)

utils.listbox - displays a dialog box with a list control in it

The utils.listbox would be more suitable for longer lists, but that is probably partly personal preference.

The calling sequence is:

result = utils.choose ( msg, title, t, default )

The only required arguments are the message text and the table of choices (t).

msg = message to display (max 1000 characters)

title = title of box - if nil, defaults to "MUSHclient" (max 100 characters)

t - table of key/value pairs, as described below

default = default key - defaults to no selection

Return value = the key of what they selected, or nil if cancelled, or nothing selected.

The third argument is a table of key/value pairs. The value is displayed, however the corresponding key is returned. The values are automatically sorted into ascending alphabetic order.

The fourth argument is the key (string or number) which corresponds to the wanted default selection. If it does not correspond to any key in the table then no item will be selected.

Example:

print (utils.choose ("Your favourite", "Foods ...", { "apples", "bananas", "peaches", "cream" } ))

Possible returned values would be:

nil - if no choice made or dialog cancelled
1 - apples chosen
2 - bananas chosen
3 - peaches chosen
4 - cream chosen

(Note that peaches would actually be shown 4th in the list as the list is sorted).

To convert from the key back to the value, simply index into your table. Eg.

-------
t = { "apples", "bananas", "peaches", "cream" }
result = utils.listbox ("Your favourite", "Foods ...", t)

if result then
print ("You chose", t [result])
else
print "Nothing chosen"
end -- if
-------

Keys and values can be either strings or numbers. MUSHclient will distinguish between strings and numbers which are the same (eg. "10" and 10 are considered different keys).

Here is an example of using string keys, and supplying a default choice:

---------
t = {
fruit = "apple",
vegetable = "potato",
spice = "pepper",
herb = "parsley",
}
result = utils.listbox ("Choose a food", "Foods ...", t, "fruit")

if result then
print ("You chose key", result, "which is", t [result])
else
print "Nothing chosen"
end -- if
---------

Possible returned values would be:

nil - if no choice made or dialog cancelled
"fruit" - apple chosen
"vegetable" - potato chosen
"spice" - pepper chosen
"herb" - parsley chosen

The return value will be one of the following types:

nil - if no selection made or dialog cancelled
string - if an item with a string key is selected
number - if an item with a numeric key is selected


6. Added new menu item Game -> Functions List.

This displays a dialog box showing all available script functions. You can select one and click OK, and the help file entry for that function will be shown.

There is a "filter" box that lets you select a subset of functions (eg. all trigger functions).

See this forum article for screen-shots and more detail:

http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=6120



7. Added new script function: world.Help

This is an interface to the help functions list. You can call it with a string which will be used as the function-list filter, eg.

/Help "trigger"

If there is an exact match, then the help for that function will be displayed immediately, eg.

/Help "AddTrigger"

View all MUSHclient release notes

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at FutureQuest]