diff --git a/evennia/trunk/apps/objects/models.py b/evennia/trunk/apps/objects/models.py index 2c6c80639..03167d622 100755 --- a/evennia/trunk/apps/objects/models.py +++ b/evennia/trunk/apps/objects/models.py @@ -78,11 +78,15 @@ class Object(models.Model): else: return False - def emit_to_contents(self, message): + def emit_to_contents(self, message, exclude=None): """ Emits something to all objects inside an object. """ contents = self.get_contents() + + if exclude: + contents.remove(exclude) + for obj in contents: obj.emit_to(message) diff --git a/evennia/trunk/commands_general.py b/evennia/trunk/commands_general.py index c3eb20beb..263e53b68 100644 --- a/evennia/trunk/commands_general.py +++ b/evennia/trunk/commands_general.py @@ -176,6 +176,8 @@ def cmd_who(cdat): retval = "Player Name On For Idle Room Cmds Host\n\r" for player in session_list: + if not player.logged_in: + continue delta_cmd = time.time() - player.cmd_last delta_conn = time.time() - player.conn_time plr_pobject = player.get_pobject() @@ -267,7 +269,8 @@ def cmd_uptime(cdat): session = cdat['session'] server = cdat['server'] start_delta = time.time() - server.start_time + loadavg = os.getloadavg() session.msg('Current server time : %s' % (time.strftime('%a %b %d %H:%M %Y (%Z)', time.localtime(),))) session.msg('Server start time : %s' % (time.strftime('%a %b %d %H:%M %Y', time.localtime(server.start_time),))) session.msg('Server uptime : %s' % functions_general.time_format(start_delta, style=2)) - session.msg('Server load (1 min) : %s' % os.getloadavg()) + session.msg('Server load (1 min) : %.2f' % loadavg[0]) diff --git a/evennia/trunk/session.py b/evennia/trunk/session.py index 4290d9f03..47529e795 100755 --- a/evennia/trunk/session.py +++ b/evennia/trunk/session.py @@ -69,7 +69,6 @@ class PlayerSession(async_chat): Returns the object associated with a session. """ result = Object.objects.get(id=self.uid) - #print 'RES', result return result def game_connect_screen(self, session): @@ -93,9 +92,11 @@ class PlayerSession(async_chat): self.name = user.username self.logged_in = True self.conn_time = time.time() - self.get_pobject().set_flag("CONNECTED", True) + pobject = self.get_pobject() + pobject.set_flag("CONNECTED", True) self.msg("You are now logged in as %s." % (self.name,)) + pobject.get_location().emit_to_contents("%s has connected." % (pobject.get_name(),), exclude=pobject) cdat = {"session": self, "uinput":'look', "server": self.server} cmdhandler.handle(cdat) print "Login: %s" % (self,)