Ejemplo n.º 1
0
    def getForTressInfo(self):
        '''获取当个要塞的信息
        '''
        from app.scense.core.guild.GuildManager import GuildManager
        info = {}
        info['id'] = self.id
        kimoriguild = GuildManager().getGuildById(self.kimori)
        siegeguild = GuildManager().getGuildById(self.siege)
        if kimoriguild:  #领主国的名称
            info['kimoriname'] = kimoriguild.get('name')
            info['kimoriemblem'] = kimoriguild.get('emblemLevel')
        else:
            info['kimoriname'] = u''
            info['kimoriemblem'] = 0
        if siegeguild:  #挑战国的名称
            info['siegename'] = siegeguild.get('name')
            info['siegeemblem'] = siegeguild.get('emblemLevel')
        else:
            info['siegename'] = u''
            info['siegeemblem'] = 0

        if not IsSignUpTime():
            info['fortressstatus'] = 1  #等待征战
        elif IsWarTime():
            info['fortressstatus'] = 2  #征战中
        else:
            if not (kimoriguild and siegeguild):  #判断征战状态
                info['fortressstatus'] = 0  #可以征战
            else:
                info['fortressstatus'] = 1  #等待征战
        return info
Ejemplo n.º 2
0
def CorpsInviteOther(dynamicId, characterId, otherid, otername):
    '''邀请加入行会
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param otherid: int 对方的Id
    @param otername: 对方的名称
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    toplayer = PlayersManager().getPlayerByID(otherid)
    if not toplayer:
        return {'result': False, 'message': Lg().g(91)}
    if toplayer.level.getLevel() < LEVELREQUIRED:
        return {'result': False, 'message': Lg().g(86)}
    guild = GuildManager().getGuildById(guildId)
    if guild.guildinfo.get('curMenberNum', 50) >= guild.guildinfo.get(
            'memberCount', 50):
        return {'result': False, 'message': Lg().g(83)}
    sendList = [toplayer.getDynamicId()]
    pushInviteOtherJoinGuild(characterId, guildId, player.baseInfo.getName(),\
                              guild.getGuildName(), sendList)
    msg = Lg().g(92)
    pushOtherMessage(905, msg, [dynamicId])
    return {'result': True}
 def Donate(self,technology):
     '''捐献'''
     nowdate = datetime.date.today()
     limittime = 1
     if self.getPost()>0:
         limittime = 2
     if (nowdate - self.getLastDonate()).days<1 and self.getDonatetimes()>=limittime:
         msg = Lg().g(351)
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
         return {'result':False,'message':Lg().g(351)}
     guild = GuildManager().getGuildById(self.id)
     if not guild:
         return {'result':False,'message':Lg().g(339)}
     operator = self._owner.baseInfo.id
     coinCount = self._owner.level.getLevel()*250
     if self._owner.finance.getCoin()<coinCount:
         msg = Lg().g(88)
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
         return {'result':False,'message':Lg().g(88)}
     data = guild.Donate(operator,coinCount,technology)
     if data.get('result',False):
         self.addContribution(coinCount)
         self._owner.finance.updateCoin(self._owner.finance.getCoin()-coinCount)
         if (nowdate - self.getLastDonate()).days>1:
             self.updateLastDonate(nowdate)
         self.updateDonatetimes(self.getDonatetimes()+1)
         self._owner.updatePlayerInfo()
     else:
         msg = data.get('message')
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
     return data
 def creatGuild(self,corpsName,camp):
     '''创建行会
     @param corpsName: 国的名称
     '''
     if self.getID():
         return {'result':False,'message':Lg().g(340)}
     surplushours = self.getCanJoinTime()
     if surplushours:
         return {'result':False,'message':Lg().g(647)%surplushours}
     if self._owner.finance.getCoin()<self.CREATECOIN:
         return {'result':False,'message':Lg().g(345)}
     if self._owner.level.getLevel()<12:
         return {'result':False,'message':Lg().g(346)}
     if self.id:
         return {'result':False,'message':Lg().g(347)}
     guildId = GuildManager().creatGuild(corpsName, self._owner.baseInfo.id,camp)
     if guildId == -1:
         return {'result':False,'message':Lg().g(348)}
     if guildId:
         self.updateID(guildId)
         chatnoderemote.callRemote('updateGuild',self._owner.baseInfo.id,guildId,1)#同步聊天角色中的行会
         self._owner.updatePlayerInfo()
         self._owner.quest.specialTaskHandle(ADDGUILDTASKTYPE)
         self._owner.finance.addCoin(-self.CREATECOIN)
         return {'result':True,'message':Lg().g(349)}
     return {'result':False,'message':Lg().g(350)}
 def getUnionTypeStr(self):
     '''获取行会阵营'''
     guild = GuildManager().getGuildById(self.id)
     if guild:
         utype = guild.camp
         return {1:Lg().g(336),2:Lg().g(337)}.get(utype,Lg().g(338))
     return Lg().g(338)
Ejemplo n.º 6
0
def AcceptOrRefuseApply(dynamicId, characterId, operType, appliId):
    '''拒绝或同意申请
    @param dynamicId: int 客户端的动态id
    @param characterId: int 客户端的动态id
    @param operType: int 操作类型 0 接受 1 拒绝
    @param appliId: int 申请ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    if operType == 0:
        data = guild.acceptGuildApply(characterId, appliId)
        reason = {0:Lg().g(80),-1:Lg().g(81),-2:Lg().g(82),\
                  -3:Lg().g(83),-4:Lg().g(84)}
        if data == 1:

            result = {'result': True, 'message': Lg().g(85)}
        else:
            result = {'result': False, 'message': reason[data]}
    else:
        data = guild.refuseGuildApply(characterId, appliId)
        reason = {0: Lg().g(80), -1: Lg().g(81), -4: Lg().g(84)}
        if data == 1:
            result = {'result': True, 'message': Lg().g(85)}
        else:
            result = {'result': False, 'message': reason[data]}
    return result
Ejemplo n.º 7
0
def loadModule():
    from app.scense.nodeapp import *
    #    from app.scense.publicnodeapp import *
    from app.scense.chatnodeapp import *
    dbScene.getALlInstanceSceneInfo()
    dbScene.getAllPublicSceneInfo()
    dbPortals.getAllPortalsInfo()
    dbStrengthen.getAll()
    dbInstance_colonize_title.updateAll()  #更新殖民头衔配置
    dbNpc.getAllNpcInfo()
    dbAward.getAllAwardInfo()
    dbSchedule.getAllScheduleBound()
    dbSchedule.getAllScheduleConfig()
    dbdaily.getAllDaily()
    dbGodhead.getAllGodhead()
    dbGodhead.getAllHeadtype()
    dbItems.getAllsetInfo()
    dbItems.getAllGemInfo()
    dbItems.getAllCompoundInfo()
    dbMonster.getAllMonsterInfo()
    dbMap.getAllDoorInfo()
    dbMap.getAllMonsterConfig()
    dbMap.getAllMapInfo()
    GuildManager()
    MapManager()
    serviceByStart.doService()
    updateInstanceInfo(1)
    updateSceneInfo(1)
    cleanMeM(1800)
 def AcceptOrRefuseApply(self,operType,appliId):
     '''拒绝或同意申请
     @param operType: int 操作类型 0 接受 1 拒绝
     @param appliId: int 申请ID
     '''
     guild = GuildManager().getGuildById(self.id)
     if not guild:
         return {'result':False,'message':Lg().g(339)}
     post = self.getPost()
     if post ==0:
         return {'result':False,'message':Lg().g(81)}
     if operType==0:
         data = guild.acceptGuildApply(self._owner.baseInfo.id,appliId)
         reason = {0:Lg().g(80),-1:Lg().g(81),-2:Lg().g(82),\
                   -3:Lg().g(83),-4:Lg().g(84)}
         if data ==1:
             result = {'result':True,'message':Lg().g(85)}
         else:
             result = {'result':False,'message':reason[data]}
     else:
         data = guild.refuseGuildApply(self._owner.baseInfo.id,appliId)
         reason = {0:Lg().g(80),-1:Lg().g(81),-4:Lg().g(84)}
         if data ==1:
             result = {'result':True,'message':Lg().g(85)}
         else:
             result = {'result':False,'message':reason[data]}
     return result
Ejemplo n.º 9
0
def CorpsInviteReply(dynamicId, characterId, union_id, is_ok):
    '''邀请加入行会的反馈信息
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param union_id: int 行会的id(邀请者的ID)
    @param is_ok: int 是否同意 0否 1是
    '''
    player = PlayersManager().getPlayerByID(characterId)
    fplayer = PlayersManager().getPlayerByID(union_id)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    nowguildId = player.guild.getID()
    toguildId = dbGuild.getCharacterGuildId(union_id)
    if fplayer and not is_ok:
        msg = "%s拒绝了你的邀请" % player.baseInfo.getName()
        pushOtherMessage(905, msg, [fplayer.getDynamicId()])
        return {'result': True}
    if nowguildId:
        return {'result': False, 'message': Lg().g(94)}
    guild = GuildManager().getGuildById(toguildId)
    if not guild:
        return {'result': False, 'message': Lg().g(95)}
    surplushours = player.guild.getCanJoinTime()
    if surplushours:
        return {'result': False, 'message': Lg().g(647) % surplushours}
    result = guild.JointGuild(characterId)
    if result.get('result', False):

        msg = u'成功加入%s' % guild.getGuildName()
        pushOtherMessage(905, msg, [dynamicId])
    else:
        nmsg = result.get('message', '')
        pushOtherMessage(905, nmsg, [dynamicId])
    return result
 def UseXingYun(self,usetype):
     '''
     @param usetype: int 0四叶草1郁金香2蝴蝶兰3紫罗兰4曼陀罗
     '''
     self.clearWishRecord()
     if usetype not in [0,1,2,3,4]:
         return {'result':False,'msgID':651}
     CONS_CONFIG = {0:0,1:10,2:15,3:20,4:30}
     goldcons = CONS_CONFIG.get(usetype)
     guild = GuildManager().getGuildById(self.id)
     if not guild:
         return {'result':False,'msgID':79}
     if self._owner.finance.getGold()<goldcons:
         return {'result':False,'msgID':652}
     characterId = self._owner.baseInfo.id
     viplevel = self._owner.baseInfo._viptype
     nowtimes=getattr(self,'wish_%d_times'%usetype)
     result = dbVIP.vipCertification('wish_%d_times'%usetype, viplevel,
                                     nowtimes=nowtimes)
     if not result:
         return {'result':False,'msgID':655}
     setattr(self, 'wish_%d_times'%usetype, nowtimes+1)
     dbGuild.updateCharacterWishRecord(characterId, {'wish_%d_times'%usetype:nowtimes+1})
     self._owner.finance.addGold(-goldcons)
     usename = self._owner.baseInfo.getName()
     xingyunadd = guild.UseXingYun(usetype,usename)
     self._owner.petShop.addXy(xingyunadd)
     return {'result':True}
 def getGuildAttrExt(self):
     '''获取国苏醒的加成'''
     info = {}
     guild = GuildManager().getGuildById(self.id)
     if guild:
         info = guild.getGuildAttrExt()
     return info
Ejemplo n.º 12
0
def GetGroupLingDiInfo4400(dynamicId, characterId):
    '''获取国领地信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    guildInfo = guild.guildinfo
    info = {}
    ldID = FortressManager().getGuildFortressId(guildId)
    fortress = FortressManager().getFortressById(ldID)
    if fortress:
        if not fortress.isOccupied:
            fortress = None
    info['ldType'] = ldID if fortress else 0
    info['groupName'] = guildInfo['name']
    info['groupLevel'] = guildInfo['level']
    info['groupLeader'] = guildInfo['presidentname']
    info['obtainJL'] = True if fortress else False
    info['icon'] = guildInfo['emblemLevel']
    info['battleInfo'] = [] if not fortress else fortress.fightlog
    info['battleTime'] = 0 if not fortress else fortress.getNextFightTime()
    return {'result': True, 'data': info}
Ejemplo n.º 13
0
def InstanceMapInfos_2502(dynamicId, request_proto):
    '''获取副本组信息'''
    argument = MapMessage_pb2.InstanceMapInfosRequest()
    argument.ParseFromString(request_proto)
    response = MapMessage_pb2.InstanceMapInfosResponse()

    dynamicId = dynamicId
    characterId = argument.id
    result = map.InstanceMapInfos(dynamicId, characterId)
    response.result = result.get('result', False)
    response.message = result.get('message', '')
    response.self_color = result.get('self_color', 0)
    infos = result.get('infos', {})
    for key, _info in infos.items():
        mapinfo = response.infos.add()
        mapinfo.id = key
        mapinfo.once = _info.get('reward', 0)
        mapinfo.income = _info.get('rewardAll', 0)
        mapinfo.instance_name = _info.get('instancename', '')
        mapinfo.union_name = _info.get('pname',
                                       '') + "(%s)" % _info.get('gname', '')
        guildId = _info.get('gid', 0)
        color = 0
        if not guildId:
            if not _info.get('pid', 0):
                color = 0
            else:
                color = DEFAULTCOLOR
        else:
            guild = GuildManager().getGuildById(guildId)
            if guild:
                color = guild.guildinfo.get('color', 0)

        mapinfo.color = color
    return response.SerializeToString()
 def getUnionType(self):
     '''获取阵营类型'''
     guild = GuildManager().getGuildById(self.id)
     if guild:
         utype = guild.camp
         return utype
     return 0
Ejemplo n.º 15
0
def CrusadeCorps(dynamicId, characterId, corpsId):
    '''国讨伐申请
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    @param corpsId: int 国的id
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    toGuild = GuildManager().getGuildById(corpsId)
    if not toGuild:
        return {'result': False, 'message': Lg().g(87)}
    data = guild.CrusadeCorps(characterId, guildId)
    return data
 def addGuildExp(self,exp):
     '''添加国经验'''
     guild = GuildManager().getGuildById(self.id)
     if guild:
         result = guild.addExp(exp)
         if result:
             self.addContribution(exp)
     else:
         raise Exception(Lg().g(339))
Ejemplo n.º 17
0
def GetBattleInfo4406(dynamicId, characterId):
    '''获取战斗信息'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    ldID = FortressManager().guildFightFortressId(guildId)
    fortress = FortressManager().getFortressById(ldID)
    if not fortress:
        return {'result': False, 'message': Lg().g(654)}
    guildBattleInfo = {}
    guildBattleInfo['roundCount'] = fortress.getRound()
    guildBattleInfo['remainTime'] = fortress.getBattleRemainTime()
    guildBattleInfo['jishaCount'] = player.guild.successTimes
    guildBattleInfo['obtainCoin'] = player.guild.coinBound
    guildBattleInfo['failCount'] = player.guild.failTimes
    guildBattleInfo['obtainSw'] = player.guild.prestigeBound
    guildBattleInfo['battleInfoList'] = fortress.battleInfoList

    guild1Id = fortress.get('kimori')
    guild2Id = fortress.get('siege')
    guild1Info = {}
    guild2Info = {}
    if guild1Id:
        guild1 = GuildManager().getGuildById(guild1Id)
        guild1Info = {}
        guild1Info['groupName'] = guild1.get('name')
        guild1Info['groupCount'] = fortress.kimoriScore
        guild1Info['icon'] = guild1.get('emblemLevel')
        guild1Info['groupMember'] = fortress.kimoriMembers

    if guild2Id:
        guild2 = GuildManager().getGuildById(guild2Id)
        guild2Info = {}
        guild2Info['groupName'] = guild2.get('name')
        guild2Info['groupCount'] = fortress.siegeScore
        guild2Info['icon'] = guild2.get('emblemLevel')
        guild2Info['groupMember'] = fortress.siegeMembers

    guildBattleInfo['group1Info'] = guild1Info
    guildBattleInfo['group2Info'] = guild2Info
    return {'result': True, 'data': guildBattleInfo}
    def getGuildInfo(self):
        '''获取行会基本信息'''
        if not self.id:
            return {'result':False,'message':Lg().g(339)}
#        if self.id>0 and not GuildManager()._guilds.has_key(self.id):
#            GuildManager().addGuildById(self.id)
        guild = GuildManager().getGuildById(self.id)
        if not guild:
            return {}
        return guild.guildinfo
Ejemplo n.º 19
0
def ChangeUnionColor(dynamicId, characterId, color):
    '''修改本国势力颜色'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    return guild.changeColor(characterId, color)
 def pushGuildLevelUp(self):
     '''获取行会升级消息'''
     guild = GuildManager().getGuildById(self.id)
     if guild:
         lastonline = self._owner.lastOnline
         leveluptime = guild.levelupTime
         if leveluptime>lastonline:
             level = guild.level
             sendList = [self._owner.getDynamicId()]
             pushGuildLevelUpMessage(level, sendList)
Ejemplo n.º 21
0
    def ClearingFight(self):
        '''国战战后结算
        '''
        from app.scense.core.guild.GuildManager import GuildManager
        info = {}
        info['applyTime'] = str(datetime.datetime.now())
        if not self.siege:
            info['kimori'] = self.kimori
            winner = info['kimori']
            Loser = 0
        else:
            #守城方的分数大于攻城方的分数
            if self.kimoriScore > self.siegeScore:
                info['kimori'] = self.kimori
                winner = info['kimori']
                Loser = self.siege
            else:
                self.kimori = self.siege
                info['kimori'] = self.siege
                winner = info['kimori']
                Loser = self.kimori
        self.kimoriScore = 0
        self.siegeScore = 0
        self.isOccupied = 1
        info['kimoriScore'] = 0
        info['siegeScore'] = 0
        info['siege'] = 0
        info['isOccupied'] = 1
        self.addFightlog(info['kimori'], 2)
        guild1 = GuildManager().getGuildById(winner)
        guild2 = GuildManager().getGuildById(Loser)
        if guild1:
            guild1.addExp(3500)
            msg = u"%s国成功征战%s,成为其国领地!" % (guild1.get('name'), self.name)
            chatnoderemote.callRemote('pushSystemToInfo', msg)
        if guild2:
            guild1.addExp(1500)

        dbfortress.updateFortressInfo(self.id, {
            'kimori': info['kimori'],
            'isOccupied': 1,
            'siege': 0
        })
Ejemplo n.º 22
0
    def updateInstancePid(self, groupid, pid, pname, gid, gname, instancename):
        '''更改(或添加)副本领主
        @param groupid: int 副本组id
        @param pid: int 角色id
        @param pname: str 角色名称
        @param gid: int 国id
        @param gname: str 国名称
        @instancename:str 副本名称
        '''
        from app.scense.core.guild.GuildManager import GuildManager

        self.updateIByid(groupid)
        info = self.i[groupid]  #副本殖民信息
        if info['pid'] == 0:  #如果这个副本没有被殖民
            dbInstanceColonize.addInstanceColonize(groupid, instancename, pid,
                                                   pname, gid, gname, 0,
                                                   0)  #添加到数据库中

        info['pid'] = pid  #设置此副本的领主角色id
        info['pname'] = pname  #设置副本领主的角色名称
        info['gid'] = gid  #设置领主行会id
        info['camp'] = 0
        if gid > 0:
            info['camp'] = GuildManager().getGuildById(gid).guildinfo[
                'camp']  #所属阵营 0中立  1光明  2黑暗
        info['gname'] = gname  #设置领主行会名称
        info['name'] = instancename  #设置副本名称
        self.setI(groupid, info)
        cityid = self.ic.get(groupid)  #根据副本组id获取所属城市id
        result, instanceinfo = self.cityColonize(cityid)  #根据城市id判断城市是否已经被玩家占领
        if result:
            pid = instanceinfo['pid']
            cinfo = self.c[cityid]
            cinfo['pid'] = pid
            cinfo['pname'] = instanceinfo['pname']
            cinfo['gid'] = instanceinfo['gid']
            cinfo['gname'] = instanceinfo['gname']
            cinfo['camp'] = instanceinfo['camp']
            self.setC(cityid, cinfo)

        cszid = self.ip.get(groupid)  #根据副本组id获取所属传送阵id
        rs1, cs1 = self.Portal(cszid)  #根据传送阵id判断传送阵是否被主宰
        if rs1:
            pid = cs1['pid']  #设置城市占领者id
            pname = cs1['pname']  #设置城市占领者名称
            gid = cs1['gid']  #设置城市占领者行会id
            gname = cs1['gname']
            camp = cs1['camp']  #所属阵营 0中立  1光明  2黑暗
            pinfo = self.p[cszid]  #传送阵殖民信息
            pinfo['pid'] = pid
            pinfo['pname'] = pname
            pinfo['gid'] = gid
            pinfo['gname'] = gname
            pinfo['camp'] = camp
            self.setP(cszid, pinfo)
Ejemplo n.º 23
0
def GetSingleUnion(dynamicId, characterId, union_id):
    '''获取单个国的信息'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guild = GuildManager().getGuildById(union_id)
    if not guild:
        return {'result': False, 'message': Lg().g(95)}
    guildInfo = guild.getGuildInfo(characterId)
    if not guildInfo:
        return {'result': False, 'message': Lg().g(95)}
    return {'result': True, 'data': guildInfo}
Ejemplo n.º 24
0
def GetXuYuanInfo4404(dynamicId, characterId):
    '''获取许愿相关信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    info = guild.GetXuYuanInfo()
    info['xyValue'] = player.petShop.xy
    return {'result': True, 'data': info}
Ejemplo n.º 25
0
 def getSceneGuildName(self):
     '''获取城镇占领国的名称
     '''
     from app.scense.core.campaign.FortressManager import FortressManager
     from app.scense.core.guild.GuildManager import GuildManager
     f = FortressManager().getFortressBySceneId(self._id)
     if not f.isOccupied:
         return ''
     if not f.kimori:
         return ''
     guildId = f.kimori
     guild = GuildManager().getGuildById(guildId)
     return guild.get('name')
 def leaveGuild(self):
     '''离开国'''
     guild = GuildManager().getGuildById(self.id)
     gid=self.id
     if not guild:
         return {'result':False,'message':Lg().g(79)}
     data = guild.leaveGuild(self._owner.baseInfo.id)
     if data.get('result',False):
         self.updateID(0)
         self.setLeaveTime(datetime.datetime.now())
         chatnoderemote.callRemote('updateGuild',self._owner.baseInfo.id,gid,0)#同步聊天角色中的行会
         self._owner.updatePlayerInfo()
     return data
Ejemplo n.º 27
0
def getGuildListInfo(dynamicId, characterId, getType, curPage, searchCriteria):
    '''获取国列表
    @param dynamicId: int 客户端动态id
    @param characterId: int 角色的id
    @param getType: int 获取类型  0获取所有1搜索
    @param curPage: int 当前页数
    @param searchCriteria: str 搜索条件
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    info = GuildManager().getGuildListInfo(characterId, getType, curPage,
                                           searchCriteria)
    return {'result': True, 'data': info}
Ejemplo n.º 28
0
def GetEmblemInfo(dynamicId, characterId):
    '''获取行会的管理信息
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    data = guild.GetEmblemInfo()
    return {'result': True, 'data': data}
Ejemplo n.º 29
0
def TakeCorpsChief(dynamicId, characterId):
    '''接位国长
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result': False, 'message': Lg().g(79)}
    guild = GuildManager().getGuildById(guildId)
    data = guild.takeCorpsChief(characterId)
    return data
 def ObtainFortressReward(self):
     '''获取国领地奖励
     '''
     #判断是否领取过今天的奖励
     if self.lastDonate.date()==datetime.date.today():
         return {'result':False,'msgId':658}
     guild = GuildManager().getGuildById(self.id)
     if not guild:
         return {'result':False,'msgId':659}
     coinBound = guild.level * 10000
     self._owner.finance.addCoin(coinBound)
     lastDonate = datetime.datetime.now()
     self.updateLastDonate(lastDonate)
     return {'result':True,'msgId':660}