This page contains scripts for MUSHclient and Aardwolf Mud - nothing more, nothing less. If you need to contact me, you can post message to huan on personal board - I am not online too much anymore but I still sometimes check the messages.

First (for the impatient ones) there is quick install guide. You are still advised to read individual texts below, there are some limitations of the plugin or required setup steps described there.

Quick install guide


Spellup script

Update 07/09/18: two bugfixes (thanks to Androx for both). One fixes issue with prompt not ending with %c, the other one is failed invis spells trying to recast detect invis (and potentially other spells which have names substring of another - if there are any).

Update 07/03/19: yet another 'saf' format update. If you didn't make any modifications you can redownload the script. If you want to update yours with custom spellup set, edit line 53 and change "(Spell|Skill):" to "(Spell|Skill)\w*:".

Update 06/12/09: works with capitalized saf output

Update 05/09/30: I have modified the spellup script to cope with the new output format of 'saf'. No other changes were made and I didn't test it too much. Standard disclaimer aplies... it works for me, it may work for you.

Update 06/02/13: I have added "pass without trace" skill to the script (it's disabled, you have to enable it by hand as described in section about modifying spellup script).


Below is link to my ancient spellup plugin. On request it checks 'saf' and casts the spells you are missing, and recast failed spellup spells (both manualy cast and from the autospellup). WARNING: There is one danger with that - if you attempt to cast spell you have at 1%, it will keep recasting until it succeeds, which may take a long time. The way out is sleep or afk commands which will prevent casting without echoing the lost concentration message. This plugin tracks time remaining to tick for internal reasons, so as a side feature it displays warning 15, 10 and 5 seconds before tick. If you don't like it, open the file in editor, search for var tick_on=1; and replace 1 with 0.

It's one of the first I wrote, and over time it has grown into a bit ugly (ok, more then bit ugly, more like write-only) code... but it works - only I don't plan to maintain it. I'm currently writing new one, but it a) will be in perl (you will need to install about 50MB ActivePerl for it to work) b) is not complete and I have no time to complete it in near future.

For installation, see end of the page or quick installation guide at the beginning. After installation, you need to tell it what classes your character has and what level you are. Go to File/World properties..., select Scripting, Variables and Add...: fill "player_level" as a variable name (exactly as that, for example do not substitute 'player' with your char name like "huan_level") and fill your level into contents field (tiers should fill in their real level + 10*tier). Then do the same for varible named "player_classes", contents is your classes, written something like mu,ra,cl,wa,th,pa,ps (one line, separated by ",", order doesn't matter). Everything other that you need to know can be accessed through alias called "spellup:help".

If you want the player_level to update automaticaly (you still have to reset it to 1 on remort), copy the following text into clipboard, and then from MUSHclient select File, Import... and Clipboard.

<triggers>
<trigger
custom_colour="2"
enabled="y"
match="^You raise a level\!\!$"
name="level_up"
regexp="y"
send_to="12"
sequence="100"
>
<send>world.setVariable("player_level",eval(world.GetVariable("player_level"))+1);
</send>
</trigger>
</triggers>

You will need to use JScript as scripting language for this to work (default is VBScript). If you didn't use scripting so far, you can safely change it (in World Properties\Scripting\Scripts tab), otherwise you will have to write your own trigger for the update (or have someone write it for you). Of course, it increases the danger of casting spells you have at 1%, as you must remember not to call spellup before you practice all spellup spells you gained. That's one of the reasons why is't not part of the spellup plugin - the choice is yours.

Modifying the spellup script

There are few spells that you may be missing from the spellup. They are spells I have wishes or aardequip for, so I didn't prac them and of course didn't add them to self spellup (sustenance, infravision, passdoor, haste, ...). If you want them included, you will have to modify the script a bit. Open the file spellup.xml with notepad (DO NOT USE microsoft word or any other advanced text editor, or you will break the script. I use gvim, but if you know how to use that, you don't need this advice anyway), and search for the spell you want to change. You will end up with line reading something like that:

		,new Array("sustenance", "cast 321", false, false, 84, MAX, MAX, MAX, 62, MAX, MAX,	
The first false means don't include the spell in self spellup, the second is don't include in spellup targeted at others. Replace the first 'false' with 'true' (be sure to leave all the comma's where they are), save the file and in mushclient in plugin menu reload it.

Other reason to modify it is the built in two cancels when spelling up others - if you don't want that, or don't have cancel practiced and the failure messages and delay bother you, you can edit the spellup.xml file, search for the word cancel and remove the two lines reading

else
world.send("c 'cancel' "+spl_target+"\r\nc 'cancel' "+spl_target);

Link to the spellup.xml

Speedwalks

It's based on the zmud speedwalks file that Emerald clan offers on their page and has the same naming scheme (pd_XXX for passdoor, npd_XXX for non-passdoor, am_XXX from hotel). On startup, it pushes all the alias names into command history, so you could type only the beginning (e.g. npd-ygg), hit Alt-Up and have MUSHclient complete the rest (npd-yggdrasil:-the-world-tree) for you. If this doesn't work, you may need to enable it in Game/Configure/Commands/Keyboard preferences, check the "Alt+arrow key recalls Partial command" box.

Help is available with SWs:help. Installation is even simpler than with spellup - just put the file into a correct directory and add it to the list of plugins, no variable setup is necessary.

I offered this to the emerald clan to be displayed on their web site, but I began to feel like I'm bothering them with it, so I'm rather releasing it this way (but the way is still open, if they are interested).

You have to tell mushclient to use semicolon as command stacking character to use this script: open configuration -> Input tab-> Commands, check the box left from "Command stacking using:" and fill in ; in the box to the right.

Link to the aardsws.xml (last updated 2006/07/31).

What is this plugin thing and how to install it?

In short - way to keep together everything that belongs together. It's something like zmud classes, but I don't know enough about them to say if it's better or not. It's a way to store related triggers, aliases, script routines, timers and variables in one file. When you don't like it anymore, you uninstall it with about three clicks (one if you use keyboard shortcuts to access plugins menu), and no clash of names or overwriting of wrong triggers are possible - when you have two plugins with the same trigger, both will fire doing their own things, the same with aliases. You can even write plugins in other script languages than the main world script (MUSHclient offers 7 of them)...

For the plugin to work, you put the file somewhere on the disk. Then go to File menu, select Plugins..., click on Add... and select the file. Standard place for plugins is in MUSHclient\world\plugins directory. If you installed MUSHClient into default location, it would be for example C:\Program files\MUSHclient\Worlds\Plugins\Cloud-JS\spellup.xml. You can put spellup or speedwalks to any directory you like, but I may get to writing useable interface to other plugins (for example statistics of quest time, fight time, damage per round/fight, exprate, goldrate etc) and release them - and they share common definitions and expect them to be in plugins\Cloud-JS subdirectory, so better put it there from the beginning and save the mess later.