Example #1
0
 def LevelUpEmblem(self, operator):
     '''升级军徽
     @param operator: int 操作者的id
     '''
     if self.MAXLEVEL <= self.get('emblemLevel'):
         return {'result': False, 'message': Lg().g(542)}
     player = PlayersManager().getPlayerByID(operator)
     self.emblemLevel += 1
     result = True
     if result:
         msg = Lg().g(543)%\
         (self.guildinfo['emblemLevel'])
         pushOtherMessage(905, msg, [player.getDynamicId()])
         if self.guildinfo['emblemLevel'] == 20:
             utype = {
                 1: Lg().g(544),
                 2: Lg().g(545)
             }.get(self.guildinfo['camp'],
                   Lg().g(546))
             palyername = player.baseInfo.getName(0)
             gname = self.getGuildName()
             sendmsg = Lg().g(547) % (utype, palyername, gname)
             chatnoderemote.callRemote('pushSystemToInfo', sendmsg)
         return {
             'result': True,
             'message': Lg().g(548) % (self.guildinfo['emblemLevel'])
         }
     return {'result': False, 'message': Lg().g(549)}
Example #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}
Example #3
0
def GetGroupLingDiInfo_4400(dynamicId, request_proto):
    '''获取国领地信息
    '''
    argument = GetGroupLingDiInfo4400_pb2.GetGroupLingDiInfoRequest()
    argument.ParseFromString(request_proto)
    response = GetGroupLingDiInfo4400_pb2.GetGroupLingDiInfoResponse()
    characterId = argument.id
    data = campaign.GetGroupLingDiInfo4400(dynamicId, characterId)

    response.result = data.get('result', False)
    msg = data.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    response.message = msg
    if data.get('data', None):
        LingdiInfo = data.get('data')
        response.groupInfo.ldType = LingdiInfo['ldType']
        response.groupInfo.groupName = LingdiInfo['groupName']
        response.groupInfo.groupLevel = LingdiInfo['groupLevel']
        response.groupInfo.groupLeader = LingdiInfo['groupLeader']
        response.groupInfo.obtainJL = LingdiInfo['obtainJL']
        response.groupInfo.icon = LingdiInfo['icon']
        response.groupInfo.battleInfo.extend(LingdiInfo['battleInfo'])
        response.groupInfo.battleTime = LingdiInfo['battleTime']
    return response.SerializeToString()
Example #4
0
def LevelUpEmblem(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)
    emblemlevel = guild.guildinfo.get('emblemLevel',0)
    goldRequired = {1:100,2:200,3:500,4:1000,5:2000,6:5000,7:10000,8:20000,9:50000,10:10000}
    goldcons = goldRequired.get(emblemlevel,100)
    if goldcons > player.finance.getGold():
        msg = Lg().g(190)
        pushOtherMessage(905, msg, [dynamicId])
        return {'result':False,'message':msg}
    data = guild.LevelUpEmblem(characterId)
    if data.get('result',False):
        player.finance.consGold(goldcons,6)#升级军徽消耗钻
        player.guild.addContribution(int(goldcons*1.5))
        player.updatePlayerInfo()
    else:
        pushOtherMessage(905, data.get('message',''), [dynamicId])
    return data
Example #5
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)}
Example #6
0
def StartUpGuaJi(dynamicId,characterId):
    '''角色开始挂机
    @param characterId: int 角色的ID
    '''
    from app.scense.core.campaign.FortressManager import FortressManager
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    #判断是否有冥想加成
    if player.baseInfo.getState()==1:  #如果角色在副本
        state = 0
    else:
        guildId = player.guild.getID()
        sceneId = player.baseInfo.getTown()
        fortress=  FortressManager().getFortressBySceneId(sceneId)
        if not fortress.isOccupied:
            state = 0
        else:
            if fortress.kimori==guildId and guildId!=0:
                state=1
            else:
                state = 0
    result = player.afk.startMeditation(state=state)
    if not result.get('result'):
        msg = result.get('message')
        sendId = player.getDynamicId()
        pushOtherMessage(905, msg, [sendId])
    return result
Example #7
0
def buyItemInMall_214(dynamicId,request_proto):
    '''购买商城中的物品'''
    argument = buyItemInMall214_pb2.buyItemInMallRequest()
    argument.ParseFromString(request_proto)
    response = buyItemInMall214_pb2.buyItemInMallResponse()
    
    dynamicId = dynamicId
    characterId = argument.id
    itemTemplateId = argument.itemTemplateId
    count=argument.count
    priceType=argument.priceType#
    buyType=argument.buyType
    presentName=argument.presentName
    data = shop.buyItemInMall(dynamicId, characterId, itemTemplateId,count,priceType,buyType,presentName)
    message = data.get('message',u'')
    response.result = data.get('result',False)
    response.message = message
    if message:
        pushOtherMessage(905, message, [dynamicId])
    data1=data.get('data',None)
    if data1:
        response.data.recharge=data1.get('recharge',False)
        response.data.priceType=data1.get('priceType',0)
        response.data.itemTemplateId=data1.get('itemTemplateId',-1)
        response.data.count=data1.get('count',-1)
        response.data.buyType=buyType
        response.data.presentName=presentName
    return response.SerializeToString()
Example #8
0
def GetGroupLingDiInfo_4400(dynamicId, request_proto):
    """获取国领地信息
    """
    argument = GetGroupLingDiInfo4400_pb2.GetGroupLingDiInfoRequest()
    argument.ParseFromString(request_proto)
    response = GetGroupLingDiInfo4400_pb2.GetGroupLingDiInfoResponse()
    characterId = argument.id
    data = campaign.GetGroupLingDiInfo4400(dynamicId, characterId)

    response.result = data.get("result", False)
    msg = data.get("message", "")
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    response.message = msg
    if data.get("data", None):
        LingdiInfo = data.get("data")
        response.groupInfo.ldType = LingdiInfo["ldType"]
        response.groupInfo.groupName = LingdiInfo["groupName"]
        response.groupInfo.groupLevel = LingdiInfo["groupLevel"]
        response.groupInfo.groupLeader = LingdiInfo["groupLeader"]
        response.groupInfo.obtainJL = LingdiInfo["obtainJL"]
        response.groupInfo.icon = LingdiInfo["icon"]
        response.groupInfo.battleInfo.extend(LingdiInfo["battleInfo"])
        response.groupInfo.battleTime = LingdiInfo["battleTime"]
    return response.SerializeToString()
 def activationSkill(self, skillGroup):
     '''学习技能
     @skillGroup 技能组的ID
     '''
     characterId = self._owner.baseInfo.id
     reason = dbSkill.LearnSkill(characterId, skillGroup)
     if not reason:
         return False
     LearnedSkillInfo = {'skillId': skillGroup, 'skillLevel': 1}
     self.learned_skillpool[skillGroup] = LearnedSkillInfo
     skillInfo = dbSkill.SKILL_GROUP[skillGroup].get(1)
     #        coinRequired = skillInfo.get('levelUpMoney')
     #        itemTemplateID = skillInfo.get('itemRequired')
     #        requiredCount = skillInfo.get('itemCountRequired')
     #        itemInfo = dbaccess.all_ItemTemplate.get(itemTemplateID)
     #        self._owner.finance.updateCoin(self._owner.finance.getCoin()-coinRequired)
     #        if skillGroup ==self.CATCHPETSKILLGROUP:
     #            self._owner.quest.specialTaskHandle(108)#特殊抓宠任务处理
     ##        else:
     ##            #特殊任务处理
     #        if itemTemplateID and requiredCount:
     #            self._owner.pack.delItemByTemplateId(itemTemplateID,requiredCount)
     self._owner.daily.noticeDaily(11, 0, -1)
     msg = Lg().g(475) % skillInfo.get('skillName')
     pushOtherMessage(905, msg, [self._owner.getDynamicId()])
     return True
    def activationSkill(self,skillGroup):
        '''学习技能
        @skillGroup 技能组的ID
        '''
        characterId = self._owner.baseInfo.id
        reason = dbSkill.LearnSkill(characterId, skillGroup)
        if not reason:
            return False
        LearnedSkillInfo = {'skillId':skillGroup,'skillLevel':1}
        self.learned_skillpool[skillGroup] = LearnedSkillInfo
        skillInfo = dbSkill.SKILL_GROUP[skillGroup].get(1)
#        coinRequired = skillInfo.get('levelUpMoney')
#        itemTemplateID = skillInfo.get('itemRequired')
#        requiredCount = skillInfo.get('itemCountRequired')
#        itemInfo = dbaccess.all_ItemTemplate.get(itemTemplateID)
#        self._owner.finance.updateCoin(self._owner.finance.getCoin()-coinRequired)
#        if skillGroup ==self.CATCHPETSKILLGROUP:
#            self._owner.quest.specialTaskHandle(108)#特殊抓宠任务处理
##        else:
##            #特殊任务处理
#        if itemTemplateID and requiredCount:
#            self._owner.pack.delItemByTemplateId(itemTemplateID,requiredCount)
        self._owner.daily.noticeDaily(11,0,-1)
        msg = Lg().g(475)%skillInfo.get('skillName')
        pushOtherMessage(905, msg, [self._owner.getDynamicId()])
        return True
Example #11
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}
Example #12
0
def ObtainItem_2408(dynamicId, request_proto):
    '''放到自己背包中'''
    argument = ObtainItem2408_pb2.ObtainItemRequest()
    argument.ParseFromString(request_proto)
    response = ObtainItem2408_pb2.ObtainItemResponse()

    id = argument.id  #角色id
    type = argument.type  #0获取所有 1获取单个
    pos = argument.pos  # 单个在背包的位置
    player = PlayersManager().getPlayerByID(id)  #角色实例
    if type == 0:
        data = player.instance.putAllItemsInPack()
        if not data:
            response.result = False
            response.message = Lg().g(16)
            pushObjectNetInterface.pushOtherMessage(905,
                                                    Lg().g(16),
                                                    [player.getDynamicId()])
            return response.SerializeToString()
    else:
        data = player.instance.getOneItemInPackByPosition(pos)
        if not data:
            response.result = False
            response.message = Lg().g(16)
            return response.SerializeToString()
    response.result = True
    response.message = u''
    return response.SerializeToString()
Example #13
0
def __StrengthenOne(player,item,qlevel,characterid):
    '''强化装备ing
    @param player: obj 角色
    @param itemid: obj 物品
    @param qlevel: int 强化等级
    '''
#    player.pack.delItemByItemId(item1id)
#    r=random.randint(1,100)
    if True: #如果强化成功
        
        item.attribute.updateStrengthen(item.attribute.getStrengthen()+1) #强化+1
#        sstime=player.qhtime.add(item.attribute.getStrengthen()-1)#增加冷却时间,返回增加后的剩余秒数
#        pushObjectNetInterface.StrengthenTime2120(player.baseInfo.id,sstime)#推送心冷却时间到客户端
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(201), [player.getDynamicId()])
        pushStrengthenSys(player,item,True)
#        msg=u'玩家['+player.baseInfo.getNickName()+u']强化'+item.baseInfo.getName()+'+'+str(item.attribute.getStrengthen())+' 成功'
        player.quest.specialTaskHandle(102)#特殊任务处理
        player.schedule.noticeSchedule(2,goal = 1)
        player.daily.noticeDaily(8,0,item.attribute.getStrengthen()+1)
        return {'result':True,'message':u'','data':None}
#        chat.sendAnnouncement(msg) #公告
#        chat.sendSysInfomation(msg1, player.baseInfo.id)#系统提示
    else: #如果强化失败
#        msg='玩家['+player.baseInfo.getNickName()+']强化'+item.baseInfo.getName()+'+'+str(item.attribute.getStrengthen())+' 失败'
#        chat.sendAnnouncement(msg) #公告
#        chat.sendSysInfomation(msg1, player.baseInfo.id)#系统提示
        pushStrengthenSys(player,item,False)
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(202), [player.getDynamicId()])
        return {'result':False,'message':u'','data':None}
Example #14
0
def enterPlace_601(dynamicId, characterId, placeId,force,player):
    '''进入场景'''
    state = 0
    if not player:
        player = PlayerCharacter(characterId,dynamicId = dynamicId)
        player.setlastOnline(datetime.datetime.now())
        pushPlayerGonggaoXinxi(player)
    else:
        player = cPickle.loads(player)
        player.startAllTimer()
        state = 1
    #判断是否满足进入场景的需求
    sceneInfo = dbMap.ALL_MAP_INFO.get(placeId,{})
    levelRequired = sceneInfo['level']
    if player.level.getLevel()<sceneInfo['level']:
        msg = Lg().g(607)%levelRequired
        pushOtherMessage(905, msg, [dynamicId])
        return {'result':False,'message':Lg().g(332)}
    player.baseInfo.setTown( placeId)
    player.baseInfo.setState(0)
    PlayersManager().addPlayer(player)
    defencelog_app.isReward(player.baseInfo.id, player.getDynamicId())
    scene = MapManager().getMapId(placeId)
    scenename = scene.getSceneName()
    chatnoderemote.callRemote('JoinRoom',characterId,placeId,scenename)
    scene.addPlayer(characterId)
    player.quest.setNpcList(scene._npclist)
    scene.pushEnterPlace([dynamicId])
#    if not state:
#        publicnoderemote.callRemote('addPcharacter',characterId,getNodeId())
#    else:
#        publicnoderemote.callRemote('updatePCharacterNodeId',characterId,getNodeId())
    return {'result':True,'message':'','data':{'placeId':placeId}}
Example #15
0
def getSxzy(characterid, item1, item2):
    '''获取属性转移后的效果及其花费信息
    @param item1: int 物品id (转移后强化等级变成0的那个物品的id)
    @param item: int 物品id 
    '''
    if item1 == item2:
        pushObjectNetInterface.pushOtherMessageByCharacterId(
            Lg().g(206), [characterid])
        return {'result': False, 'message': Lg().g(206), 'data': None}
    player = PlayersManager().getPlayerByID(characterid)  #角色实例
    if not player:
        return {'result': False, 'message': Lg().g(199), 'data': None}
    if player.level.getLevel() < 30:
        return {'result': False, 'message': Lg().g(205), 'data': None}
    items1 = getItemByplayer(player, item1)
    if not items1:
        return {'result': False, 'message': Lg().g(189), 'data': None}
    items2 = getItemByplayer(player, item2)
    if not items2:
        return {'result': False, 'message': Lg().g(189), 'data': None}

    if items1.getWQtype() != items2.getWQtype():
        return {'qh': None, 'coin': 0}

    level = Sxzy(items1, items2)
    zyyh = level + items2.attribute.getStrengthen()  #转移以后装备的强化等级
    if player.level.getLevel() < zyyh:
        pushObjectNetInterface.pushOtherMessage(905,
                                                Lg().g(207) % zyyh,
                                                [player.getDynamicId()])
    Zcion = getSxzyCoin(items1, items2)  #转移花费金币

    return {'qh': level, 'coin': Zcion}
Example #16
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)}
Example #17
0
def isHaveQH(characterid,itemid):
    '''判断是否能够强化
    @param characterid: int 角色id
    @param itemid: int 物品1(item)表主键id
    '''
    item1=None#物品实例1
    player=PlayersManager().getPlayerByID(characterid)
    
    if itemid>0:#如果物品1存在

        if player.pack._package._PropsPagePack.getPositionByItemId(itemid)!=-1:#背包中没有此物品
            item1=player.pack._package._PropsPagePack.getItemInfoByItemid(itemid)#获取物品实例
        else:
            item1=player.pack._equipmentSlot.getItemInfoByItemid(itemid)
            
        if not item1:
            return {'result':False,'message':Lg().g(189),'data':None}

    wqtype=item1.getWQtype()#武器类型 #装备类型id   #0=衣服#1=裤子 #2=头盔#3=手套#4=靴子#5=护肩#6=项链#7=戒指#8=主武器#9=副武器#10=双手
    if wqtype<0 or wqtype>10: #装备类型id  
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(196), [player.getDynamicId()])
        return {'result':False,'message':Lg().g(197),'data':None}
   
    baseQuality=item1.baseInfo.getItemTemplateInfo().get("baseQuality",0)#基础品质 1灰 2白 3绿 4蓝 5紫 6橙 7红
    itemlevel=item1.baseInfo.getItemTemplateInfo().get("levelRequire",0) #装备等级
    qlevel=item1.attribute.getStrengthen() #物品当前的强化等级
    jinbi= coinCount(qlevel,baseQuality,wqtype,itemlevel)
    return qq(player, itemid,wqtype,baseQuality,jinbi,item1)
Example #18
0
def argeeApplyGroup(id, tid):
    '''同意申请入队
    @param id: int 申请入队者id
    @param tid: int 有队的伍角色id
    '''
    player = PlayersManager().getPlayerByID(id)  #申请入队者
    toplayer = PlayersManager().getPlayerByID(tid)  #有队伍的角色id
    sendPlayer = toplayer.teamcom.getMyTeamLeader()  #队长角色

    if not player:
        return {'result': False, 'message': Lg().g(18)}
    if not toplayer:
        return {'result': False, 'message': Lg().g(256)}
    if player.teamcom.amITeamMember():
        return {'result': False, 'message': Lg().g(254)}
    if not player.teamcom.amITeamMember():
        return {'result': False, 'message': Lg().g(255)}
    if sendPlayer.teamcom.amITeamMember():  #如果队长有队伍
        data = sendPlayer.teamcom.addTeamMember(player)
    if data['result']:
        player.teamcom.pushTeamMemberInfo()
        pushObjectNetInterface.pushOtherMessage(905,
                                                Lg().g(257),
                                                [sendPlayer.dynamicId])
    return data
Example #19
0
def agreeGroup(dynamicId,id,tid):
    '''同意组队邀请 (别人进来)
    @param dynamicId: int 客户端的id
    @param id: int 被邀请人id
    @param tid: int 邀请人id
    '''
    player = PlayersManager().getPlayerByID(id)#被邀请人
    toplayer = PlayersManager().getPlayerByID(tid)#邀请人
    sendPlayer=None #队长角色
    if not player:
        return {'result':False,'message':Lg().g(18)}
    if not toplayer:
        return {'result':False,'message':Lg().g(256)}
    
    if player.teamcom.amITeamMember() and toplayer.teamcom.amITeamMember():#如果都有组队
        return {'result':False,'message':Lg().g(251)}
    elif not player.teamcom.amITeamMember() and not toplayer.teamcom.amITeamMember():#如果都没有队伍
        data = toplayer.teamcom.addTeamMember(player)#邀请者为队长
        sendPlayer=toplayer
    else:
        sendPlayer = toplayer.teamcom.getMyTeamLeader()#队长角色
        data = sendPlayer.teamcom.addTeamMember(player)
    if data['result']:
        player.teamcom.pushTeamMemberInfo()
        pushObjectNetInterface.pushOtherMessage(905,Lg().g(257),sendPlayer.dynamicId)
    return data
Example #20
0
def buyItemInMall_214(dynamicId, request_proto):
    '''购买商城中的物品'''
    argument = buyItemInMall214_pb2.buyItemInMallRequest()
    argument.ParseFromString(request_proto)
    response = buyItemInMall214_pb2.buyItemInMallResponse()

    dynamicId = dynamicId
    characterId = argument.id
    itemTemplateId = argument.itemTemplateId
    count = argument.count
    priceType = argument.priceType  #
    buyType = argument.buyType
    presentName = argument.presentName
    data = shop.buyItemInMall(dynamicId, characterId, itemTemplateId, count,
                              priceType, buyType, presentName)
    message = data.get('message', u'')
    response.result = data.get('result', False)
    response.message = message
    if message:
        pushOtherMessage(905, message, [dynamicId])
    data1 = data.get('data', None)
    if data1:
        response.data.recharge = data1.get('recharge', False)
        response.data.priceType = data1.get('priceType', 0)
        response.data.itemTemplateId = data1.get('itemTemplateId', -1)
        response.data.count = data1.get('count', -1)
        response.data.buyType = buyType
        response.data.presentName = presentName
    return response.SerializeToString()
def ObtainItem_2408(dynamicId, request_proto):
    '''放到自己背包中'''
    argument=ObtainItem2408_pb2.ObtainItemRequest()
    argument.ParseFromString(request_proto)
    response=ObtainItem2408_pb2.ObtainItemResponse()
    
    id=argument.id #角色id
    type=argument.type #0获取所有 1获取单个
    pos=argument.pos # 单个在背包的位置
    player=PlayersManager().getPlayerByID(id) #角色实例
    if type==0:
        data=player.instance.putAllItemsInPack()
        if not data:
            response.result=False
            response.message=Lg().g(16)
            pushObjectNetInterface.pushOtherMessage(905, Lg().g(16), [player.getDynamicId()])
            return response.SerializeToString()
    else:
        data=player.instance.getOneItemInPackByPosition(pos)
        if not data:
            response.result=False
            response.message=Lg().g(16)
            return response.SerializeToString()
    response.result=True
    response.message=u''
    return response.SerializeToString()
Example #22
0
def agreeGroup(dynamicId, id, tid):
    '''同意组队邀请 (别人进来)
    @param dynamicId: int 客户端的id
    @param id: int 被邀请人id
    @param tid: int 邀请人id
    '''
    player = PlayersManager().getPlayerByID(id)  #被邀请人
    toplayer = PlayersManager().getPlayerByID(tid)  #邀请人
    sendPlayer = None  #队长角色
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    if not toplayer:
        return {'result': False, 'message': Lg().g(256)}

    if player.teamcom.amITeamMember() and toplayer.teamcom.amITeamMember(
    ):  #如果都有组队
        return {'result': False, 'message': Lg().g(251)}
    elif not player.teamcom.amITeamMember(
    ) and not toplayer.teamcom.amITeamMember():  #如果都没有队伍
        data = toplayer.teamcom.addTeamMember(player)  #邀请者为队长
        sendPlayer = toplayer
    else:
        sendPlayer = toplayer.teamcom.getMyTeamLeader()  #队长角色
        data = sendPlayer.teamcom.addTeamMember(player)
    if data['result']:
        player.teamcom.pushTeamMemberInfo()
        pushObjectNetInterface.pushOtherMessage(905,
                                                Lg().g(257),
                                                sendPlayer.dynamicId)
    return data
def ObtainReward(pid,did):
    '''领取单个保卫奖励
    @param pid: int 角色id
    @param did: int 保卫奖励表主键id
    '''
    msg=u""
    flg=True
    player=PlayersManager().getPlayerByID(pid)#获得角色id
    info=dbDefenceBonus.getByid(did) #根据奖励主键id获得奖励信息
    if not info:
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(61), [player.getDynamicId()])
        return False,Lg().g(61)
    reward=info['reward']
    player.finance.updatePrestige(player.finance.getPrestige()+reward)
    if not dbDefenceBonus.delByid(info['id']) : 
        msg+=Lg().g(62)
        flg=False

#    item=Item(itemTemplateId=20030061)
#    item.pack.setStack(info['reward']) #物品的数量
#    rs1=player.pack._package.canPutItem(item,info['reward']) #判断背包中是否可以放入这些数量的物品
#    if rs1: #如果可以放进去
#        player.pack.putNewItemsInPackage(20030061,info['reward'])
#        del item
#        if not dbDefenceBonus.delByid(info['id']) : 
#            msg+=Lg().g(62)
#            flg=False
#    else: #如果一个奖励所获得物品不能放入背包
#        del item
#        pushObjectNetInterface.pushOtherMessage(905, Lg().g(16), [player.getDynamicId()])
#        return False,Lg().g(16)
    return flg,msg
Example #24
0
def guyongpet(pid, petid, typeid):
    """雇用宠物
    @param pid: int 角色id
    @param petid: int 宠物模板id
    @param typeid: int #1表示金币兑换的宠物  2表示幸运值兑换
    """
    from app.scense.utils.dbopera import dbCharacterPet

    player = PlayersManager().getPlayerByID(pid)
    if not player:
        return {"result": False, "message": Lg().g(18)}

    alls = dbCharacterPet.PET_TEMPLATE
    if alls.has_key(petid):
        pet = alls.get(petid)
        coin = pet["coin"]
        xy = pet["xy"]
        if typeid == 1:  # 扣除金币
            pcoin = player.finance.getCoin()
            if pcoin >= coin:
                petlevel = 1  # 宠物等级
                for i in player.petShop.shop1:  # i[宠物模板id,宠物等级]
                    if i[0]["id"] == petid:
                        petlevel = i[1]

                flg = player.pet.addPet(petid, level=petlevel)  # 添加宠物并返回
                if flg == -1:
                    pushObjectNetInterface.pushOtherMessage(905, Lg().g(167), [player.getDynamicId()])
                    return {"result": True, "message": Lg().g(167)}
                elif flg == -2:
                    pushObjectNetInterface.pushOtherMessage(905, Lg().g(168), [player.getDynamicId()])
                    return {"result": True, "message": Lg().g(168)}

                player.finance.updateCoin(pcoin - coin)
                player.quest.specialTaskHandle(115)  # 特殊任务处理
                player.schedule.noticeSchedule(16, goal=1)
                return {"result": True, "message": Lg().g(166)}
            else:
                return {"result": False, "message": Lg().g(88)}
        else:  # 扣除幸运值
            pxy = player.petShop.xy
            if pxy < xy:
                pushObjectNetInterface.pushOtherMessage(905, Lg().g(169), [player.getDynamicId()])
                return {"result": True, "message": Lg().g(169)}
            if pxy >= xy:
                flg = player.pet.addPet(petid)
                if flg == -1:
                    pushObjectNetInterface.pushOtherMessage(905, Lg().g(167), [player.getDynamicId()])
                    return {"result": False, "message": Lg().g(167)}
                elif flg == -2:
                    pushObjectNetInterface.pushOtherMessage(905, Lg().g(168), [player.getDynamicId()])
                    return {"result": True, "message": Lg().g(168)}
                player.petShop.xy = pxy - xy
                player.quest.specialTaskHandle(115)  # 特殊任务处理
                player.schedule.noticeSchedule(16, goal=1)
                return {"result": True, "message": Lg().g(166)}
            else:
                return {"result": False, "message": Lg().g(169)}
    else:
        return {"result": False, "message": Lg().g(170)}
Example #25
0
def isHaveQH(characterid, itemid):
    '''判断是否能够强化
    @param characterid: int 角色id
    @param itemid: int 物品1(item)表主键id
    '''
    item1 = None  #物品实例1
    player = PlayersManager().getPlayerByID(characterid)

    if itemid > 0:  #如果物品1存在

        if player.pack._package._PropsPagePack.getPositionByItemId(
                itemid) != -1:  #背包中没有此物品
            item1 = player.pack._package._PropsPagePack.getItemInfoByItemid(
                itemid)  #获取物品实例
        else:
            item1 = player.pack._equipmentSlot.getItemInfoByItemid(itemid)

        if not item1:
            return {'result': False, 'message': Lg().g(189), 'data': None}

    wqtype = item1.getWQtype(
    )  #武器类型 #装备类型id   #0=衣服#1=裤子 #2=头盔#3=手套#4=靴子#5=护肩#6=项链#7=戒指#8=主武器#9=副武器#10=双手
    if wqtype < 0 or wqtype > 10:  #装备类型id
        pushObjectNetInterface.pushOtherMessage(905,
                                                Lg().g(196),
                                                [player.getDynamicId()])
        return {'result': False, 'message': Lg().g(197), 'data': None}

    baseQuality = item1.baseInfo.getItemTemplateInfo().get(
        "baseQuality", 0)  #基础品质 1灰 2白 3绿 4蓝 5紫 6橙 7红
    itemlevel = item1.baseInfo.getItemTemplateInfo().get("levelRequire",
                                                         0)  #装备等级
    qlevel = item1.attribute.getStrengthen()  #物品当前的强化等级
    jinbi = coinCount(qlevel, baseQuality, wqtype, itemlevel)
    return qq(player, itemid, wqtype, baseQuality, jinbi, item1)
Example #26
0
def ObtainReward(pid, did):
    '''领取单个保卫奖励
    @param pid: int 角色id
    @param did: int 保卫奖励表主键id
    '''
    msg = u""
    flg = True
    player = PlayersManager().getPlayerByID(pid)  #获得角色id
    info = dbDefenceBonus.getByid(did)  #根据奖励主键id获得奖励信息
    if not info:
        pushObjectNetInterface.pushOtherMessage(905,
                                                Lg().g(61),
                                                [player.getDynamicId()])
        return False, Lg().g(61)
    reward = info['reward']
    player.finance.updatePrestige(player.finance.getPrestige() + reward)
    if not dbDefenceBonus.delByid(info['id']):
        msg += Lg().g(62)
        flg = False


#    item=Item(itemTemplateId=20030061)
#    item.pack.setStack(info['reward']) #物品的数量
#    rs1=player.pack._package.canPutItem(item,info['reward']) #判断背包中是否可以放入这些数量的物品
#    if rs1: #如果可以放进去
#        player.pack.putNewItemsInPackage(20030061,info['reward'])
#        del item
#        if not dbDefenceBonus.delByid(info['id']) :
#            msg+=Lg().g(62)
#            flg=False
#    else: #如果一个奖励所获得物品不能放入背包
#        del item
#        pushObjectNetInterface.pushOtherMessage(905, Lg().g(16), [player.getDynamicId()])
#        return False,Lg().g(16)
    return flg, msg
Example #27
0
def getSxzy(characterid,item1,item2):
    '''获取属性转移后的效果及其花费信息
    @param item1: int 物品id (转移后强化等级变成0的那个物品的id)
    @param item: int 物品id 
    '''
    if item1==item2:
        pushObjectNetInterface.pushOtherMessageByCharacterId(Lg().g(206), [characterid])
        return {'result':False,'message':Lg().g(206),'data':None}
    player=PlayersManager().getPlayerByID(characterid) #角色实例
    if not player:
        return {'result':False,'message':Lg().g(199),'data':None}
    if player.level.getLevel()<30:
        return {'result':False,'message':Lg().g(205),'data':None}
    items1=getItemByplayer(player, item1)
    if not items1:
        return {'result':False,'message':Lg().g(189),'data':None}
    items2=getItemByplayer(player, item2)
    if not items2:
        return {'result':False,'message':Lg().g(189),'data':None}
    
    if items1.getWQtype()!=items2.getWQtype():
        return {'qh':None,'coin':0}

    level=Sxzy(items1, items2)
    zyyh=level+items2.attribute.getStrengthen()#转移以后装备的强化等级
    if player.level.getLevel()<zyyh:
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(207)%zyyh, [player.getDynamicId()])
    Zcion=getSxzyCoin(items1, items2)#转移花费金币
    
    
    return {'qh':level,'coin':Zcion}
Example #28
0
def ActiveGodhead(dynamicId, characterId, godheadid):
    """激活神格"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    data = player.godhead.ActiveGodhead(godheadid)
    pushOtherMessage(905, data.get("message", u""), [dynamicId])
    return data
Example #29
0
def OpenBattleSpace(dynamicId,characterId,spacePos):
    '''激活技能槽'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    result = player.skill.OpenBattleSpace(spacePos)
    pushOtherMessage(905,result.get('message',''), [dynamicId])
    return result
Example #30
0
def skillLevelUp(dynamicId, characterId, skillId):
    '''技能升级'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.skill.LevelUpSkill(skillId)
    pushOtherMessage(905, result.get('message', ''), [dynamicId])
    return result
Example #31
0
def ActiveGodhead(dynamicId, characterId, godheadid):
    '''激活神格'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    data = player.godhead.ActiveGodhead(godheadid)
    pushOtherMessage(905, data.get('message', u''), [dynamicId])
    return data
Example #32
0
def OpenBattleSpace(dynamicId, characterId, spacePos):
    '''激活技能槽'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.skill.OpenBattleSpace(spacePos)
    pushOtherMessage(905, result.get('message', ''), [dynamicId])
    return result
Example #33
0
def skillLevelUp(dynamicId,characterId,skillId):
    '''技能升级'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    result = player.skill.LevelUpSkill(skillId)
    pushOtherMessage(905,result.get('message',''), [dynamicId])
    return result
Example #34
0
def GetBattleInfo_4406(dynamicId, request_proto):
    '''获取国战的信息
    '''
    argument = GetBattleInfo4406_pb2.GetBattleInfoRequest()
    argument.ParseFromString(request_proto)
    response = GetBattleInfo4406_pb2.GetBattleInfoResponse()
    characterId = argument.id
    data = campaign.GetBattleInfo4406(dynamicId, characterId)

    response.result = data.get('result', False)
    msg = data.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    response.message = msg
    if data.get('data', None):
        BattleInfos = data.get('data')
        dataResponse = response.groupBattleInfo
        dataResponse.roundCount = BattleInfos.get('roundCount')
        dataResponse.remainTime = BattleInfos.get('remainTime')
        dataResponse.jishaCount = BattleInfos.get('jishaCount')
        dataResponse.failCount = BattleInfos.get('failCount')
        dataResponse.obtainCoin = BattleInfos.get('obtainCoin')
        dataResponse.obtainSw = BattleInfos.get('obtainSw')

        battleListResponse = dataResponse.battleInfoList
        for battleInfo in BattleInfos['battleInfoList']:
            battleResponse = battleListResponse.add()
            battleResponse.roleId1 = battleInfo.get('roleId1')
            battleResponse.roleName1 = battleInfo.get('roleName1')
            battleResponse.roleId2 = battleInfo.get('roleId2')
            battleResponse.roleName2 = battleInfo.get('roleName2')
            battleResponse.sucObCoin = battleInfo.get('sucObCoin')

        guild1Info = BattleInfos['group1Info']
        group1InfoResponse = dataResponse.group1Info
        group1InfoResponse.groupName = guild1Info.get('groupName', u'')
        group1InfoResponse.groupCount = guild1Info.get('groupCount', 0)
        group1InfoResponse.icon = guild1Info.get('icon', 0)
        group1MemberListResponse = group1InfoResponse.groupMember
        for role in guild1Info.get('groupMember', []):
            roleResponse = group1MemberListResponse.add()
            roleResponse.memberId = role['memberId']
            roleResponse.memberName = role['memberName']

        guild2Info = BattleInfos['group2Info']
        group2InfoResponse = dataResponse.group2Info
        group2InfoResponse.groupName = guild2Info.get('groupName', u'')
        group2InfoResponse.groupCount = guild2Info.get('groupCount', 0)
        group2InfoResponse.icon = guild2Info.get('icon', 0)
        group2MemberListResponse = group2InfoResponse.groupMember
        for role in guild2Info.get('groupMember', []):
            roleResponse = group2MemberListResponse.add()
            roleResponse.memberId = role['memberId']
            roleResponse.memberName = role['memberName']

    return response.SerializeToString()
Example #35
0
def GetBattleInfo_4406(dynamicId, request_proto):
    """获取国战的信息
    """
    argument = GetBattleInfo4406_pb2.GetBattleInfoRequest()
    argument.ParseFromString(request_proto)
    response = GetBattleInfo4406_pb2.GetBattleInfoResponse()
    characterId = argument.id
    data = campaign.GetBattleInfo4406(dynamicId, characterId)

    response.result = data.get("result", False)
    msg = data.get("message", "")
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    response.message = msg
    if data.get("data", None):
        BattleInfos = data.get("data")
        dataResponse = response.groupBattleInfo
        dataResponse.roundCount = BattleInfos.get("roundCount")
        dataResponse.remainTime = BattleInfos.get("remainTime")
        dataResponse.jishaCount = BattleInfos.get("jishaCount")
        dataResponse.failCount = BattleInfos.get("failCount")
        dataResponse.obtainCoin = BattleInfos.get("obtainCoin")
        dataResponse.obtainSw = BattleInfos.get("obtainSw")

        battleListResponse = dataResponse.battleInfoList
        for battleInfo in BattleInfos["battleInfoList"]:
            battleResponse = battleListResponse.add()
            battleResponse.roleId1 = battleInfo.get("roleId1")
            battleResponse.roleName1 = battleInfo.get("roleName1")
            battleResponse.roleId2 = battleInfo.get("roleId2")
            battleResponse.roleName2 = battleInfo.get("roleName2")
            battleResponse.sucObCoin = battleInfo.get("sucObCoin")

        guild1Info = BattleInfos["group1Info"]
        group1InfoResponse = dataResponse.group1Info
        group1InfoResponse.groupName = guild1Info.get("groupName", u"")
        group1InfoResponse.groupCount = guild1Info.get("groupCount", 0)
        group1InfoResponse.icon = guild1Info.get("icon", 0)
        group1MemberListResponse = group1InfoResponse.groupMember
        for role in guild1Info.get("groupMember", []):
            roleResponse = group1MemberListResponse.add()
            roleResponse.memberId = role["memberId"]
            roleResponse.memberName = role["memberName"]

        guild2Info = BattleInfos["group2Info"]
        group2InfoResponse = dataResponse.group2Info
        group2InfoResponse.groupName = guild2Info.get("groupName", u"")
        group2InfoResponse.groupCount = guild2Info.get("groupCount", 0)
        group2InfoResponse.icon = guild2Info.get("icon", 0)
        group2MemberListResponse = group2InfoResponse.groupMember
        for role in guild2Info.get("groupMember", []):
            roleResponse = group2MemberListResponse.add()
            roleResponse.memberId = role["memberId"]
            roleResponse.memberName = role["memberName"]

    return response.SerializeToString()
Example #36
0
def QueRenExchange(dynamicId, characterId, fateId):
    '''积分兑换星运'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    result = player.fate.ExchangeFate(fateId)
    msg = result.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #37
0
def AddJingJiCount3703(dynamicId,characterId):
    '''添加竞技次数'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    result = player.arena.AddSurplustimes()
    msg = result.get('message',u'')
    if msg:
        pushOtherMessage(905, result.get('message',u''), [dynamicId])
    return result
Example #38
0
def WeiChiAndTiHuan(dynamicId, characterId, petId, ttype):
    """维持或者替换成长"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    result = player.pet.Tihuan(petId, ttype)
    msg = result.get("message", "")
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #39
0
def TrainingPet(dynamicId, characterId, petId, trainingType):
    """宠物培养"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    result = player.pet.Training(petId, trainingType)
    msg = result.get("message", "")
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #40
0
def ZhaoHuan(dynamicId, characterId, petId):
    """宠物召唤"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    result = player.pet.ZhaoHuan(petId)
    msg = result.get("message", 0)
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #41
0
def updateQuestTraceStatu(dynamicId, characterId, taskID, traceStatu):
    '''更新任务追踪状态'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    data = player.quest.updateQuestTraceStatu(taskID, traceStatu)
    if data.get('result', False) and traceStatu == 1:
        msg = u'该任务已添加至追踪列表'
        pushOtherMessage(905, msg, [dynamicId])
    return data
Example #42
0
def ResurPet(dynamicId, characterId, petId):
    """复活宠物"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    result = player.pet.ResurPet(petId)
    msg = result.get("message", "")
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #43
0
def SettingMatrix(dynamicId, characterId, matrixID, petId, operationType, fromPos, toPos):
    """阵法设置"""
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    result = player.matrix.updateMatrix(petId, operationType, fromPos, toPos)
    if not result.get("result"):
        msg = result.get("message", "")
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #44
0
def updateQuestTraceStatu(dynamicId,characterId,taskID,traceStatu):
    '''更新任务追踪状态'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    data = player.quest.updateQuestTraceStatu(taskID,traceStatu)
    if data.get('result',False) and traceStatu==1:
        msg = u'该任务已添加至追踪列表'
        pushOtherMessage(905,msg,[dynamicId])
    return data
Example #45
0
def WeiChiAndTiHuan(dynamicId, characterId, petId, ttype):
    '''维持或者替换成长'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.pet.Tihuan(petId, ttype)
    msg = result.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #46
0
def ZhaoHuan(dynamicId, characterId, petId):
    '''宠物召唤'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.pet.ZhaoHuan(petId)
    msg = result.get('message', 0)
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #47
0
def TrainingPet(dynamicId, characterId, petId, trainingType):
    '''宠物培养'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.pet.Training(petId, trainingType)
    msg = result.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #48
0
def ResurPet(dynamicId, characterId, petId):
    '''复活宠物'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.pet.ResurPet(petId)
    msg = result.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #49
0
def TaskNpcSubTask(dynamicId, characterId, task_id, npc_id):
    '''提交任务'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False}
    data = player.quest.commitQuest(task_id, npc_id)
    data['task_id'] = task_id
    msg = data.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return data
Example #50
0
def JingJiCleanCD_2705(dynamicId,characterId):
    '''清除竞技场CD
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    result = player.arena.clearCD()
    msg = result.get('message',u'')
    if msg:
        pushOtherMessage(905, result.get('message',u''), [dynamicId])
    return result
Example #51
0
def updateSpirit(pid, contxt):
    """修改角色心情
    @param pid: int 角色id
    @param context: str 心情
    """
    player = PlayersManager().getPlayerByID(pid)
    if player.baseInfo.updateSpirit(contxt):
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(175), [player.getDynamicId()])
    else:
        pushObjectNetInterface.pushOtherMessage(905, Lg().g(176), [player.getDynamicId()])
    return {"result": True, "message": u""}
Example #52
0
def PetChuanCheng(dynamicId, characterId, petFrom, petTo):
    '''宠物传承
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    data = player.pet.TransferExp(petFrom, petTo)
    msg = data.get('message', 0)
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return data
Example #53
0
def SettingMatrix(dynamicId, characterId, matrixID, petId, operationType,
                  fromPos, toPos):
    '''阵法设置'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    result = player.matrix.updateMatrix(petId, operationType, fromPos, toPos)
    if not result.get('result'):
        msg = result.get('message', '')
        pushOtherMessage(905, msg, [dynamicId])
    return result
Example #54
0
def TaskNpcSubTask(dynamicId,characterId,task_id,npc_id):
    '''提交任务'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result':False}
    data = player.quest.commitQuest(task_id,npc_id)
    data['task_id'] = task_id
    msg = data.get('message','')
    if msg:
        pushOtherMessage(905,msg,[dynamicId])
    return data
Example #55
0
def GMInfo4000(dynamicId, characterId, gmmsg):
    '''gm消息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    characterName = player.baseInfo.getName()
    dbBeginner.insertGMmsg(characterName, gmmsg)
    msg = Lg().g(26)
    pushOtherMessage(905, msg, [dynamicId])
    return {'result': True}
Example #56
0
def PetChuanCheng(dynamicId, characterId, petFrom, petTo):
    """宠物传承
    """
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {"result": False, "message": Lg().g(18)}
    data = player.pet.TransferExp(petFrom, petTo)
    msg = data.get("message", 0)
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return data
Example #57
0
def MoveXingYun(dynamicId, characterId, opear, opeType, frompos, topos):
    '''移动星运
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': Lg().g(18)}
    data = player.fate.MoveFate(opeType, opear, frompos, topos)
    msg = data.get('message', '')
    if msg:
        pushOtherMessage(905, msg, [dynamicId])
    return data