Esempio n. 1
0
    def initInstance(self):
        '''初始化副本
        @param id: int 副本Id
        '''
        info = self.templateInfo
        if not info:
            pass
        self.islq = True
        self._name = info['name']
        self._typeid = info['typeid']  #副本类型
        self._hard = info['hard']  #副本难度  1普通 2精英  3英雄
        self._sceneid = eval("[" + info['sceneid'] + "]")  #副本你所有场景Id
        self._starttime = info['startime']  #副本开始时间
        self._endtime = info['endtime']  #副本结束时间
        self._uplevle = info['uplevle']  #角色等级上限
        self._downlevle = info['downlevle']  #角色等级下限
        self._props = eval("[" + info['props'] + "]")  #开启副本所需要的道具Id列表
        self._astrictguild = info[
            'astrictguild']  #此副本只允许该行会成员进入  1只允许同行会的在一个副本
        self._pknum = info['pknum']  #pk值限制 -1无限制
        self._energy = info['energy']  #进入副本所需要的活力值
        self._teamState = info['teamState']  #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax = info['teammax']  #组队最大人数限制
        self._teammin = info['teammin']  #组队最小人数限制
        self._carry = info['carry']  #表示该副本允许玩家使用传送技能或道具进入 -1则不能

        self._achieveprop = eval("[" + info['achieveprop'] +
                                 "]")  #通过副本后获得的道具列表
        self._teamastrict = info['teamastrict']  #进入该副本后能否组队
        self._noprop = eval("[" + info['noprop'] + "]")  #副本内禁用道具列表
        self._backCity = info['backCity']  #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal = info['annal']  #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain = info['bargain']  #允许玩家在该副本进行交易  -1则不能
        self._duel = info['duel']  #允许角色之间进行战斗   -1则不允许
        self._autoWay = info['autoway']  #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid = info['insceneid']  #角色进入副本后所在的场景id
        self._inSoruceid = self.getSceneSourceid(
            self._inSceneid)  #角色进入副本后所在的场景资源id
        self._outSceneid = info['outsceneid']  #角色退出副本后所在的Id
        #        self._outSourceid=self.getSceneSourceid(self._outSceneid) #角色退出副本后所在的场景资源id
        self._numbers = info['numbers']  #副本建议人数
        self._dropoutid = info['dropoutid']  #副本掉落表主键id
        self.activation = InstanceActivation(info['activateid'])  #激活副本的条件
        self.colonize = InstanceColonize(self._id)  #副本殖民
        self.instanceClose = InstanceClose(info['closeid'])  #触发副本关闭流程的条件
        self._lastSceneid = 0  #副本中最后一个场景的id
        self.cards = SceneCardComponent(self)
        self.cards.initCards(self._id, self._dropoutid, CARD_NUM)
        self.initScene()  #初始化副本内所有场景
Esempio n. 2
0
    def initInstance(self):
        '''初始化副本
        @param id: int 副本Id
        '''
        info=self.templateInfo
        if not info:
            pass
        self.islq=True
        self._name=info['name']
        self._typeid=info['typeid']   #副本类型
        self._hard=info['hard']   #副本难度  1普通 2精英  3英雄
        self._sceneid=eval("["+info['sceneid']+"]") #副本你所有场景Id
        self._starttime=info['startime']  #副本开始时间
        self._endtime=info['endtime']    #副本结束时间
        self._uplevle=info['uplevle']    #角色等级上限
        self._downlevle=info['downlevle']   #角色等级下限
        self._props=eval("["+info['props']+"]")      #开启副本所需要的道具Id列表
        self._astrictguild=info['astrictguild'] #此副本只允许该行会成员进入  1只允许同行会的在一个副本
        self._pknum=info['pknum']        #pk值限制 -1无限制
        self._energy=info['energy']       #进入副本所需要的活力值
        self._teamState=info['teamState']    #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax=info['teammax']      #组队最大人数限制
        self._teammin=info['teammin']       #组队最小人数限制
        self._carry=info['carry']         #表示该副本允许玩家使用传送技能或道具进入 -1则不能
        
        self._achieveprop=eval("["+info['achieveprop']+"]")  #通过副本后获得的道具列表
        self._teamastrict=info['teamastrict']  #进入该副本后能否组队
        self._noprop=eval("["+info['noprop']+"]")       #副本内禁用道具列表
        self._backCity=info['backCity']      #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal=info['annal']        #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain=info['bargain']       #允许玩家在该副本进行交易  -1则不能
        self._duel=info['duel']         #允许角色之间进行战斗   -1则不允许
        self._autoWay=info['autoway']       #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid=info['insceneid']    #角色进入副本后所在的场景id
        self._inSoruceid=self.getSceneSourceid(self._inSceneid) #角色进入副本后所在的场景资源id
        self._outSceneid=info['outsceneid']    #角色退出副本后所在的Id
#        self._outSourceid=self.getSceneSourceid(self._outSceneid) #角色退出副本后所在的场景资源id
        self._numbers = info['numbers'] #副本建议人数
        self._dropoutid=info['dropoutid'] #副本掉落表主键id
        self.activation=InstanceActivation(info['activateid']) #激活副本的条件
        self.colonize=InstanceColonize(self._id) #副本殖民
        self.instanceClose=InstanceClose(info['closeid']) #触发副本关闭流程的条件
        self._lastSceneid=0 #副本中最后一个场景的id
        self.cards = SceneCardComponent(self)
        self.cards.initCards(self._id, self._dropoutid, CARD_NUM)
        self.initScene() #初始化副本内所有场景
Esempio n. 3
0
class Instance():
    '''
    副本类
    '''
    def __init__(self, id):
        self._tag = 1001  #副本动态Id
        self._id = id  #副本Id
        self._name = ""  #副本名称
        self._typeid = 1  #副本类型
        self._hard = 1  #副本难度  1普通 2精英  3英雄

        self._Scenes = {}  #存储副本所有场景
        self._sceneid = []  #场景Id

        self._starttime = "0:00:00"  #副本开始时间
        self._endtime = "0:00:00"  #副本结束时间
        self._uplevle = 100  #角色等级上限
        self._downlevle = 1  #角色等级下限
        self._props = []  #开启副本所需要的道具Id
        self._astrictguild = -1  #此副本只允许该行会成员进入 1只允许同行会的在一个副本
        self._pknum = -1  #pk值限制 -1无限制
        self._energy = -1  #进入副本所需要的活力值
        self._teamState = -1  #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax = 10  #组队最大人数限制
        self._teammin = 1  #组队最小人数限制
        self._carry = 0  #表示该副本允许玩家使用传送技能或道具进入 -1则不能
        self._achieveprop = []  #通过副本后获得的道具列表
        self._teamastrict = -1  #进入该副本后能否组队
        self._noprop = []  #副本内禁用道具列表
        self._backCity = 0  #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal = 0  #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain = 0  #允许玩家在该副本进行交易  -1则不能
        self._duel = 0  #允许角色之间进行战斗   -1则不允许
        self._autoWay = 0  #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid = 2000  #角色进入副本后所在的场景id
        self._outSceneid = 1001  #角色退出副本后所在的Id
        self._areasceneid = -1  #副本所在的区域场景id
        self._dropoutid = -1  #副本掉落表主键id
        self.instanceClose = None  #触发副本关闭流程的条件
        self.activation = None  #副本的激活条件实例
        self.colonize = None  #副本殖民
        self._numbers = 1  #副本建议人数
        self.cards = None  #SceneCardComponent(self)                   #卡片信息
        self.islq = True  #是否可以领取奖励(斗气)
        self.initInstance()

    @property
    def templateInfo(self):
        from app.scense.applyInterface import instance_app
        return instance_app.allInfo.get(self._id)

    def initInstance(self):
        '''初始化副本
        @param id: int 副本Id
        '''
        info = self.templateInfo
        if not info:
            pass
        self.islq = True
        self._name = info['name']
        self._typeid = info['typeid']  #副本类型
        self._hard = info['hard']  #副本难度  1普通 2精英  3英雄
        self._sceneid = eval("[" + info['sceneid'] + "]")  #副本你所有场景Id
        self._starttime = info['startime']  #副本开始时间
        self._endtime = info['endtime']  #副本结束时间
        self._uplevle = info['uplevle']  #角色等级上限
        self._downlevle = info['downlevle']  #角色等级下限
        self._props = eval("[" + info['props'] + "]")  #开启副本所需要的道具Id列表
        self._astrictguild = info[
            'astrictguild']  #此副本只允许该行会成员进入  1只允许同行会的在一个副本
        self._pknum = info['pknum']  #pk值限制 -1无限制
        self._energy = info['energy']  #进入副本所需要的活力值
        self._teamState = info['teamState']  #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax = info['teammax']  #组队最大人数限制
        self._teammin = info['teammin']  #组队最小人数限制
        self._carry = info['carry']  #表示该副本允许玩家使用传送技能或道具进入 -1则不能

        self._achieveprop = eval("[" + info['achieveprop'] +
                                 "]")  #通过副本后获得的道具列表
        self._teamastrict = info['teamastrict']  #进入该副本后能否组队
        self._noprop = eval("[" + info['noprop'] + "]")  #副本内禁用道具列表
        self._backCity = info['backCity']  #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal = info['annal']  #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain = info['bargain']  #允许玩家在该副本进行交易  -1则不能
        self._duel = info['duel']  #允许角色之间进行战斗   -1则不允许
        self._autoWay = info['autoway']  #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid = info['insceneid']  #角色进入副本后所在的场景id
        self._inSoruceid = self.getSceneSourceid(
            self._inSceneid)  #角色进入副本后所在的场景资源id
        self._outSceneid = info['outsceneid']  #角色退出副本后所在的Id
        #        self._outSourceid=self.getSceneSourceid(self._outSceneid) #角色退出副本后所在的场景资源id
        self._numbers = info['numbers']  #副本建议人数
        self._dropoutid = info['dropoutid']  #副本掉落表主键id
        self.activation = InstanceActivation(info['activateid'])  #激活副本的条件
        self.colonize = InstanceColonize(self._id)  #副本殖民
        self.instanceClose = InstanceClose(info['closeid'])  #触发副本关闭流程的条件
        self._lastSceneid = 0  #副本中最后一个场景的id
        self.cards = SceneCardComponent(self)
        self.cards.initCards(self._id, self._dropoutid, CARD_NUM)
        self.initScene()  #初始化副本内所有场景

        #print "初始化副"+self._name+"本完成"

    def initScene(self):
        '''初始化场景'''
        self._lastSceneid = self._sceneid[len(self._sceneid) - 1]  #最后一个场景的id
        groupid = InstanceGroupManage().getFristInstanceBy(self._id)
        #        #print str(self._name)+"副本最后一个场景id: "+str(endid)
        for l in self._sceneid:
            ss = InstanceScene(l, group=groupid)
            if l == self._lastSceneid:
                self._Scenes[ss._id] = ss  #场景 self._Scenes[场景id]=场景实例
                self._Scenes[ss._id]._isend = True  #是否是副本中的最后一个场景
            else:
                self._Scenes[ss._id] = ss
#        print ""

    def getOutSceneid(self):
        return self._outSceneid

    def getSceneSourceid(self, id):
        '''根据场景id获取场景资源id'''
        resourceid = dbScene.getStringInSceneByFilename(
            "id", id, "resourceid")["resourceid"]
        return resourceid

    def setOutSceneid(self, id):
        self._outSceneid = id

    def getId(self):
        return self._id

    def setId(self, id):
        self._id = id

    def getTag(self):
        return self._tag

    def setTag(self, id):
        self._tag = id

    def getScene(self, id):
        '''根据场景Id获取场景实例'''
        if self._Scenes[id]:
            return self._Scenes[id]
        return None

    def getSceneResourceidByid(self, id):
        '''根据场景id获取场景资源id(只适用于副本中的场景实例)'''
        if self._Scenes[id]:
            return self._Scenes[id]._resourceid
        return -1

    def Instanceenterplay(self, player, sceneid):
        '''
        @param player: object 角色对象
        @param sceneid: int 目标场景Id
        '''
        target = self._Scenes[sceneid]  #目标场景
        oldsceneid = player.baseInfo.getTown()  #获取角色的场景
        old = self._Scenes[oldsceneid]  #当前场景实例
        old.dropPlayer(player.baseInfo.id)  #在当前场景中移除角色
        target.addPlayer(player)  #在目标场景中加入角色
        player.baseInfo.setLocation(sceneid)  #设置角色当前场景
        player.quest.setNpcList(target._npcids)
        player.baseInfo.setPosition(
            target.baseInfo.getInitiaPosition())  #设置角色在场景中的初始化位置
        pushObjectNetInterface.pushEnterPlace(target.baseInfo.id,
                                              player.getDynamicId())  #推送副本消息

    def skipScene(self, characterid, sceneid):
        '''副本内跳转场景
        @param characterid: int 角色Id
        @param sceneid: int 场景Id
        '''
        player = PlayersManager().getPlayerByID(characterid)  #获取角色
        if not player:
            return {'result': False, 'message': Lg().g(199)}
        scene1 = self._Scenes.get(player.baseInfo.getLocation())  #获取角色当前所在场景实例
        data = None
        if len(scene1._monsters) > 0:  #如果副本中的怪物没有清空
            if self._Scenes[sceneid]._bossInSceneId != -1:
                data = {
                    'placeId': self._Scenes[sceneid]._resourceid,
                    'isboos': True,
                    'copySceneId': self._id,
                    'sceneType': 2
                }
            else:
                data = {
                    'placeId': self._Scenes[sceneid]._resourceid,
                    'isboos': False,
                    'copySceneId': self._id,
                    'sceneType': 2
                }
            return {'result': False, 'message': Lg().g(559), 'data': data}

        #start角色有队伍境况下组队进入副本
        if player.teamcom.amisteam():  #如果角色有队伍
            members = player.teamcom.getMyTeamMember()  #获取队伍成员列表
            if members:
                if len(members) > 1:
                    for py1 in members:  #遍历所有队员
                        self.Instanceenterplay(py1, sceneid)  #角色进入副本操作
        #end  角色有队伍境况下组队进入副本
        else:  #如果角色没有队伍
            self.Instanceenterplay(player, sceneid)  #角色进入副本操作
        if self._Scenes[sceneid]._bossInSceneId != -1:
            data = {
                'placeId': self._Scenes[sceneid]._resourceid,
                'isboos': True,
                'copySceneId': self._id,
                'sceneType': 2
            }
        else:
            data = {
                'placeId': self._Scenes[sceneid]._resourceid,
                'isboos': False,
                'copySceneId': self._id,
                'sceneType': 2
            }

        return {'result': True, 'message': u'副本内跳转场景', 'data': data}

    def pushInstanceInfo(self):
        '''推送场景里面的所有场景'''

        for item in self._Scenes.values():
            item.pushSceneInfo()

    def ishavingplayer(self):
        '''判断该副本内是否还有角色'''
        playernum = 0
        for item in self._Scenes.values():
            for it in item._players.values():
                if it:
                    playernum += 1
        if playernum > 0:
            return True
        return False
Esempio n. 4
0
class Instance():
    '''
    副本类
    '''
    def __init__(self,id):
        self._tag=1001 #副本动态Id
        self._id=id    #副本Id
        self._name=""    #副本名称
        self._typeid=1   #副本类型
        self._hard=1   #副本难度  1普通 2精英  3英雄
        
        self._Scenes={}  #存储副本所有场景
        self._sceneid=[]   #场景Id
        
        self._starttime="0:00:00"  #副本开始时间
        self._endtime="0:00:00"    #副本结束时间
        self._uplevle=100    #角色等级上限
        self._downlevle=1   #角色等级下限
        self._props=[]      #开启副本所需要的道具Id
        self._astrictguild=-1 #此副本只允许该行会成员进入 1只允许同行会的在一个副本
        self._pknum=-1        #pk值限制 -1无限制
        self._energy=-1       #进入副本所需要的活力值
        self._teamState=-1    #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax=10      #组队最大人数限制
        self._teammin=1       #组队最小人数限制
        self._carry=0         #表示该副本允许玩家使用传送技能或道具进入 -1则不能        
        self._achieveprop=[]  #通过副本后获得的道具列表
        self._teamastrict=-1  #进入该副本后能否组队
        self._noprop=[]       #副本内禁用道具列表
        self._backCity=0      #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal=0         #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain=0       #允许玩家在该副本进行交易  -1则不能
        self._duel=0          #允许角色之间进行战斗   -1则不允许
        self._autoWay=0       #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid=2000     #角色进入副本后所在的场景id
        self._outSceneid=1001    #角色退出副本后所在的Id
        self._areasceneid=-1      #副本所在的区域场景id
        self._dropoutid=-1      #副本掉落表主键id
        self.instanceClose=None #触发副本关闭流程的条件
        self.activation=None #副本的激活条件实例 
        self.colonize=None #副本殖民
        self._numbers=1 #副本建议人数
        self.cards = None#SceneCardComponent(self)                   #卡片信息
        self.islq=True#是否可以领取奖励(斗气)
        self.initInstance()

             
    @property
    def templateInfo(self):
        from app.scense.applyInterface import instance_app
        return instance_app.allInfo.get(self._id)
    
    def initInstance(self):
        '''初始化副本
        @param id: int 副本Id
        '''
        info=self.templateInfo
        if not info:
            pass
        self.islq=True
        self._name=info['name']
        self._typeid=info['typeid']   #副本类型
        self._hard=info['hard']   #副本难度  1普通 2精英  3英雄
        self._sceneid=eval("["+info['sceneid']+"]") #副本你所有场景Id
        self._starttime=info['startime']  #副本开始时间
        self._endtime=info['endtime']    #副本结束时间
        self._uplevle=info['uplevle']    #角色等级上限
        self._downlevle=info['downlevle']   #角色等级下限
        self._props=eval("["+info['props']+"]")      #开启副本所需要的道具Id列表
        self._astrictguild=info['astrictguild'] #此副本只允许该行会成员进入  1只允许同行会的在一个副本
        self._pknum=info['pknum']        #pk值限制 -1无限制
        self._energy=info['energy']       #进入副本所需要的活力值
        self._teamState=info['teamState']    #组队限制 -1无限制   2组队才能进入  3非组队方可进入
        self._teammax=info['teammax']      #组队最大人数限制
        self._teammin=info['teammin']       #组队最小人数限制
        self._carry=info['carry']         #表示该副本允许玩家使用传送技能或道具进入 -1则不能
        
        self._achieveprop=eval("["+info['achieveprop']+"]")  #通过副本后获得的道具列表
        self._teamastrict=info['teamastrict']  #进入该副本后能否组队
        self._noprop=eval("["+info['noprop']+"]")       #副本内禁用道具列表
        self._backCity=info['backCity']      #表示可以使用道具技能回城 -1 表示不能使用道具技能回城
        self._annal=info['annal']        #表示可以使用路点记录道具记录副本和坐标  -1不能记录副本及其坐标
        self._bargain=info['bargain']       #允许玩家在该副本进行交易  -1则不能
        self._duel=info['duel']         #允许角色之间进行战斗   -1则不允许
        self._autoWay=info['autoway']       #该副本内允许自动寻路  -1不允许自动寻路
        self._inSceneid=info['insceneid']    #角色进入副本后所在的场景id
        self._inSoruceid=self.getSceneSourceid(self._inSceneid) #角色进入副本后所在的场景资源id
        self._outSceneid=info['outsceneid']    #角色退出副本后所在的Id
#        self._outSourceid=self.getSceneSourceid(self._outSceneid) #角色退出副本后所在的场景资源id
        self._numbers = info['numbers'] #副本建议人数
        self._dropoutid=info['dropoutid'] #副本掉落表主键id
        self.activation=InstanceActivation(info['activateid']) #激活副本的条件
        self.colonize=InstanceColonize(self._id) #副本殖民
        self.instanceClose=InstanceClose(info['closeid']) #触发副本关闭流程的条件
        self._lastSceneid=0 #副本中最后一个场景的id
        self.cards = SceneCardComponent(self)
        self.cards.initCards(self._id, self._dropoutid, CARD_NUM)
        self.initScene() #初始化副本内所有场景
        
        #print "初始化副"+self._name+"本完成"
        
    def initScene(self):
        '''初始化场景'''
        self._lastSceneid=self._sceneid[len(self._sceneid)-1]#最后一个场景的id
        groupid=InstanceGroupManage().getFristInstanceBy(self._id)
#        #print str(self._name)+"副本最后一个场景id: "+str(endid)
        for l in self._sceneid:
            ss=InstanceScene(l,group=groupid)
            if l==self._lastSceneid:
                self._Scenes[ss._id]=ss #场景 self._Scenes[场景id]=场景实例
                self._Scenes[ss._id]._isend=True #是否是副本中的最后一个场景
            else:
                self._Scenes[ss._id]=ss
#        print ""

    def getOutSceneid(self):
        return self._outSceneid
    
    def getSceneSourceid(self,id):
        '''根据场景id获取场景资源id'''
        resourceid=dbScene.getStringInSceneByFilename("id", id, "resourceid")["resourceid"]
        return resourceid
    
    def setOutSceneid(self,id):
        self._outSceneid=id
    
    def getId(self):
        return self._id
    def setId(self,id):
        self._id=id
    
    def getTag(self):
        return self._tag
    def setTag(self,id):
        self._tag=id
    
    def getScene(self,id):
        '''根据场景Id获取场景实例'''
        if self._Scenes[id]:
            return self._Scenes[id]
        return None
        
    def getSceneResourceidByid(self,id):
        '''根据场景id获取场景资源id(只适用于副本中的场景实例)'''
        if self._Scenes[id]:
            return self._Scenes[id]._resourceid
        return -1
        
        
        
    def Instanceenterplay(self,player,sceneid):
        '''
        @param player: object 角色对象
        @param sceneid: int 目标场景Id
        '''
        target= self._Scenes[sceneid] #目标场景
        oldsceneid= player.baseInfo.getTown() #获取角色的场景
        old= self._Scenes[oldsceneid] #当前场景实例
        old.dropPlayer(player.baseInfo.id) #在当前场景中移除角色
        target.addPlayer(player) #在目标场景中加入角色
        player.baseInfo.setLocation(sceneid) #设置角色当前场景
        player.quest.setNpcList(target._npcids)
        player.baseInfo.setPosition(target.baseInfo.getInitiaPosition()) #设置角色在场景中的初始化位置
        pushObjectNetInterface.pushEnterPlace(target.baseInfo.id,player.getDynamicId()) #推送副本消息
        
    def skipScene(self,characterid,sceneid):            
        '''副本内跳转场景
        @param characterid: int 角色Id
        @param sceneid: int 场景Id
        '''
        player= PlayersManager().getPlayerByID(characterid)#获取角色
        if not player:
            return {'result':False,'message':Lg().g(199)}
        scene1=self._Scenes.get(player.baseInfo.getLocation())#获取角色当前所在场景实例
        data=None
        if len(scene1._monsters)>0: #如果副本中的怪物没有清空
            if self._Scenes[sceneid]._bossInSceneId!=-1:
                data={'placeId':self._Scenes[sceneid]._resourceid,'isboos':True,'copySceneId':self._id,'sceneType':2}
            else:
                data = {'placeId':self._Scenes[sceneid]._resourceid,'isboos':False,'copySceneId':self._id,'sceneType':2}
            return {'result':False,'message':Lg().g(559),'data':data}
            
        #start角色有队伍境况下组队进入副本
        if player.teamcom.amisteam(): #如果角色有队伍
            members=player.teamcom.getMyTeamMember() #获取队伍成员列表 
            if members:
                if len(members)>1:
                    for py1 in members: #遍历所有队员
                            self.Instanceenterplay(py1,sceneid) #角色进入副本操作
        #end  角色有队伍境况下组队进入副本 
        else:#如果角色没有队伍
            self.Instanceenterplay(player,sceneid) #角色进入副本操作
        if self._Scenes[sceneid]._bossInSceneId!=-1:
            data={'placeId':self._Scenes[sceneid]._resourceid,'isboos':True,'copySceneId':self._id,'sceneType':2}
        else:
            data = {'placeId':self._Scenes[sceneid]._resourceid,'isboos':False,'copySceneId':self._id,'sceneType':2}
        
        return {'result':True,'message':u'副本内跳转场景','data':data}
            
    def pushInstanceInfo(self):
        '''推送场景里面的所有场景'''
        
        for item in self._Scenes.values():
            item.pushSceneInfo()
            
    def ishavingplayer(self):
        '''判断该副本内是否还有角色'''
        playernum=0
        for item in self._Scenes.values():
            for it in item._players.values():
                if it:
                    playernum+=1
        if playernum>0:
            return True
        return False