Re: Command History

From: Chris Gilbert (chris@buzzbee.freeserve.co.uk)
Date: 02/13/00


Andrew Ritchie wrote:
>
> > that is entirely client based... You're mud has no control over
> > it (that is
> > of course assuming that you don't require your players to use a
> > custom client
> > that yall created just for you rmud....) so no. :)
> >
> > JD
>
> That's not entirely true.

It is for most muds...

> Your MUD can intercept characters as well as other keys, like the up and
> down arrows.

True if you're using character mode.  However most muds use line mode,
IE they tell the connecting client to send a line of text at a time, not
to waste the bandwidth sending 1 char at a time (1 char + tcp/ip header
= 50-60 bytes, not a lot but a bit silly, I can't remember the exact
numbers)

> It requires simply a little revamp of parse_input() or a similar function.
>
> At the moment, your server probably grabs every key that is typed by the
> player and stores it in a buffer, 'waiting' until it recieves the enter key,
> when it parses the input and runs a certain ACMD() function.

nope, the client buffers until it's got a whole line ready.  Checking
with tcpdump you can see that packets only get exchanged after hitting
return.

> Theoretically, you could edit the code and make it display, to the
> character, their last command when they hit the up arrow. I have menus which
> only require a single key to be pressed (they don't need the player to hit
> the enter key).

You must have changed the mode that the client works, I can't get
anything to do that with straight telnet under linux (maye windows
telnet does though...)

Cheers,
Chris


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT