Пример #1
0
 def do_goto(self, session, line):
     try:
         self.room = Select.getRoom(line)
         Update.setLocation(self.room[0], session.p_id)
         session.is_in = self.room[0]
         session.push(tpl.GOTO)
     except: session.push(tpl.GOTO_ERR)
Пример #2
0
    def add(self, session):
        self.ival = ipsessions.items()

        if session.addr[0] != "127.0.0.1" and session.addr[0] in self.ival: # Allow multiusers for the admin.
            session.push(tpl.LOGIN_ALREADY_IN)
            raise EndSession

        sessions[session.p_id] = session
        ipsessions[session.p_id] = session.addr[0]
        Update.setIP(session.addr[0], session.p_id)
        
        #Store the player's starting location in the socket object.
        session.is_in = 1
        Update.setLocation(session.p_id, 1)

        # Check if the user supports ANSI colors
        if Select.getColors(session.p_id) == "on": Actions.do_setansi(session, "on")
        else: Actions.do_setansi(session, "off")

        for i in sessions:
            try:
                i.push(tpl.ENTER_GAME % (session.pname,))
            except: pass

        print "%s logged in." % session.pname
        Log("%s logged in from %s" % (session.pname,session.addr[0]))
        Actions.do_look(session, '') # To be replaced with something nicer.
        session.push("> ")
Пример #3
0
    def do_go(self, session, line):
        if not line: session.push(tpl.DONT_GO)
        else:
            try:
                self.isexit = Select.getExit(session.is_in, line.lower())
            except:
                session.push(tpl.NO_EXIT)

            try:
                # Actually move
                Update.setLocation(session.p_id , self.isexit[1])
                #Effects.RoomBroadcast(session, session.is_in, " leaves %s." % str(self.isexit[2]))
                session.is_in = self.isexit[1]
                #Effects.RoomBroadcast(session, session.is_in, " enters the room.")
                self.do_look(session, '') # Force a look, to be replaced by something nicer.

            except:
                session.push(tpl.CANT_MOVE)