If someone really wanted to be ambitious, one could code a loop-back tutorial system... Hmm, OK, actually I can see one issue with that, there is not way that I know of letting the client "connect" to itself, as though it was connecting to a server. Though, maybe if you trapped the error from a failed connection, so you could set some arbitrary local address and port, which you know won't connect, detect the failure in a plugin, then proceed as though it "did" connect..
Do we have some way to turn off Mushclient's normal connection fail dialogs and detect if it fails when it tries one?
Anyway. Point is, you set up a tutorial, which feeds notes to the display, and uses "simulate" to make it look like you are connected to a mud. Then you step them through the process, like:
"Ok, lets start with getting you on a MUD. We are going to connect you to arbitrarymud.com, which doesn't really exist, but which will allow me to teach you the basics. First, go to ..."
This is where inline pictures would have been nice BTW, since you could add, "go to this menu item, or look for the [] symbol on the icon bar and click there.", se'la'vie...
But, basically, walk them through setting up their connection, logging in, making simple triggers for the text that arrives from the the fake mud, etc. Other than making it look like the connection is working, when its faked, this wouldn't be all that impossible to do with this client. And for that matter, Nick could even add some code to cause the client to "treat" the connection as though it did happen, when some predetermined, and unlikely "name" is in the field, like 'testmud.test', assuming there isn't a way already. I don't see one. Mind you, something like the loop-back proxy I made would work too, if included as part of the "tutorial" world file. That might even be easier, except that some people would be confused by using 127.0.0.1, instead of a name. Does "localhost" work the same by default, or do you have to make a program aware of what it means?
This would be imho, quite doable I think. |