コード例 #1
0
ファイル: entrance.py プロジェクト: 9miao/firefly_fengyan_OL
def leaveScene_610(dynamicId,characterId):
    '''离开场景'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return None,0
    player.stopAllTimer()
    playerDumps = cPickle.dumps(player)
    player.startAllTimer()
    placeId = player.baseInfo.getTown()
    return playerDumps,placeId
コード例 #2
0
def enterInstance1(player,dynamicId,characterId,instanceId,famId):
    '''进入副本 
    @param dynamicId: int  角色动态Id
    @param characterId: int 角色Id
    @param instanceId: int 副本Id
    '''

    player=PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    if player.baseInfo.getState==1: #角色在副本中
        return  {'result':False,'message':Lg().g(114)}
    player.startAllTimer()
    Instan1= InstanceManager().addInstance(instanceId,famId) #把副本添加到副本管理器中,返回副本管理器中的这个副本实例
    scenename = Instan1._name
    chatnoderemote.callRemote('JoinRoom',characterId,famId,scenename)
#    Instan1.setTag(famId)
    if not Instan1:
        return {'result':False,'message':u'没有id为%d的副本'%instanceId}
    activationInstance(Instan1, player) #激活副本
    enterplay(player,instanceId,Instan1) #角色进入副本操作
    data = {'placeId':Instan1.getSceneResourceidByid(Instan1._inSceneid)}
    player.baseInfo.setInstanceid(instanceId)
    return {'result':True,'message':u'进入副本成功','data':data} #返回副本初始Id