Exemple #1
0
def GetRoomInfo(dynamicId,characterId):
    '''获取房间信息'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.getRoomInfo()
    return {'result':True,'data':data}
Exemple #2
0
def GetRoomInfo(dynamicId, characterId):
    '''获取房间信息'''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.getRoomInfo()
    return {'result': True, 'data': data}
Exemple #3
0
def JoinGroup(dynamicId,characterId,groupId,password):
    '''加入房间
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    if player.baseInfo.getQueueRoom():
        return {'result':False,'message':Lg().g(102)}
    areahall = Hall().getAreaHallById(1)
    queueroom = areahall.getQueueRoomById(groupId)
    result = queueroom.addmember(characterId,password)
    if result['result']:
        areahall.dropPlayer(characterId)
        player.baseInfo.setQueueRoom(groupId)
    return result
Exemple #4
0
def JoinGroup(dynamicId, characterId, groupId, password):
    '''加入房间
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    if player.baseInfo.getQueueRoom():
        return {'result': False, 'message': Lg().g(102)}
    areahall = Hall().getAreaHallById(1)
    queueroom = areahall.getQueueRoomById(groupId)
    result = queueroom.addmember(characterId, password)
    if result['result']:
        areahall.dropPlayer(characterId)
        player.baseInfo.setQueueRoom(groupId)
    return result
Exemple #5
0
def CheckMatrixCanUse(dynamicId,characterId,vipMatrix):
    '''验证是否能启用阵法高级效果
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param vipMatrix: int 阵法的效果1(高级阵法)2(白金阵法)3(至尊阵法)
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.updateMatrixEffect(characterId,vipMatrix)
    return data
Exemple #6
0
def CheckMatrixCanUse(dynamicId, characterId, vipMatrix):
    '''验证是否能启用阵法高级效果
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param vipMatrix: int 阵法的效果1(高级阵法)2(白金阵法)3(至尊阵法)
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.updateMatrixEffect(characterId, vipMatrix)
    return data
Exemple #7
0
def OpeningMatrix(dynamicId,characterId,matrixId,matrixListInfo):
    '''开启阵法
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param matrixId: int 阵法的ID
    @param matrixListInfo: list[(roleID,pos)] 阵法的设置信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    room.setMatrix(characterId,matrixId,matrixListInfo)
    return {'result':True,'message':Lg().g(247)}
Exemple #8
0
def leaveHall(dynamicId, characterId):
    '''离开大厅
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    room = areahall.getQueueRoomById(roomId)
    if room:
        room.dropmember(characterId)
    else:
        areahall.dropPlayer(characterId)
    player.baseInfo.setStatus(1)
    return {'result': True}
Exemple #9
0
def OpeningMatrix(dynamicId, characterId, matrixId, matrixListInfo):
    '''开启阵法
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param matrixId: int 阵法的ID
    @param matrixListInfo: list[(roleID,pos)] 阵法的设置信息
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    room.setMatrix(characterId, matrixId, matrixListInfo)
    return {'result': True, 'message': Lg().g(247)}
Exemple #10
0
def ModifyRoomInfo(dynamicId,characterId,groupName,groupPassword,copySceneId,copyLevel):
    '''修改房间信息
    @param groupName: str 房间名称
    @param groupPassword: str 房间密码
    @param copySceneId: int 房间的副本
    @param copyLevel: int 副本等级 
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.ModifyRoomInfo(characterId,groupName,groupPassword,copySceneId,copyLevel)
    return data
Exemple #11
0
def leaveHall(dynamicId,characterId):
    '''离开大厅
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    room = areahall.getQueueRoomById(roomId)
    if room:
        room.dropmember(characterId)
    else:
        areahall.dropPlayer(characterId)
    player.baseInfo.setStatus(1)
    return {'result':True}
Exemple #12
0
def StartCopyScene(dynamicId, characterId, vipMatrix):
    '''开始房间副本
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.startCopyScene(characterId, vipMatrix)
    if data['result']:
        areahall.dropQueueRoomById(roomId)
        player.baseInfo.setStatus(1)
    return data
Exemple #13
0
def ReadyForQueueRoom(dynamicId, characterId, readyStatu):
    '''房间准备与取消
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param readyStatu: int 要更新的准备状态 0 取消准备 1准备
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    result = room.updateReadyStatu(characterId, readyStatu)
    if not result:
        return {'result': False, 'message': u''}
    return {'result': True, 'message': u''}
Exemple #14
0
def InviteJoinGroupAccept(dynamicId, characterId, inviteId, areaId, roomId):
    '''接受邀请
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param inviteId: int 邀请者的ID
    @param areaId: int 区域的ID
    @param roomId: int 房间的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    room = areahall.getQueueRoomById(roomId)
    player.baseInfo.setQueueRoom(roomId)
    data = room.addmember(characterId, password='', tag=1)
    if data['result']:
        areahall.dropPlayer(characterId)
    return data
Exemple #15
0
def InviteJoinGroupAccept(dynamicId,characterId,inviteId,areaId,roomId):
    '''接受邀请
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param inviteId: int 邀请者的ID
    @param areaId: int 区域的ID
    @param roomId: int 房间的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    room = areahall.getQueueRoomById(roomId)
    player.baseInfo.setQueueRoom(roomId)
    data = room.addmember(characterId,password='',tag=1)
    if data['result']:
        areahall.dropPlayer(characterId)
    return data
Exemple #16
0
def ReadyForQueueRoom(dynamicId,characterId,readyStatu):
    '''房间准备与取消
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    @param readyStatu: int 要更新的准备状态 0 取消准备 1准备
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    result = room.updateReadyStatu(characterId,readyStatu)
    if not result:
        return {'result':False,'message':u''}
    return {'result':True,'message':u''}
Exemple #17
0
def StartCopyScene(dynamicId,characterId,vipMatrix):
    '''开始房间副本
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.startCopyScene(characterId,vipMatrix)
    if data['result']:
        areahall.dropQueueRoomById(roomId)
        player.baseInfo.setStatus(1)
    return data
Exemple #18
0
def ModifyRoomInfo(dynamicId, characterId, groupName, groupPassword,
                   copySceneId, copyLevel):
    '''修改房间信息
    @param groupName: str 房间名称
    @param groupPassword: str 房间密码
    @param copySceneId: int 房间的副本
    @param copyLevel: int 副本等级 
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    data = room.ModifyRoomInfo(characterId, groupName, groupPassword,
                               copySceneId, copyLevel)
    return data
Exemple #19
0
def KickRoomMember(dynamicId, characterId, tocharacterId):
    '''踢出房间成员
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的id
    @param tocharacterId: int 房间成衣店的ID 
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    if characterId == tocharacterId:
        return {'result': False, 'message': Lg().g(110)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    result = room.dropmember(tocharacterId)
    if result == 0:
        return {'result': False, 'message': Lg().g(111)}
    return {'result': True, 'message': Lg().g(112)}
Exemple #20
0
def KickRoomMember(dynamicId,characterId,tocharacterId):
    '''踢出房间成员
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的id
    @param tocharacterId: int 房间成衣店的ID 
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    if characterId==tocharacterId:
        return {'result':False,'message':Lg().g(110)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    result = room.dropmember(tocharacterId)
    if result==0:
        return {'result':False,'message':Lg().g(111)}
    return {'result':True,'message':Lg().g(112)}
Exemple #21
0
def LeaveRoom(dynamicId, characterId):
    '''离开房间
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result': False, 'message': Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result': False, 'message': Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    if not room:
        return {'result': False, 'message': Lg().g(104)}
    result = room.dropmember(characterId)
    if result == -1:
        areahall.dropQueueRoomById(roomId)
    elif result == 1:
        areahall.addPlayer(characterId)
    player.baseInfo.setQueueRoom(0)
    areahall.addPlayer(characterId)
    return {'result': True, 'message': Lg().g(105)}
Exemple #22
0
def LeaveRoom(dynamicId,characterId):
    '''离开房间
    @param dynamicId: int 客户端的动态Id
    @param characterId: int 角色的ID
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player:
        return {'result':False,'message':Lg().g(18)}
    areahall = Hall().getAreaHallById(1)
    roomId = player.baseInfo.getQueueRoom()
    if not roomId:
        return {'result':False,'message':Lg().g(104)}
    room = areahall.getQueueRoomById(roomId)
    if not room:
        return {'result':False,'message':Lg().g(104)}
    result = room.dropmember(characterId)
    if result ==-1:
        areahall.dropQueueRoomById(roomId)
    elif result ==1:
        areahall.addPlayer(characterId)
    player.baseInfo.setQueueRoom(0)
    areahall.addPlayer(characterId)
    return {'result':True,'message':Lg().g(105)}