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)}
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 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)}
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}
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}
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)}
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)}