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
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