Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Announcements ➜ Version 3.35 released - improved command handling

Version 3.35 released - improved command handling

Postings by administrators only.

Refresh page


Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Sun 06 Apr 2003 05:54 AM (UTC)

Amended on Sun 06 Apr 2003 05:58 AM (UTC) by Nick Gammon

Message

I am pleased to release version 3.35 of MUSHclient. This version introduces some substantial improvements to the way commands (that you type) are parsed, and offers various new features - see below.


WARNING - this version is somewhat of an experimental version because of the large number of changes. Because of the volume of changes I would not be totally surprised if some combinations of options did not work as advertised. For instance, "omit from output", "omit from log" and so on. However, things should work substantially correctly.

WARNING - this version incorporates a substantial rewrite to the way commands are parsed, in particular aliases. There are some minor incompatibilities between the world files written out by this version and previous versions, particularly if you have aliases that "send to output" or "send to speedwalk".

You are strongly advised to BACK UP (make a copy of) all your existing world files (and any other files that MUSHclient produces, such as triggers, aliases etc.) before using this new version.


Download

You can view the release notes for version 3.35

You can download MUSHclient 3.35 (1.17 Mb) now, by ftp, or http ...

If there are any problems, please post messages to the Bug Reports, Suggestions, or General parts of this forum.


Improvements

  • Various bug fixes.
  • Fixed problem with command stacking where commands that were not aliases, mixed with aliases, ended up being sent in the wrong order.
  • New script routine: world.Execute - this lets you send scripted commands through the MUSHclient command parser (thus you could use aliases, speedwalking, command stacking etc. from inside a script).
  • New script routine: world.DoAfterSpecial - this lets you send text to any of the 13 locations now supported by triggers, aliases and timers - see list below - (eg. send to notepad, send to variable, send to command parser) after a nominated number of seconds.
  • Triggers, aliases and timers now share a consistent interface for what to do when they match/fire. In each case there is a "send" box, and a "send to" combo-box. The "send-to" box (which previously only existed for triggers) lets you choose to send the send text to one of:
    • world (the MUD)
    • command (the command window)
    • output (directly to the output window)
    • status (to the status line)
    • notepad - new (create a new notepad window)
    • notepad - append (append to a notepad window)
    • notepad - replace (replace an existing notepad window)
    • log file (directly to the log file)
    • world - speedwalk delay (queue for delayed send)
    • variable (set a variable)
    • execute (execute through normal command parser)
    • speedwalk (send to world after converting speedwalk string)
    • script (execute as a script)

    This replaces a few checkboxes that existed in earlier versions (eg. the speedwalk checkbox for aliases), and greatly expands the functionality of aliases and timers. Now, for instance, an alias can directly execute an internal script function, so you could make an alias enable or disable a trigger group. Also, aliases (or triggers) can call other aliases (by using the "execute" option).

    The "send to speedwalk" and "send to script" functions are new, and are designed to allow you to do scripts and speedwalks from triggers, aliases and timers, without having to worry about what the scripting or speedwalking prefix is.

  • Aliases can now have a sequence number, like triggers, so you can specify the sequence for alias evaluation.
  • Command evaluation has been largely rewritten, with somewhat clearer rules. :)

    In particular, aliases can optionally "keep evaluating" (like triggers) so you can match multiple aliases on a single typed command. Also, commands are sent to all plugins for alias evaluation. See the release notes for full details.

  • The "copy as HTML" function now respects the background colour as well (eg. for inverse text) by using the HTML <span> tag. It also outputs the <font> tag as well, so that browsers that don't support <span> will still work. This is not an option, browsers that don't like <span> should just ignore it.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #1 on Sun 06 Apr 2003 06:24 AM (UTC)

Amended on Sun 06 Apr 2003 06:25 AM (UTC) by Nick Gammon

Message
I am pleased to see that this version has exactly the same download size (1.17 Mb) as the previous one - shows what you can do without bloat, eh? ;)




Here are some examples of the sorts of things you can do in this version ...

Enable groups with a simple alias


<aliases>
  <alias
   match="eh"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  <send>EnableGroup &quot;hunt&quot;, 1
ColourNote &quot;white&quot;, &quot;blue&quot;, &quot;Hunt group enabled&quot;</send>
  </alias>
</aliases>


This alias "eh" enables a group by sending the send text to the script engine. It also does a ColourNote. This demonstrates how you can do simple actions without needing a script file.



Trigger that calls an alias


<triggers>
  <trigger
   custom_colour="2"
   enabled="y"
   match="^(?:&lt;.*&gt;)*(.*?) attacks you$"
   regexp="y"
   send_to="10"
   sequence="100"
  >
  <send>eh
cast &quot;fireball&quot; %1</send>
  </trigger>
</triggers>



This is an example of a trigger that uses the "eh" alias described earlier. Because it sends to "execute" (10) then the send text is re-parsed, and the alias detected.




Timer that calls a script


<timers>
  <timer name="Save" enabled="y" minute="5"    send_to="12"
>
  <send>Save &quot;&quot;</send>

  </timer>
</timers>



This timer uses the script command "save" to save the world file every 5 minutes.



- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #2 on Sun 06 Apr 2003 04:00 PM (UTC)
Message
Known bugs in this version


  1. An alias that calls a script may still send a blank line to the world - fixed in 3.36.
  2. If a one-shot timer fires, that calls a script (eg. using world.DoAfterSpecial) and the script has an error, then the timer is likely to keep firing in quick succession, followed by MUSHclient crashing - fixed in 3.36.
  3. The option to translate German characters has stopped working - fixed in 3.37.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


9,676 views.

Postings by administrators only.

Refresh page

Go to topic:           Search the forum


[Go to top] top

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