diff --git a/src/commands/default/general.py b/src/commands/default/general.py index a26925bead..184ccf2d44 100644 --- a/src/commands/default/general.py +++ b/src/commands/default/general.py @@ -752,7 +752,7 @@ class CmdOOCLook(MuxCommandOOC, CmdLook): # get all our characters characters = player.db._playable_characters string = "You are logged in as {g%s{n." % player.key - string += " Use {w@ic {n to enter the game." + string += "\nUse {w@ic {n to enter the game, {w@occ{n to get back here." if characters: string += "\n\nAvailable character%s:" % (len(characters) > 1 and "s" or "") for char in characters: @@ -760,7 +760,7 @@ class CmdOOCLook(MuxCommandOOC, CmdLook): if csessid: # character is already puppeted if player.get_session(csessid): - string += "\n - {G%s{n (played by you in another session)" + string += "\n - {G%s{n (played by you in another session)" % char.key else: string += "\n - {R%s{n (played by someone else)" % char.key else: @@ -802,7 +802,7 @@ class CmdCharCreate(MuxCommandOOC): return key = self.lhs desc = self.rhs - if player.db._playeable_characters and len(player.db._playable_characters) >= self.MAX_NR_CHARACTERS: + if player.db._playable_characters and len(player.db._playable_characters) >= self.MAX_NR_CHARACTERS: player.msg("You may only create a maximum of %i characters." % self.MAX_NR_CHARACTERS) return # create the character @@ -934,8 +934,8 @@ class CmdOOC(MuxCommandOOC): old_char.location = None # disconnect - caller.disconnect_character(caller) - + err = caller.disconnect_character(caller) + print "err:", err caller.msg("\n{GYou go OOC.{n\n") caller.execute_cmd("look") diff --git a/src/players/models.py b/src/players/models.py index 9464b1ab35..40feea2d7d 100644 --- a/src/players/models.py +++ b/src/players/models.py @@ -465,6 +465,7 @@ class PlayerDB(TypedObject): if not sessid: return char = _GA(self, "get_character")(sessid=sessid, return_dbobj=True) + print "disonnect session:", char if char: # call hook before disconnecting _GA(char.typeclass, "at_disconnect")() @@ -511,7 +512,9 @@ class PlayerDB(TypedObject): return char and (char == character.dbobj and (return_dbobj and char or char.typeclass)) or None return char and (return_dbobj and char or char.typeclass) or None elif character: + print character, character.dbobj, _GA(self,"db_objs").all() char = _GA(self, "db_objs").filter(id=_GA(character.dbobj, "id")) + print "character:", character, char return char and (return_dbobj and char[0] or char[0].typeclass) or None else: # no sessid given - return all available characters @@ -552,11 +555,11 @@ class PlayerDB(TypedObject): if not character: return char = _GA(self, "get_character")(character=character, return_dbobj=True) + print "disconnect_char:", char if char: - _GA(self, "disconnect_session_from_character")(char.sessid) + print _GA(self, "disconnect_session_from_character")(char.sessid) _GA(self, "db_objs").remove(char) del char.player - del char.sessid self.save() # clear cache cache = get_prop_cache(self, "_characters") or {}