def getGuildMemberInfo(self, index, limit=10): '''获取行会成员信息 @param index: int 页面数 @param limit: int 每页显示数目限制 ''' MemberInfoList = {} infos = [] maxPage = math.ceil( dbGuild.countGuildMenberNum(self.id) / float(limit)) memberInfos = dbGuild.getGuildMemberInfo(self.id, index, limit) for member in memberInfos: data = {} data['memberliId'] = member['characterId'] data['memberName'] = member['nickname'] data['memberLevel'] = member['level'] data['memberProfession'] = member['profession'] data['memberRank'] = { 0: Lg().g(516), 1: Lg().g(517), 2: Lg().g(518), 3: Lg().g(519), 4: Lg().g(520) }.get(member['post']) data['onlineState'] = self.getCharacterOnlineState( member['isOnline'], member['outtime']) data['memberContribution'] = member['contribution'] infos.append(data) MemberInfoList['MemberOrAppliListBaseInfo'] = infos MemberInfoList['maxPage'] = maxPage return MemberInfoList
def acceptGuildApply(self, operator, characterId): '''同意角色的入会申请 @param operator: 操作者的id @param characterId: int 申请人的id ''' president = self.get('president') veteranList = eval('[' + self.guildinfo['veterans'] + ']') staffList = eval('[' + self.guildinfo['staffOfficers'] + ']') senatorsList = eval('[' + self.guildinfo['senators'] + ']') #获取操作者的权限 if operator == president: operatorpost = Lg().g(520) elif operator in veteranList: operatorpost = Lg().g(519) elif operator in staffList: operatorpost = Lg().g(518) elif operator in senatorsList: operatorpost = Lg().g(517) managementGroup = veteranList + staffList + senatorsList if not dbGuild.checkHasApply(self.id, characterId): return -4 if operator != self.president and operator not in managementGroup: return -1 #权限不够 if dbGuild.checkCharacterHasGuild(characterId): return -2 #已经加入了行会 curMenberNum = dbGuild.countGuildMenberNum(self.id) info = self.guildinfo maxMemberCount = 20 + ((info['emblemLevel'] - 1) * 30) if curMenberNum >= maxMemberCount: return -3 #成员数量达到上限 result = dbGuild.insertCharacterGuildInfo(characterId, self.id) dbGuild.delCharacterAllApply(characterId) if result: player = PlayersManager().getPlayerByID(operator) content = Lg().g(532)\ %(self.guildinfo.get('name',''),operatorpost,\ player.baseInfo.getNickName(),self.guildinfo.get('name','')) title = Lg().g(526) m = Mail( title=title,type =0, senderId =-1, receiverId=characterId,\ sender = Lg().g(128),content=content) m.mailIntoDB() player = PlayersManager().getPlayerByID(characterId) if player: player.guild.updateID(self.id) chatnoderemote.callRemote('updateGuild', characterId, self.id, 1) #同步聊天角色中的行会 player.updatePlayerInfo() return 1 #同意申请成功 return 0 #同意申请失败
def acceptGuildApply(self,operator,characterId): '''同意角色的入会申请 @param operator: 操作者的id @param characterId: int 申请人的id ''' president = self.get('president') veteranList = eval('['+self.guildinfo['veterans']+']') staffList = eval('['+self.guildinfo['staffOfficers']+']') senatorsList = eval('['+self.guildinfo['senators']+']') #获取操作者的权限 if operator==president: operatorpost =Lg().g(520) elif operator in veteranList: operatorpost = Lg().g(519) elif operator in staffList: operatorpost = Lg().g(518) elif operator in senatorsList: operatorpost = Lg().g(517) managementGroup = veteranList + staffList + senatorsList if not dbGuild.checkHasApply(self.id, characterId): return -4 if operator!=self.president and operator not in managementGroup: return -1#权限不够 if dbGuild.checkCharacterHasGuild(characterId): return -2#已经加入了行会 curMenberNum = dbGuild.countGuildMenberNum(self.id) info = self.guildinfo maxMemberCount = 20 + ((info['emblemLevel']-1)*30) if curMenberNum>=maxMemberCount: return -3#成员数量达到上限 result = dbGuild.insertCharacterGuildInfo(characterId, self.id) dbGuild.delCharacterAllApply(characterId) if result: player = PlayersManager().getPlayerByID(operator) content = Lg().g(532)\ %(self.guildinfo.get('name',''),operatorpost,\ player.baseInfo.getNickName(),self.guildinfo.get('name','')) title = Lg().g(526) m = Mail( title=title,type =0, senderId =-1, receiverId=characterId,\ sender = Lg().g(128),content=content) m.mailIntoDB() player = PlayersManager().getPlayerByID(characterId) if player: player.guild.updateID(self.id) chatnoderemote.callRemote('updateGuild',characterId,self.id,1)#同步聊天角色中的行会 player.updatePlayerInfo() return 1#同意申请成功 return 0#同意申请失败
def JointGuild(self,characterId): '''将角色加入国''' curMenberNum = dbGuild.countGuildMenberNum(self.id) info = self.guildinfo maxMemberCount = 20 + ((info['emblemLevel']-1)*30) if curMenberNum>=maxMemberCount: return {'result':False,'message':Lg().g(83)} result = dbGuild.insertCharacterGuildInfo(characterId, self.id) dbGuild.delCharacterAllApply(characterId) if result: player = PlayersManager().getPlayerByID(characterId) if player: player.quest.specialTaskHandle(ADDGUILDTASKTYPE) player.guild.updateID(self.id) chatnoderemote.callRemote('updateGuild',characterId,self.id,1)#同步聊天角色中的行会 player.updatePlayerInfo() return {'result':True,'message':Lg().g(530)}#同意申请成功 return {'result':True,'message':Lg().g(531)}#同意申请失败
def JointGuild(self, characterId): '''将角色加入国''' curMenberNum = dbGuild.countGuildMenberNum(self.id) info = self.guildinfo maxMemberCount = 20 + ((info['emblemLevel'] - 1) * 30) if curMenberNum >= maxMemberCount: return {'result': False, 'message': Lg().g(83)} result = dbGuild.insertCharacterGuildInfo(characterId, self.id) dbGuild.delCharacterAllApply(characterId) if result: player = PlayersManager().getPlayerByID(characterId) if player: player.quest.specialTaskHandle(ADDGUILDTASKTYPE) player.guild.updateID(self.id) chatnoderemote.callRemote('updateGuild', characterId, self.id, 1) #同步聊天角色中的行会 player.updatePlayerInfo() return {'result': True, 'message': Lg().g(530)} #同意申请成功 return {'result': True, 'message': Lg().g(531)} #同意申请失败
def getGuildMemberInfo(self,index,limit=10): '''获取行会成员信息 @param index: int 页面数 @param limit: int 每页显示数目限制 ''' MemberInfoList = {} infos = [] maxPage = math.ceil(dbGuild.countGuildMenberNum(self.id)/float(limit)) memberInfos = dbGuild.getGuildMemberInfo(self.id, index, limit) for member in memberInfos: data = {} data['memberliId'] = member['characterId'] data['memberName'] = member['nickname'] data['memberLevel'] = member['level'] data['memberProfession'] = member['profession'] data['memberRank'] = {0:Lg().g(516),1:Lg().g(517),2:Lg().g(518),3:Lg().g(519),4:Lg().g(520)}.get(member['post']) data['onlineState'] = self.getCharacterOnlineState(member['isOnline'], member['outtime']) data['memberContribution'] = member['contribution'] infos.append(data) MemberInfoList['MemberOrAppliListBaseInfo'] = infos MemberInfoList['maxPage'] = maxPage return MemberInfoList