Yeah, I thought you were doing something like that. :)
The problem with using a plugin, in itself an admirable idea, is that for the reasons I mentioned, the plugin can basically only affect its own "space", thus if you do an #alias command they will get added to the plugin, which will work, however the aliases will be tedious to edit, since they won't appear in the GUI editor.
Also, aliases are not saved when you save a plugin, only variables are, so they will need to be re-added every time. I suppose you could serialize them into variables, and have the plugin re-add them every time it starts, but somehow this sounds wrong to me.
Quote:
... if they try out mushclient, I give them my Tintin plugin, so they can just paste all their tintin commands right into it and it'll get them 90% of the way to having the client setup the way they like it ...
This is really a once-off step isn't it? How about this? Make a script which will read the tintin commands (perhaps from a file, or the clipboard) (see world.GetClipboard), and write out a file (or put on the clipboard with world.SetClipboard), the converted aliases/triggers/timers etc. in XML format.
The XML format is the one used internally by MUSHclient, so every option is available in one place (like groups, obscure options not supported by AddAlias and so on).
Any conversion problems could be reported to the screen with Note. There are bound to be some, because not every tintin script command will be supported by MUSHclient.
Then as a single extra step instruct the player to go to the File menu -> Import and import the converted things from either the clipboard or your output file from the conversion.
This will import them into the main "space" of MUSHclient, and they can then admire the converted aliases etc. inside the GUI interface.
Then for adding further ones "on-the-fly" I think you will need to use the main script file (not a plugin) so they will be added into the main interface, not the plugin space. All you have to tell your friends to do is save the script file to disk, set it as the script file, and turn scripting on. When it loads it can add any aliases it needs, auto-detecting if they are already there.
If I may recommend, use Lua as the language. It ships with MUSHclient, so they will definitely have it. Syntactically it is similar to C (and thus Jscript), and not far off VBscript. I had a plugin in VBscript that I converted to Lua, largely by doing find-and-replace, like converting "EndIf" to "end -- if".
|