Subject: more on read()

From: [email-masked] (Eric Weber)
Date: Sat, 24 Apr 1993 20:00:00 -0700

When I put a read() instruction in #0:do_login_command, the MOO seems
to get very confused.  I wrote a simple verb like this

read(player)
notify(player, "HI");
return #3;

(#3 is Wizard in the minimal db, which is what we are using)

When I try to connect, it repeatedly reads lines and writes "HI", but
it doesn't actually connect.

-- Eric

---

From: [email-masked] (A VAX's nightmare)
Date: Sat, 24 Apr 1993 20:21:56 -0700

>it doesn't actually connect.

Okay, I'm not too certain on this but I'm gonna take a shot at it.
#0:do_login_command is a server task. I have been told that you can't call
read() from it. (Why, I don't know. Someone care to answer that?)
Anyhow. Heres my best understanding of what goes on when a player connects
to the MOO.

First #0:do_login:command gets called with no arguments. This can be used to
do things like print a welcome message etc. (See $login:parse_command for more
on that). The server then waits for the player to enter a command. (Note that
the SERVER is doing the read. Not the DB.) Those words are placed into the
variable "args" as a list. From that list you can parse the login command
and find a player number to return. So follow this construct and you
should be okay.

This of course assumes I have the general procedure correct. If I don't, I
would apprecieate someone helping me out. :)

-Wayne/Sadric@LambdaMOO