Short: Player leaving game vs. call_out() From: Tmm <tmm@gmx.de> Date: Tue, 12 Jan 1999 11:04:30 +0100 (MET) Type: Bug State: Fixed > a player enters a room which is loaded thereby. upon loading, the room > populates itself with a monster. this monster starts a call_out() in its > reset/create/configure/whatever. before the monster starts this > call_out, it is made a living by calling the efun enable_commands(). by > this call it will become this_player for the rest of this call. > > so maybe your problem does not come from the new driver at all. if you > could provide a minimal example (which should of course not depend on > your mudlib) which demonstrates the bug you encountered, i would gladly > try again to reproduce it. try the following, provided from parsec@uni.mud.de: void create() { enable_commands() ; / <- Without this it works! } int test() { raum = environment( this_player()) ; tell_room( raum, sprintf( "Test: TP n", this_player())) ; call_out( "testco", 3) ; return 1 ; } void testco() { tell_room( raum, sprintf( "Test-CO: TP n", this_player())) ; } Clone the object in the room and call test() with a testplayer, then log him out. The first tell_room will show you, that TP ist correctly set an the second will show you, that it points to the Testobject, which shouldn't. As you will see, the 'enable_commands()' causes the problem. We use enable_commands in all our monsters and players, so we cannot just leave 'enable_commands' out :) I hope, you can reproduce this problem. Greets, Tmm@uni.mud.de