MOO-cows Mailing List Archive


Re: Lambda MOO Error or Poor Programming?

>   $login:connect is modified to check if 1 parameter is passed.  For 
> example if, 'con <Player>'.  The if structure that handles this condition 
> preforms a read which modifies the arguments of the function. That is, 
> args = {@args, read(player)}; 
>   OK, this seems to read in properly, and infact it even compares the 
> read in password correctly.  It even returns the proper player number 
> back to #0:do_login_command.
>   So what's the problem?  Well, #0:do_login_command, receives the player 
> number and seems to return it properly.  As I have been lead to believe, 
> do_login_command returns the object number which is to be logged in.  
> Unfortunately, this player is not logged on.  When the player types 'con 
> <Player> <Password>' however they are logged on.
>   I was wondering if it is the read, or what that is causing my problems 
> here.  I can see not reason why it does not work, especially since 
> $login:connect returns to #0:do_login_command the proper player number.
>   Any help would be greatly appreciated,
> 	Eric Derbyshire, AKA Fozzie, UMOO ( 7777)

  The server isn't working as you would expect it to do... The server takes
the return value from #0:do_login_command at first read() or suspend(), and 
forget about it, ignoring it is still running or not. The point is the
server is written in C, and the protocol between MOO codes is meaningless
to the server.
  I wrote a patch for this purpose before, and you can get it from, though it breaks
the interface between server and db slightly...

Hope this will help. 

	-- Ahn

Ahn, Jin-su    				email:
School of Electrical Engineering	LambdaMOO: Deedlit(#103811)
Seoul National University, Korea


Home | Subject Index | Thread Index