コード例 #1
0
def enterGuildBattleField(dynamicId,characterId):
    '''进入行会战副本
    @param dynamicId: int 客户端的动态id
    @param characterId: int 角色的id
    '''
    res = CanDoServer(characterId)
    if not res['result']:
        return res        
    player = PlayersManager().getPlayerByID(characterId)
    if  not player.CheckClient(dynamicId):
        return {'result':False,'message':Lg().g(18)}
    if not player.status.getLifeStatus():
        return {'result':False,'message':Lg().g(97)}
    if player.baseInfo.getState()==1:
        return {'result':False,'message':Lg().g(98)}
    guildId = player.guild.getID()
    if not guildId:
        return {'result':False,'message':Lg().g(79)}
    battleArea = BattleAreaManager().getGuildBattleAreaIdByGuildId(guildId)
    if not battleArea:
        return {'result':False,'message':Lg().g(99)}
    nowSceneId = battleArea.enterGuildBattleField(guildId,characterId)
    if not nowSceneId:
        return {'result':False,'message':Lg().g(100)}
    lastscene = SceneManager_new().getSceneById(player.baseInfo.getLocation())
    lastscene.dropPlayer(player.baseInfo.id)
    player.baseInfo.setState(2)
    data = {'placeId':nowSceneId}
    return {'result':True,'data':data}
    

    
    
        
        
コード例 #2
0
ファイル: gmCommand.py プロジェクト: 9miao/firefly_fengyan_OL
def cleanMonsters(characterId,argument):
    '''清除场景中的怪物'''
    try:
        player = PlayersManager().getPlayerByID(characterId)
        sceneId = player.baseInfo.getLocation()
        nowScene = SceneManager_new().getSceneById(sceneId)
        nowScene.cleanMonster()
    except Exception:
        return
コード例 #3
0
ファイル: gmCommand.py プロジェクト: JaydenGui/crossapp-demo
def cleanMonsters(characterId, argument):
    '''清除场景中的怪物'''
    try:
        player = PlayersManager().getPlayerByID(characterId)
        sceneId = player.baseInfo.getLocation()
        nowScene = SceneManager_new().getSceneById(sceneId)
        nowScene.cleanMonster()
    except Exception:
        return
コード例 #4
0
ファイル: playerInfo.py プロジェクト: joyfish/crossapp-demo
def _pushSceneInfo(dynamicId, characterId):
    """推送场景信息"""
    player = PlayersManager().getPlayerByID(characterId)
    if player.baseInfo.getState() == 1:  # 如果角色在副本
        #        id=player.baseInfo.getInstanceid() #副本模板Id
        dtid = player.baseInfo.getInstancetag()  # 副本动态Id
        instance = InstanceManager().getInstanceByIdTag(dtid)  # 获取副本实例
        sceneId = player.baseInfo.getLocation()
        oldscene = instance._Scenes[sceneId]  # 获取场景实例
    else:
        sceneId = player.baseInfo.getTown()
        oldscene = SceneManager_new().getSceneById(sceneId)
    if oldscene:
        oldscene.pushEnterPlace([dynamicId])
コード例 #5
0
def _pushSceneInfo(dynamicId, characterId):
    '''推送场景信息'''
    player = PlayersManager().getPlayerByID(characterId)
    if player.baseInfo.getState() == 1:  #如果角色在副本
        #        id=player.baseInfo.getInstanceid() #副本模板Id
        dtid = player.baseInfo.getInstancetag()  #副本动态Id
        instance = InstanceManager().getInstanceByIdTag(dtid)  #获取副本实例
        sceneId = player.baseInfo.getLocation()
        oldscene = instance._Scenes[sceneId]  #获取场景实例
    else:
        sceneId = player.baseInfo.getTown()
        oldscene = SceneManager_new().getSceneById(sceneId)
    if oldscene:
        oldscene.pushEnterPlace([dynamicId])
コード例 #6
0
ファイル: gmCommand.py プロジェクト: 9miao/firefly_fengyan_OL
def addMonster(characterId,argument):
    '''在场景中添加一个怪物'''
    try:
        templateId = 0
        if len(argument):
            templateId = int(argument[0])
        player = PlayersManager().getPlayerByID(characterId)
        sceneId = player.baseInfo.getLocation()
        nowScene = SceneManager_new().getSceneById(sceneId)
        if len(argument)==3:
            nowScene.produceMonster(templateId,\
                            positionX=int(argument[1]),positionY = int(argument[2]))
        else:
            nowScene.produceMonster(templateId)
    except Exception:
        return
コード例 #7
0
ファイル: gmCommand.py プロジェクト: JaydenGui/crossapp-demo
def initMemory(characterId, argument):
    ''''刷新从数据库读取的数据'''
    from app.scense.serverconfig.confighandle import initDBData
    from app.scense.core.instance.InstanceManager import InstanceManager
    from app.scense.core.shop.shopmanager import ShopManager
    SceneManager_new().__init__()
    InstanceManager().__init__()
    ShopManager().__init__()
    Mall().__init__()
    initDBData()
    log.msg(u"刷新从数据库读取的数据")
コード例 #8
0
def playerBackRevive(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)}
    if player.status.getLifeStatus():
        return {'result':False,'message':Lg().g(185)}
#    player.baseInfo.setState(0)
#    data = enterPlace(dynamicId,characterId,1000)
#    if not data.get('result',False):
#        return data
    state = player.baseInfo.getState()
    if state==0:
        lastscene = SceneManager_new().getSceneById(player.baseInfo.getLocation())
        lastscene.dropPlayer(player.baseInfo.id)
    else:
#        id=player.baseInfo.getInstanceid() #副本id
        tag=player.baseInfo.getInstancetag() #副本动态Id
        instance=InstanceManager().getInstanceByIdTag(tag) #获取副本实例
        old=instance._Scenes[player.baseInfo.getLocation()] #获取当前角色所在副本中的场景
        old.dropPlayer(player.baseInfo.id) #从当前场景中移除角色
    
    gotoSence = SceneManager_new().getSceneById(1000)
    if not gotoSence:
        scene = PublicScene(1000)
        SceneManager_new().addScene(scene)
#    else:
#        areaid = gotoSence.getAreaid()
    gotoSence.addPlayer(player)
#    player.baseInfo.setAreaid(areaid)
    player.baseInfo.setPosition(gotoSence.baseInfo.getInitiaPosition())
    player.baseInfo.setLocation(1000)
    player.baseInfo.setState(0)
    player.status.updateLifeStatus(1)
    player.attribute.updateHp(int(player.attribute.getMaxHp()*0.01)+1)
    player.attribute.updateMp(int(player.attribute.getMaxMp()*0.01)+1)
    
    pushEnterPlace(1000,dynamicId)
    player.teamcom.pushTeamMemberInfo()
    return {'result':True,'message':Lg().g(186)}
コード例 #9
0
ファイル: gmCommand.py プロジェクト: JaydenGui/crossapp-demo
def addMonster(characterId, argument):
    '''在场景中添加一个怪物'''
    try:
        templateId = 0
        if len(argument):
            templateId = int(argument[0])
        player = PlayersManager().getPlayerByID(characterId)
        sceneId = player.baseInfo.getLocation()
        nowScene = SceneManager_new().getSceneById(sceneId)
        if len(argument) == 3:
            nowScene.produceMonster(templateId,\
                            positionX=int(argument[1]),positionY = int(argument[2]))
        else:
            nowScene.produceMonster(templateId)
    except Exception:
        return