--- deliantra/server/ext/login.ext 2007/01/09 21:32:42 1.24 +++ deliantra/server/ext/login.ext 2007/01/18 21:27:19 1.26 @@ -1,4 +1,4 @@ -#! perl +#! perl # MANDATORY # login handling @@ -57,7 +57,13 @@ sub check_clean_save { my ($pl) = @_; - unless (delete $pl->{clean_save}) { + if (my $time = delete $pl->{unclean_save}) { + $pl->ns->send_drawinfo ( + "You didn't use a savebed to leave this realm. This is very dangerous, " + . "as lots of things could happen when you leave by other means, such as cave-ins, " + . "or monsters suddenly snapping your body. Better use a savebed next time.", + cf::NDI_RED + ); #d#TODO } } @@ -158,7 +164,6 @@ my $pl = cf::player::find $user or next; $pl->connect ($ns); check_clean_save $pl; - $pl->{clean_save} = 1; last; } elsif (can_cleanup $pl, $mtime) { Coro::Timer::sleep 1; @@ -330,7 +335,7 @@ $_->ob->message ("$name left the game.", cf::NDI_DK_ORANGE | cf::NDI_UNIQUE) for cf::player::list; } else { $_->ob->message ("$name uncerimoniously disconnected.", cf::NDI_DK_ORANGE | cf::NDI_UNIQUE) for cf::player::list; - delete $pl->{clean_save}; + $pl->{unclean_save} = $cf::RUNTIME; } }, );