Exemple #1
0
def addPlayerFriend(dynamicId,
                    characterId,
                    friendName,
                    friendType,
                    isSheildedMail=0):
    '''添加好友
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param friendName: string 对方的昵称
    @param friendType: int(1,2) 好友的类型 1:好友  2:黑名单
    @param isSheildedMail: 是否屏蔽邮件
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}

    friendId = dbaccess.getCharacterIdByNickName(friendName)  #返回好友角色id [id]
    if not friendId:
        msg = Lg().g(75)
        pushObjectNetInterface.pushOtherMessage(905, msg,
                                                [player.getDynamicId()])
        return {'result': False, 'message': Lg().g(68)}
    pyid = -1  #关系好友动态id -1表示角色没有在线   其他表示角色动态id
    py1 = PlayersManager().getPlayerByID(friendId[0])

    if py1 and py1.friend.getTypeByid(characterId) == 0:  #如果好友在线
        pyid = py1.getDynamicId()
    result = player.friend.addFriend(characterId, friendId[0], friendType,
                                     pyid)
    if result:
        pushObjectNetInterface.pushOtherMessage(905, result['message'],
                                                [player.getDynamicId()])
        return {'result': True, 'message': Lg().g(69)}

    return {'result': False, 'message': Lg().g(70)}
Exemple #2
0
 def creatNewCharacter(self, nickname, profession):
     '''创建新角色
     @profession (int) 角色职业 (0 新手 1战士 2 法师 3 游侠 4 牧师)
     '''
     if profession not in range(1, 5):
         return {'result': False, 'message': Lg().g(589)}
     if len(nickname) < 2 or len(nickname) > 20:
         return {'result': False, 'message': Lg().g(590)}
     for word in dbaccess.All_ShieldWord:
         if nickname.find(word[0]) != -1:
             return {'result': False, 'message': Lg().g(21)}
     fieldname = self.getVacancy()
     if not fieldname:
         return {'result': False, 'message': Lg().g(591)}
     result = dbaccess.getCharacterIdByNickName(nickname)
     if result:
         return {'result': False, 'message': Lg().g(592)}
     result = dbaccess.creatNewCharacter(nickname, profession,
                                         self.baseInfo.id, fieldname)
     if result:
         setattr(self.baseInfo, fieldname, result)
         data = {}
         data['UserCharacterListInfo'] = self.getUserCharacterListInfo()
         data['newCharacterId'] = result
         content = Lg().g(593)
         title = Lg().g(594)
         m = Mail( title=title,type =0, senderId =-1, receiverId=result,\
                         sender = Lg().g(128),content=content)
         m.mailIntoDB()
         return {'result': True, 'message': Lg().g(595), 'data': data}
     else:
         return {'result': False, 'message': Lg().g(596)}
Exemple #3
0
def addPlayerFriend(dynamicId,characterId,friendName,friendType,isSheildedMail=0):
    '''添加好友
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param friendName: string 对方的昵称
    @param friendType: int(1,2) 好友的类型 1:好友  2:黑名单
    @param isSheildedMail: 是否屏蔽邮件
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
        
    friendId = dbaccess.getCharacterIdByNickName(friendName)#返回好友角色id [id]
    if not friendId:
        msg =Lg().g(75)
        pushObjectNetInterface.pushOtherMessage(905,msg, [player.getDynamicId()])
        return {'result':False,'message':Lg().g(68)}
    pyid=-1 #关系好友动态id -1表示角色没有在线   其他表示角色动态id
    py1=PlayersManager().getPlayerByID(friendId[0])
    
    if py1 and py1.friend.getTypeByid(characterId)==0:#如果好友在线
        pyid=py1.getDynamicId()
    result = player.friend.addFriend(characterId,friendId[0],friendType,pyid)
    if result:
        pushObjectNetInterface.pushOtherMessage(905, result['message'], [player.getDynamicId()])
        return {'result':True,'message':Lg().g(69)}

    return {'result':False,'message':Lg().g(70)}
Exemple #4
0
 def creatNewCharacter(self, nickname, profession):
     """创建新角色
     @profession (int) 角色职业 (0 新手 1战士 2 法师 3 游侠 4 牧师)
     """
     if profession not in range(1, 5):
         return {"result": False, "message": Lg().g(589)}
     if len(nickname) < 2 or len(nickname) > 20:
         return {"result": False, "message": Lg().g(590)}
     for word in dbaccess.All_ShieldWord:
         if nickname.find(word[0]) != -1:
             return {"result": False, "message": Lg().g(21)}
     fieldname = self.getVacancy()
     if not fieldname:
         return {"result": False, "message": Lg().g(591)}
     result = dbaccess.getCharacterIdByNickName(nickname)
     if result:
         return {"result": False, "message": Lg().g(592)}
     result = dbaccess.creatNewCharacter(nickname, profession, self.baseInfo.id, fieldname)
     if result:
         setattr(self.baseInfo, fieldname, result)
         data = {}
         data["UserCharacterListInfo"] = self.getUserCharacterListInfo()
         data["newCharacterId"] = result
         content = Lg().g(593)
         title = Lg().g(594)
         m = Mail(title=title, type=0, senderId=-1, receiverId=result, sender=Lg().g(128), content=content)
         m.mailIntoDB()
         return {"result": True, "message": Lg().g(595), "data": data}
     else:
         return {"result": False, "message": Lg().g(596)}
def beginnersRegist(dynamicId,beginnerId,nickname):
    '''新手注册'''   
    
    if len(nickname)<2 or len(nickname)>20:
        return {'result':False,'message':Lg().g(20)}
    for word in dbaccess.All_ShieldWord:
        if nickname.find(word[0])!=-1:
            return {'result':False,'message':Lg().g(21)}
    result1 = dbaccess.getCharacterIdByNickName(nickname)
    result2 = dbBeginner.getBeginnerByNickName(nickname)
    if result1 or result2:
        return {'result':False,'message':Lg().g(22)}
    result = dbBeginner.updateBeginnerNickname(beginnerId,nickname)
    if not result:
        return {'result':False}
    return {'result':True}
Exemple #6
0
def beginnersRegist(dynamicId, beginnerId, nickname):
    '''新手注册'''

    if len(nickname) < 2 or len(nickname) > 20:
        return {'result': False, 'message': Lg().g(20)}
    for word in dbaccess.All_ShieldWord:
        if nickname.find(word[0]) != -1:
            return {'result': False, 'message': Lg().g(21)}
    result1 = dbaccess.getCharacterIdByNickName(nickname)
    result2 = dbBeginner.getBeginnerByNickName(nickname)
    if result1 or result2:
        return {'result': False, 'message': Lg().g(22)}
    result = dbBeginner.updateBeginnerNickname(beginnerId, nickname)
    if not result:
        return {'result': False}
    return {'result': True}
Exemple #7
0
def sendMail(dynamicId,characterId,playerName,title,content):
    '''添加邮件
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param playerName: str 发送人的名称
    @param content: str 邮件内容
    @param title: str 标题
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    for word in dbaccess.All_ShieldWord:
        if title.find(word[0])!=-1:
            msg = Lg().g(151)
            pushOtherMessage(905, msg,[dynamicId])
            return {'result':False,'message':u''} 
    for word in dbaccess.All_ShieldWord:
        if content.find(word[0])!=-1:
            msg = Lg().g(151)
            pushOtherMessage(905, msg,[dynamicId])
            return {'result':False,'message':Lg().g(151)}
    if len(title)>12:
        msg = Lg().g(152)
        pushOtherMessage(905, msg,[dynamicId])
        return {'result':False,'message':u''}
    toId = dbaccess.getCharacterIdByNickName(playerName)
    if not toId:
        msg = Lg().g(153)
        pushOtherMessage(905, msg,[dynamicId])
        return {'result':False,'message':u''}
    if toId[0]==characterId:
        msg = Lg().g(154)
        pushOtherMessage(905, msg,[dynamicId])
        return {'result':False,'message':u''}
    result = player.mail.sendMail(toId[0],title,content)
    if  result:
        msg = Lg().g(155)
        pushOtherMessage(905, msg,[dynamicId])
        return {'result':True,'message':msg}
    return {'result':False,'message':Lg().g(156)}
Exemple #8
0
def sendMail(dynamicId, characterId, playerName, title, content):
    '''添加邮件
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param playerName: str 发送人的名称
    @param content: str 邮件内容
    @param title: str 标题
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    for word in dbaccess.All_ShieldWord:
        if title.find(word[0]) != -1:
            msg = Lg().g(151)
            pushOtherMessage(905, msg, [dynamicId])
            return {'result': False, 'message': u''}
    for word in dbaccess.All_ShieldWord:
        if content.find(word[0]) != -1:
            msg = Lg().g(151)
            pushOtherMessage(905, msg, [dynamicId])
            return {'result': False, 'message': Lg().g(151)}
    if len(title) > 12:
        msg = Lg().g(152)
        pushOtherMessage(905, msg, [dynamicId])
        return {'result': False, 'message': u''}
    toId = dbaccess.getCharacterIdByNickName(playerName)
    if not toId:
        msg = Lg().g(153)
        pushOtherMessage(905, msg, [dynamicId])
        return {'result': False, 'message': u''}
    if toId[0] == characterId:
        msg = Lg().g(154)
        pushOtherMessage(905, msg, [dynamicId])
        return {'result': False, 'message': u''}
    result = player.mail.sendMail(toId[0], title, content)
    if result:
        msg = Lg().g(155)
        pushOtherMessage(905, msg, [dynamicId])
        return {'result': True, 'message': msg}
    return {'result': False, 'message': Lg().g(156)}