Exemplo n.º 1
0
def roleLogin(dynamicId, userId, characterId):
    """角色登陆
    @param dynamicId: int 客户端的ID
    @param userId: int 用户的ID
    @param characterId: int 角色的ID
    """
    user = UsersManager().getUserByDynamicId(dynamicId)
    if not user:
        return {'result': False, 'message': u'conn_error'}

    characterInfo = user.getCharacterInfo()
    if not characterInfo:
        return {'result': False, 'message': u'norole'}

    _characterId = user.characterId
    if _characterId != characterId:
        return {'result': False, 'message': u'norole'}

    oldvcharacter = VCharacterManager().getVCharacterByCharacterId(characterId)
    if oldvcharacter:
        oldvcharacter.setDynamicId(dynamicId)
    else:
        vcharacter = VirtualCharacter(characterId, dynamicId)
        VCharacterManager().addVCharacter(vcharacter)

    data = {'placeId': characterInfo.get('town', 1000)}
    return {'result': True, 'message': u'login_success', 'data': data}
Exemplo n.º 2
0
def roleLogin(dynamicId, userId, characterId):
    '''角色登陆
    @param dynamicId: int 客户端的ID
    @param userId: int 用户的ID
    @param characterId: int 角色的ID
    '''
    user = UsersManager().getUserByDynamicId(dynamicId)
    if not user:
        return {'result': False, 'message': u'conn_error'}
    characterInfo = user.getCharacterInfo()
    if not characterInfo:  # 没有角色信息
        return {'result': False, 'message': u'norole'}
    _characterId = user.characterId
    if _characterId != characterId:  # 角色id不对应
        return {'result': False, 'message': u'norole'}
    # 虚拟角色管理类,并由这个管理类来管理一批登陆的虚拟角色
    # 获取最后次下线的虚拟角色
    oldvcharacter = VCharacterManager().getVCharacterByCharacterId(characterId)
    data = {'placeId': characterInfo.get('town', 1000)}  # 获取角色最后所在城镇id,默认为1000
    if oldvcharacter:
        oldvcharacter.setDynamicId(dynamicId)  # 更新动态id
    else:
        vcharacter = VirtualCharacter(characterId, dynamicId)  # 构造一个虚拟角色
        VCharacterManager().addVCharacter(vcharacter)  # 添加到管理类中
    return {'result': True, 'message': u'login_success', 'data': data}
Exemplo n.º 3
0
def roleLogin(dynamicId, userId):
    '''角色登陆
	@param dynamicId:int 客户端的ID
	@param userId:int 用户的ID
	'''
    user = User(dynamicId=dynamicId, uid=userId)
    characterInfo = user.getCharacterInfo()
    if not characterInfo:
        data = {'hasRole': False}
        return {'result': True, 'data': data}
    else:
        if UsersManager()._users.has_key(user.id):
            olduser = UsersManager().getUserByID(user.id)
            if not olduser.CheckEffective():
                return {"result": False, 'message': "账号异常"}
            else:
                UsersManager().dropUser(user)
        UsersManager().addUser(user)
        oldvcharacter = VCharacterManager().getVCharacterByCharacterId(
            user.characterId)
        data = {
            'placeId': characterInfo.get('town', 1000),
            'characterId': user.characterId,
            'hasRole': True
        }
        if oldvcharacter:
            oldvcharacter.setDynamicId(dynamicId)
        else:
            vcharacter = VirtualCharacter(user.characterId, dynamicId)
            VCharacterManager().addVCharacter(vcharacter)
    return {'result': True, 'data': data}
Exemplo n.º 4
0
def roleLogin(dynamicId,userId):
	'''角色登陆
	@param dynamicId:int 客户端的ID
	@param userId:int 用户的ID
	'''
	user=User(dynamicId=dynamicId,uid=userId)
	characterInfo=user.getCharacterInfo()
	if not characterInfo:
		data={'hasRole':False}
		return {'result':True,'data':data}
	else:
		if UsersManager()._users.has_key(user.id):
			olduser=UsersManager().getUserByID(user.id)
			if not olduser.CheckEffective():
				return {"result":False,'message':"账号异常"}
			else:
				UsersManager().dropUser(user)
		UsersManager().addUser(user)
		oldvcharacter=VCharacterManager().getVCharacterByCharacterId(user.characterId)
		data={'placeId':characterInfo.get('town',1000),'characterId':user.characterId,'hasRole':True}
		if oldvcharacter:
			oldvcharacter.setDynamicId(dynamicId)
		else:
			vcharacter=VirtualCharacter(user.characterId,dynamicId)
			VCharacterManager().addVCharacter(vcharacter)
	return {'result':True,'data':data}
Exemplo n.º 5
0
def roleLogin(dynamicId, userId, characterId):
    '''角色登陆
    @param dynamicId: int 客户端的ID
    @param userId: int 用户的ID
    @param characterId: int 角色的ID
    '''
    user = UsersManager().getUserByDynamicId(dynamicId)
    if not user:
        return {'result': False, 'message': u'conn_error'}
    _characterId = user.characterId
    if _characterId != characterId:
        return {'result': False, 'message': u'norole'}
    oldvcharacter = VCharacterManager().getVCharacterByCharacterId(characterId)
    data = {'placeId': 1000}
    if oldvcharacter:
        oldvcharacter.setDynamicId(dynamicId)
    else:
        vcharacter = VirtualCharacter(characterId, dynamicId)
        VCharacterManager().addVCharacter(vcharacter)
    return {'result': True, 'message': u'login_success', 'data': data}
Exemplo n.º 6
0
def roleLogin(dynamicId, userId, characterId):
    """角色登陆
    @param dynamicId: int 客户端的ID
    @param userId: int 用户的ID
    @param characterId: int 角色的ID
    """
    user = UsersManager().getUserByDynamicId(dynamicId)
    if not user:
        return {"result": False, "message": u"conn_error"}
    characterInfo = user.getCharacterInfo()
    if not characterInfo:
        return {"result": False, "message": u"norole"}
    _characterId = user.characterId
    if _characterId != characterId:
        return {"result": False, "message": u"norole"}
    oldvcharacter = VCharacterManager().getVCharacterByCharacterId(characterId)
    data = {"placeId": characterInfo.get("town", 1000)}
    if oldvcharacter:
        oldvcharacter.setDynamicId(dynamicId)
    else:
        vcharacter = VirtualCharacter(characterId, dynamicId)
        VCharacterManager().addVCharacter(vcharacter)
    return {"result": True, "message": u"login_success", "data": data}