Exemplo n.º 1
0
uint WGTeamLeaderAskInviteHandler::Execute( WGTeamLeaderAskInvite* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	PlayerID_t PlayerID = pPacket->GetPlayerID() ;
	GamePlayer* pGamePlayer = g_pPlayerPool->GetPlayer(PlayerID) ;
	if( pGamePlayer==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL ) return PACKET_EXE_CONTINUE ;

	if( pPlayer->IsServerPlayer() )
	{//服务器收到世界服务器发来的数据
		Assert( MyGetCurrentThreadID()==g_pServerManager->m_ThreadID ) ;

		pScene->SendPacket( pPacket, PlayerID ) ;

		g_pLog->FastSaveLog( LOG_FILE_1, "WGTeamAskInviteHandler: ServerPlayer sGUID=%X, dGUID=%X ",
			pPacket->GetSourGUID(), pPacket->GetDestGUID() ) ;

		return PACKET_EXE_NOTREMOVE ;
	}
	else if( pPlayer->IsGamePlayer() )
	{//场景收到Cache里的消息
		Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

		GCTeamLeaderAskInvite tMsg ;
		tMsg.SetSourGUID( pPacket->GetSourGUID() );
		tMsg.SetDestGUID( pPacket->GetDestGUID() );
		tMsg.SetSourName( pPacket->GetSourName() );
		tMsg.SetDestName( pPacket->GetDestName() );

		pGamePlayer->SendPacket( &tMsg ) ;

		g_pLog->FastSaveLog( LOG_FILE_1, "WGTeamLeaderAskInviteHandler: GamePlayer sGUID=%X,dGUID=%X ",
			pPacket->GetSourGUID(),pPacket->GetDestGUID() ) ;
	}
	else
	{
		Assert(FALSE) ;
	}


	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 2
0
uint WGNotifyMailHandler::Execute( WGNotifyMail* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	PlayerID_t PlayerID = pPacket->GetPlayerID() ;
	GamePlayer* pGamePlayer = g_pPlayerPool->GetPlayer(PlayerID) ;
	if( pGamePlayer==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL ) return PACKET_EXE_CONTINUE ;

	if( pPlayer->IsServerPlayer() )
	{//服务器收到世界服务器发来的数据
		Assert( MyGetCurrentThreadID()==g_pServerManager->m_ThreadID ) ;

		pScene->SendPacket( pPacket, PlayerID ) ;

		g_pLog->FastSaveLog( LOG_FILE_1, "WGNotifyMailHandler: ServerPlayer MailCount=%d",
			pPacket->GetMailCount() ) ;

		return PACKET_EXE_NOTREMOVE ;
	}
	else if( pPlayer->IsGamePlayer() )
	{//场景收到Cache里的消息
		Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

		GCNotifyMail Msg ;

		Msg.SetMailCount( pPacket->GetMailCount() ) ;

		pGamePlayer->SendPacket( &Msg ) ;

		g_pLog->FastSaveLog( LOG_FILE_1, "WGNotifyMailHandler: GamePlayer MailCount=%d",
			pPacket->GetMailCount() ) ;
	}
	else
	{
		Assert(FALSE) ;
	}

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 3
0
UINT CGCharMoodStateHandler::Execute( CGCharMoodState* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer != NULL ) ;
	if ( pGamePlayer == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharMoodStateHandler: Error (pGamePlayer == NULL) " ) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman != NULL ) ;
	if ( pHuman == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharMoodStateHandler: Error (pHuman == NULL) " ) ;
		return PACKET_EXE_CONTINUE ;
	}

	Scene* pScene = pHuman->getScene() ;
	Assert( pScene != NULL ) ;
	if ( pScene == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharMoodStateHandler: Error Obj = %d (pScene == NULL) ", pHuman->GetID() ) ;
		return PACKET_EXE_CONTINUE ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;
	if ( MyGetCurrentThreadID() != pScene->m_ThreadID )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharMoodStateHandler: Error Obj = %d (MyGetCurrentThreadID() != pScene->m_ThreadID) ", pHuman->GetID() ) ;
		return PACKET_EXE_CONTINUE ;
	}

	ORESULT oResult = pHuman->GetHumanAI()->PushCommand_MoodState(pPacket->getMoodState());
	if ( OR_FAILED( oResult ) )
	{
		pHuman->SendOperateResultMsg(oResult);
	}

	g_pLog->FastSaveLog( LOG_FILE_1, "CGCharMoodStateHandler: ok obj=%d guid=%X scene=%d", 
		pHuman->GetID(), pHuman->GetGUID(), pScene->SceneID() ) ;

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 4
0
uint CGCharStopLogicHandler::Execute( CGCharStopLogic* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer != NULL ) ;
	if ( pGamePlayer == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharStopLogicHandler: Error (pGamePlayer == NULL) " ) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman != NULL ) ;
	if ( pHuman == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharStopLogicHandler: Error (pHuman == NULL) " ) ;
		return PACKET_EXE_CONTINUE ;
	}

	Scene* pScene = pHuman->getScene() ;
	Assert( pScene != NULL ) ;
	if ( pScene == NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharStopLogicHandler: Error Obj = %d (pScene == NULL) ", pHuman->GetID() ) ;
		return PACKET_EXE_CONTINUE ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;
	if ( MyGetCurrentThreadID() != pScene->m_ThreadID )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharStopLogicHandler: Error Obj = %d (MyGetCurrentThreadID() != pScene->m_ThreadID) ", pHuman->GetID() ) ;
		return PACKET_EXE_CONTINUE ;
	}

	//中断当前技能逻辑
	AI_Human* pAI = pHuman->GetHumanAI();
	if(NULL!=pAI)
	{
		pAI->ForceInterruptSkill();
	}
	g_pLog->FastSaveLog( LOG_FILE_1, "CGCharStopLogicHandler: S:%d.", pPacket->getObjID()) ;

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 5
0
uint	CGTopListHandler::Execute(CGTopList* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;
	Assert( pGamePlayer );

	Obj_Human* pHuman = pGamePlayer->GetHuman();
	Assert( pHuman );

	Scene* pScene = pHuman->getScene();
	if( pScene==NULL )
	{
		Assert(FALSE);
		return PACKET_EXE_ERROR;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID );
	
	GWTopList* pMsg = (GWTopList*)g_pPacketFactoryManager->CreatePacket(PACKET_GW_TOP_LIST);
	pMsg->SetGUID(pHuman->GetGUID());
	pMsg->SetType(pPacket->GetType());
	g_pServerManager->SendPacket( pMsg, INVALID_ID );

	g_pLog->FastSaveLog( LOG_FILE_1, "CGTopListHandler: GUID=%X", pHuman->GetGUID() );

	return PACKET_EXE_CONTINUE;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR;
}
uint CGLeaveSceneHandler::Execute( CGLeaveScene* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL ) return PACKET_EXE_CONTINUE ;

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;





	g_pLog->FastSaveLog( LOG_FILE_1, "CGLeaveSceneHandler: " ) ;

	return PACKET_EXE_ERROR ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 7
0
UINT	LBAskRegAuthHandler::Execute(LBAskRegAuth* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION
		
		TID CurrentThreadID = MyGetCurrentThreadID();
		if(CurrentThreadID == g_pServerManager->m_ThreadID)
		{
			Assert(pPacket);
			BillingPlayer* pBillPlayer= (BillingPlayer*)pPlayer;
			Assert(pBillPlayer);
			
			LBRegPassPort	Msg;
			Msg.SetAccount(pPacket->GetAccount());
			Msg.SetSuperPassWord(pPacket->GetSuperPassWord());
			Msg.SetPassWord(pPacket->GetPassWord());
			Msg.SetPacketIndex(pPacket->GetPlayerID());
			Msg.SetIPAddr(pPacket->GetIP());
			Msg.SetEmail(pPacket->GetEmail());

			pBillPlayer->SendPacket(&Msg);
		}
		else
		{
			AssertEx(FALSE,"LBAskRegAuthHandler 线程资源执行错误!");
		}
		
		g_pLog->FastSaveLog(LOG_FILE_0,"LBAskRegAuthHandler::Execute() Acc=%s IP=%s....OK", pPacket->GetAccount(),pPacket->GetIP() );

		return PACKET_EXE_CONTINUE;

	__LEAVE_FUNCTION

		return PACKET_EXE_ERROR;
}
Exemplo n.º 8
0
uint CGAskDetailXinFaListHandler::Execute( CGAskDetailXinFaList* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	ObjID_t ObjID = pHuman->GetID();
	if( ObjID == INVALID_ID )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	Obj_Character *pTarget = (Obj_Character*)(pScene->GetObjManager()->GetObj(pPacket->getTargetID()));
	if( pTarget==NULL )
	{
		Assert( pTarget ) ;
		return PACKET_EXE_ERROR ;
	}

	// 权限判断
	// to be continue...
	if ( pTarget->GetObjType() != Obj::OBJ_TYPE_HUMAN
		&& pTarget->GetObjType() != Obj::OBJ_TYPE_PET )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGAskDetailXinFaListHandler: faile obj=%d scene=%d", 
			ObjID, pScene->SceneID() ) ;
		return PACKET_EXE_CONTINUE;
	}

	GCDetailXinFaList	Msg;

	Msg.setObjID( pTarget->GetID() );

	Msg.setXinFaList(pHuman->Skill_GetXinFaList().m_Count, pHuman->Skill_GetXinFaList().m_aXinFa);
	pGamePlayer->SendPacket( &Msg ) ;

	g_pLog->FastSaveLog( LOG_FILE_1, "CGAskDetailXinFaListHandler: ok obj=%d scene=%d", 
		ObjID, pScene->SceneID() ) ;

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
UINT SSScenePlayerCountHandler::Execute(SSScenePlayerCount* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION    
    
        TID CurrentThreadID = MyGetCurrentThreadID();

        if(CurrentThreadID == g_pServerManager->m_ThreadID)
        {
            //修改g_WorldPlayerCounter 中数据
            Assert(pPacket);
            g_WorldPlayerCounter.m_WorldPlayerCount = pPacket->GetTotalPlayerCount();
            //修改场景负载数据
            //todo..
        }
        else
        {
            AssertEx(FALSE,"SSScenePlayerCountHandler 线程资源执行错误!");
        }
        
        Log::SaveLog(LOGIN_LOGFILE,"SSScenePlayerCountHandler::Execute()....OK,WorldPlayerCount = %d",
            g_WorldPlayerCounter.m_WorldPlayerCount);
        return PACKET_EXE_CONTINUE;

    __LEAVE_FUNCTION    

        return PACKET_EXE_ERROR;
}
Exemplo n.º 10
0
UINT    WGWorldTimeHandler::Execute(WGWorldTime* pPacket,Player* pPlayer)
{
    __ENTER_FUNCTION

        Assert( MyGetCurrentThreadID()==g_pServerManager->m_ThreadID );
        Assert(pPacket);

        g_WorldTime = pPacket->GetWorldTime();

        for( INT i=0; i<MAX_SCENE; i++ )
        {
            Scene* pScene = g_pSceneManager->GetScene( (SceneID_t)i ) ;
            if( pScene==NULL )
                continue ;

            if( pScene->GetPlayerManager()->GetCount()<=0 )
                continue ;
            
            GCWorldTime* pMsg = (GCWorldTime*)(g_pPacketFactoryManager->CreatePacket(PACKET_GC_WORLDTIME)) ;

            pMsg->SetWorldTime(g_WorldTime);
            pMsg->SetSceneID(pScene->SceneID());

            pScene->SendPacket(pMsg,INVALID_ID);

        }
        
        g_pLog->FastSaveLog( LOG_FILE_1,"WGWorldTimeHandler::Execute()....OK!");

        return PACKET_EXE_CONTINUE ;

    __LEAVE_FUNCTION

        return PACKET_EXE_ERROR ;
}
Exemplo n.º 11
0
UINT CGPlayerShopPartnerHandler::Execute( CGPlayerShopPartner* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}
	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	g_pLog->FastSaveLog( LOG_FILE_1, "CGPlayerShopPartnerHandler::ObjName=%s"
		,pHuman->GetName());

	return PACKET_EXE_CONTINUE ;

	__LEAVE_FUNCTION

		return PACKET_EXE_ERROR ;
}
Exemplo n.º 12
0
UINT LWChangeNameHandler::Execute(LWChangeName* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
	
	TID CurrentThreadID = MyGetCurrentThreadID();

	if(CurrentThreadID == g_pServerManager->m_ThreadID)
	{

		Assert(pPacket);
		
		ServerPlayer* pServerPlayer  = (ServerPlayer*)pPlayer;
		
		Assert(pServerPlayer);

		pServerPlayer->SendPacket(pPacket);
	}
	else
	{
		AssertEx(FALSE,"LWChangeNameHandler 线程资源执行错误!");
	}
	g_pLog->FastSaveLog(LOG_FILE_0,"LWChangeNameHandler::Execute() ....OK");

	return PACKET_EXE_CONTINUE;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR;
}
Exemplo n.º 13
0
BOOL ServerManager::Init( )
{
__ENTER_FUNCTION

    m_pServerSocket = new ServerSocket( g_Config.m_BillingInfo.m_Port ) ;
    Assert( m_pServerSocket ) ;

    m_pServerSocket->setNonBlocking() ;

    m_SocketID = m_pServerSocket->getSOCKET() ;
    Assert( m_SocketID != INVALID_SOCKET ) ;

    FD_SET(m_SocketID , &m_ReadFDs[SELECT_BAK]);
    FD_SET(m_SocketID , &m_ExceptFDs[SELECT_BAK]);

    m_MinFD = m_MaxFD = m_SocketID;

    m_Timeout[SELECT_BAK].tv_sec = 0;
    m_Timeout[SELECT_BAK].tv_usec = 0;

    m_ThreadID = MyGetCurrentThreadID( ) ;

    for( int i=0; i<OVER_MAX_SERVER; i++ )
    {
        m_aServerHash[i] = INVALID_ID ;
    }


__LEAVE_FUNCTION

    return TRUE ;
}
Exemplo n.º 14
0
UINT CGCountryAppointHandler::Execute( CGCountryAppoint* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
    Assert( pGamePlayer ) ;

    Obj_Human* pHuman = pGamePlayer->GetHuman() ;
    Assert( pHuman ) ;

    Scene* pScene = pHuman->getScene() ;
    if( pScene==NULL )
    {
        Assert(FALSE) ;
        return PACKET_EXE_ERROR ;
    }

    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID );

    CGCountryAppoint *pMsg = (CGCountryAppoint *)g_pPacketFactoryManager->CreatePacket(PACKET_GW_COUNTRY_APPOINT);
    pMsg->SetCountryAppointData(pPacket->GetCountryAppointData());
    g_pServerManager->SendPacket( pMsg, INVALID_ID );

    return PACKET_EXE_CONTINUE ;

    __LEAVE_FUNCTION

    return PACKET_EXE_ERROR ;
}
UINT CGExchangeSynchMoneyIIHandler::Execute( CGExchangeSynchMoneyII* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
    Assert( pGamePlayer ) ;

    Obj_Human* pHuman = pGamePlayer->GetHuman() ;
    Assert( pHuman ) ;

    Scene* pScene = pHuman->getScene() ;
    if( pScene==NULL )
    {
        Assert(FALSE) ;
        return PACKET_EXE_ERROR ;
    }

    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

    //验证
    EXCHANGE_CERTIFY_EACH_OTHER(pHuman)
    EXCHANGE_CERTIFY_ISLOCK(pHuman)

    ObjID_t    DestID = pHuman->m_ExchangBox.m_ObjID;
    Obj_Human* pDestHuman = pScene->GetHumanManager()->GetHuman( DestID );

    EXCHANGE_CERTIFY_STATUS(pHuman, EXCHANGE_SYNCH_DATA)
    EXCHANGE_CERTIFY_STATUS(pDestHuman, EXCHANGE_SYNCH_DATA)
    

    //操作
    UINT    Money     = pPacket->GetMoney();        

    if( Money<= pHuman->GetMoney() )
    {
        pHuman->m_ExchangBox.m_Money = Money;
        g_pLog->FastSaveLog( LOG_FILE_1, "<交易> [%s] 设置交易金钱 [%d]",    pHuman->GetName(), Money ) ;

        //金钱改变不发给自己了,省条消息
        GCExchangeSynchII MsgToTarget;
        MsgToTarget.SetIsMyself(FALSE);
        MsgToTarget.SetOpt(EXCHANGE_MSG::OPT_MONEY);
        MsgToTarget.SetMoney(Money);
        pDestHuman->GetPlayer()->SendPacket(&MsgToTarget);
        return PACKET_EXE_CONTINUE;
    }
    else
    {
        GCExchangeError Msg;
        Msg.SetID(EXCHANGE_MSG::ERR_ILLEGAL);
        pHuman->GetPlayer()->SendPacket(&Msg);
        pHuman->m_ExchangBox.CleanUp();
        return PACKET_EXE_CONTINUE;
    }
    
    __LEAVE_FUNCTION

        return PACKET_EXE_ERROR ;
}
Exemplo n.º 16
0
UINT    LBAskAuthHandler::Execute(LBAskAuth* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION
        
        TID CurrentThreadID = MyGetCurrentThreadID();
        
        if(CurrentThreadID == g_pServerManager->m_ThreadID)
        {
            Assert(pPacket);

            ServerPlayer* pServerPlayer  = (ServerPlayer*)pPlayer;

            Assert(pServerPlayer);

            pServerPlayer->SendPacket(pPacket);
        }
        else
        {
            AssertEx(FALSE,"LBAskAuthHandler 线程资源执行错误!");
        }
        
        Log::SaveLog(LOGIN_LOGFILE,"LBAskAuthHandler::Execute() ....OK");

        return PACKET_EXE_CONTINUE;

    __LEAVE_FUNCTION

        return PACKET_EXE_ERROR;
}
Exemplo n.º 17
0
uint	CGQueryHorseFindMateInfoHandler::Execute(CGQueryHorseFindMateInfo* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;
	Assert( pGamePlayer );

	Obj_Human* pHuman = pGamePlayer->GetHuman();
	Assert( pHuman );

	Scene* pScene = pHuman->getScene();
	if( pScene==NULL )
	{
		Assert(FALSE);
		return PACKET_EXE_ERROR;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID );
	
	HorseFindMateModule::GetInstance().QueryHorseFindMateInfo(pHuman, pPacket->GetMaxPostion());	

	g_pLog->FastSaveLog(LOG_FILE_1, "CGQueryHorseFindMateInfoHandler: ok obj=%d,scene=%d",
		pHuman->GetID(), pScene->SceneID());

	return PACKET_EXE_CONTINUE;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR;
}
Exemplo n.º 18
0
uint WGCountryVoteConfirmHandler::Execute( WGCountryVoteConfirm* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION

    PlayerID_t PlayerID = pPacket->GetPlayerID();
    GamePlayer* pGamePlayer = g_pPlayerPool->GetPlayer(PlayerID);
    if( pGamePlayer==NULL )
    {
        Assert(FALSE);
        return PACKET_EXE_CONTINUE;
    }

    Obj_Human* pHuman = pGamePlayer->GetHuman();
    Assert( pHuman );

    Scene* pScene = pHuman->getScene();
    if( pScene==NULL ) return PACKET_EXE_CONTINUE ;

    if( pPlayer->IsServerPlayer() )
    {   //服务器收到世界服务器发来的数据
        Assert( MyGetCurrentThreadID()==g_pServerManager->m_ThreadID );
        pScene->SendPacket( pPacket, PlayerID );
        return PACKET_EXE_NOTREMOVE;
    }
    else if( pPlayer->IsGamePlayer() )
    {   //场景收到Cache里的消息
        Assert( MyGetCurrentThreadID()==pScene->m_ThreadID );

        GCCountryVoteShow Msg;
        Msg.SetCurVotes(pPacket->GetCurNum());
        Msg.SetLeftTime(pPacket->GetTime());
        Msg.SetPercentVote( ((float)pPacket->GetPercent())/(100.0f));
        pGamePlayer->SendPacket( &Msg );

        g_pLog->FastSaveLog( LOG_FILE_1, "WGCountryVoteConfirmHandler: VoteOn Begin (Guid=%X)!", pHuman->GetGUID());
    }
    else
    {
        Assert(FALSE);
    }

    return PACKET_EXE_CONTINUE;

    __LEAVE_FUNCTION

    return PACKET_EXE_ERROR;
}
UINT CGAskDetailAbilityInfoHandler::Execute( CGAskDetailAbilityInfo* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;
    Assert( pGamePlayer );

    Obj_Human* pHuman = pGamePlayer->GetHuman();
    Assert( pHuman );

    Scene* pScene = pHuman->getScene();
    if( pScene==NULL )
    {
        Assert(FALSE);
        return PACKET_EXE_ERROR;
    }

    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID );

    ObjID_t ObjID = pHuman->GetID();
    if( ObjID == INVALID_ID )
    {
        Assert(FALSE);
        return PACKET_EXE_ERROR;
    }

    Obj_Human *pTarget = (Obj_Human*)(pScene->GetObjManager()->GetObj(pPacket->getTargetID()));
    if( pTarget==NULL )
    {
        Assert( pTarget );
        return PACKET_EXE_ERROR;
    }

    // 权限判断
    // to be continue...
    if ( pTarget->GetObjType() != Obj::OBJ_TYPE_HUMAN )
    {
        return PACKET_EXE_ERROR;
    }

    GCDetailAbilityInfo Msg;

    Msg.setObjID( pTarget->GetID() );

    const _ABILITY_LIST *pAbilityList = pTarget->GetAbilityList();
    Msg.setAbilityList( g_pAbilityManager->MaxAbilityNum(), pAbilityList->m_aABility, pAbilityList->m_aPrescr );

    pGamePlayer->SendPacket( &Msg );

    g_pLog->FastSaveLog( LOG_FILE_1, "CGAskDetailAbilityInfoHandler: ok obj=%d scene=%d", 
        ObjID, pScene->SceneID() );

    return PACKET_EXE_CONTINUE;

__LEAVE_FUNCTION

    return PACKET_EXE_ERROR;
}
uint CGAskJoinMenpaiHandler::Execute( CGAskJoinMenpai* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	
	
	//设置门派
	//pHuman->GetDB()->SetMenPai(pPacket->GetMenpaiID());

	//设置心法
	

	//设置技能
	

	//通知客户端加入的结果,由客户端自己去用模板内的数据改变自己的值
	//GCJoinMenpai Msg;
	//Msg.SetIsSucceedJoin(JOINMENPAI_SUCCEED);

	//pPlayer = pHuman->GetPlayer();
	//pPlayer->SendPacket( &Msg ) ;

	//INT nTemp = pPacket->GetMenpaiID();
	//INT nNum = g_XinFaDataMgr.m_nSize;

	//_XINFA_LIST   listMenpaiXinfa;

	//for(INT i=0,k=0; i<nNum; i++)
	//{
	//	if( g_XinFaDataMgr.m_vTemplateList[i].MenPai == nTemp)
	//		listMenpaiXinfa.m_aXinFa
	//}

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
uint CGLockTargetHandler::Execute( CGLockTarget* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;

	if(NULL==pHuman)
	{
		AssertEx(FALSE,"[CGLockTargetHandler::Execute]: NULL Obj_Human pointer found!!");
		return PACKET_EXE_ERROR ;
	}
	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	ObjID_t nMeID = pHuman->GetID();
	if( nMeID == INVALID_ID )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}
	//update target
	if(NULL==pPacket)
	{
		AssertEx(FALSE,"[CGLockTargetHandler::Execute]: NULL packet pointer found!!");
		return PACKET_EXE_ERROR ;
	}

	pHuman->SetLockedTarget(pPacket->getTargetID());
	// 当锁定的目标是NPC时将会触发NPC的泡泡说话
	Obj* pTarget = pScene->GetObjManager()->GetObj(pPacket->getTargetID());
	if (pTarget->GetObjType() == Obj::OBJ_TYPE_MONSTER)
	{
		((Obj_Monster*)pTarget)->ProcessPaoPao();
	}
	
	g_pLog->FastSaveLog( LOG_FILE_1, "CGLockTargetHandler: ok obj=%d scene=%d", 
		nMeID, pScene->SceneID() ) ;

	return PACKET_EXE_CONTINUE ;

	__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 22
0
uint CGCharAskBaseAttribHandler::Execute( CGCharAskBaseAttrib* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;
	
	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	ObjID_t ObjID = pPacket->getTargetID() ;
	if( ObjID == INVALID_ID )
	{
		return PACKET_EXE_ERROR ;
	}
	
	Obj* pObj = pScene->GetObjManager()->GetObj( ObjID ) ;
	if( pObj==NULL )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharAskBaseAttribHandler: not find obj=%d", ObjID ) ;
		return PACKET_EXE_CONTINUE ;
	}

	if( !IsCharacterObj( pObj->GetObjType() ) )
	{
		g_pLog->FastSaveLog( LOG_FILE_1, "CGCharAskBaseAttribHandler: not character obj=%d", ObjID ) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Character* pCharacter = (Obj_Character*)pObj ;
	pCharacter->AskMsg_BaseAttrib( pHuman );

	//影响效率关掉Log
	//g_pLog->FastSaveLog( LOG_FILE_1, "CGCharAskBaseAttribHandler: obj=%d", ObjID ) ;

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
Exemplo n.º 23
0
UINT CGIssuePetPlacardHandler::Execute( CGIssuePetPlacard* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
    Assert( pGamePlayer ) ;

    Obj_Human* pHuman = pGamePlayer->GetHuman() ;
    Assert( pHuman ) ;
    
    Scene* pScene = pHuman->getScene() ;
    if( pScene==NULL )
    {
        Assert(FALSE) ;
        return PACKET_EXE_ERROR ;
    }

    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

    Obj_Monster *pNpc = (Obj_Monster*)(pScene->GetObjManager()->GetObj(pPacket->GetNpcID()));
    if(pNpc != NULL)
    {
        PetPlacardSystem *pPetPlacardSystem = pNpc->GetPetPlacardSystem();
        if(pPetPlacardSystem == NULL)
        {
            pNpc->CreatePetPlacardSystem();
            pPetPlacardSystem = pNpc->GetPetPlacardSystem();
        }
        if(pPetPlacardSystem != NULL)
        {
            CHAR* pMessage = pPacket->GetMessage();
            BYTE nMessageSize = (BYTE)strlen( pMessage );
            if( nMessageSize >= PET_PLACARD_ITEM_MESSAGE_SIZE ) nMessageSize = PET_PLACARD_ITEM_MESSAGE_SIZE-1;
            pMessage[PET_PLACARD_ITEM_MESSAGE_SIZE-1] = 0;
            ReplaceIllegalString( pMessage, nMessageSize );

            ORESULT oResult = pPetPlacardSystem->IssuePlacard(pHuman, pPacket->GetGUID(), pMessage);
            if(OR_FAILED(oResult))
            {
                pHuman->SendOperateResultMsg(oResult);
            }
        }
    }

    return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

    return PACKET_EXE_ERROR ;
}
UINT CGPlayerShopApplyHandler::Execute( CGPlayerShopApply* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}
	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	pScene->GetPlayerShopManager()->ClampComFactor();
	FLOAT CommercialFactor = pScene->GetPlayerShopManager()->GetComFactor();
	UINT Cost = (UINT)(300000*CommercialFactor*2*1.03);
	Cost = 10;

	GCPlayerShopError MsgError;

	//验证是否有资格摆摊
	//if(pHuman->GetLevel()<30)
	//{
	//	MsgError.SetID(PLAYERSHOP_MSG::ERR_NOT_ENOUGH_LEVEL);
	//	pGamePlayer->SendPacket(&MsgError);
	//	g_pLog->FastSaveLog( LOG_FILE_1, "ERROR: CGPlayerShopApplyHandler::Name=%s Level = %d ", pHuman->GetName(), pHuman->GetLevel()) ;
	//	return PACKET_EXE_CONTINUE ;
	//}

	GCPlayerShopApply Msg;
	Msg.SetComFactor(CommercialFactor);
	Msg.SetCost(Cost);
	Msg.SetType(PLAYERSHOP_MSG::TYPE_ITEM);

	//验证完毕,通知客户端确定
	pGamePlayer->SendPacket(&Msg);


	return PACKET_EXE_CONTINUE ;

	__LEAVE_FUNCTION

		return PACKET_EXE_ERROR ;
}
Exemplo n.º 25
0
uint CGSetTeamDistribModeHandler::Execute( CGSetTeamDistribMode* pPacket, Player* pPlayer )
{
    __ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
    Assert( pGamePlayer ) ;

    Obj_Human* pHuman = pGamePlayer->GetHuman() ;
    Assert( pHuman ) ;

    Scene* pScene = pHuman->getScene() ;
    if( pScene==NULL )
    {
        Assert(FALSE) ;
        return PACKET_EXE_ERROR ;
    }

    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

    BYTE nMode = pPacket->getMode();
    if (nMode>=ITEM_DISTRIB_NUM)
    {
        return PACKET_EXE_ERROR;
    }
    TeamInfo* pTeamInfo = pHuman->GetTeamInfo();
    if (pTeamInfo == NULL)
    {
        return PACKET_EXE_ERROR;
    }
    if (!pTeamInfo->IsLeader())
    {
        return PACKET_EXE_CONTINUE;
    }

    GWSetTeamDistribMode* pMsg = (GWSetTeamDistribMode*)g_pPacketFactoryManager->CreatePacket(PACKET_GW_SETTEAMDISTRIBMODE);
    pMsg->setMode(nMode);
    pMsg->setLeaderID(pHuman->GetGUID());
    pMsg->setTeamID(pTeamInfo->GetTeamID());

    g_pServerManager->SendPacket( pMsg, INVALID_ID ) ;

    g_pLog->FastSaveLog( LOG_FILE_1, "CGSetTeamDistribModeHandler: nMode=%d success", nMode) ;

    return PACKET_EXE_CONTINUE ;

    __LEAVE_FUNCTION

    return PACKET_EXE_ERROR ;
}
UINT CGPlayerShopAcquireShopListHandler::Execute( CGPlayerShopAcquireShopList* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}
	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;
	SHOP_INFO_t aShopList[MAX_SHOP_NUM_PER_SCENE];
	UINT ListIndex = 0;
	PlayerShopManager*	pPlayerShopManager = pScene->GetPlayerShopManager();
	UINT uShopNum = pPlayerShopManager->GetPlayerShopNum();

	for(UINT i = 0; i<uShopNum; i++)
	{
		PlayerShop*	pPlayerShop	= pPlayerShopManager->GetPlayerShopByIndex(i);
		Assert(pPlayerShop);
		aShopList[ListIndex].m_ID				= pPlayerShop->GetShopGUID();
		memcpy(aShopList[ListIndex].m_ShopName, pPlayerShop->GetShopName(), MAX_SHOP_NAME_SIZE);
		aShopList[ListIndex].m_StallNumOnSale	= pPlayerShop->GetNumStallOnSale();
		aShopList[ListIndex].m_StallNumOpened	= pPlayerShop->GetNumStallOpened();
		aShopList[ListIndex++].m_Type			= (BYTE)pPlayerShop->GetShopType();
	}

	GCPlayerShopAcquireShopList Msg;
	Msg.SetShopNum(ListIndex);
    Msg.SetShopList(aShopList);

	pGamePlayer->SendPacket(&Msg);

	g_pLog->FastSaveLog( LOG_FILE_1, "CGPlayerShopAcquireShopList::Name=%s"
		,pHuman->GetName()) ;


	return PACKET_EXE_CONTINUE ;

	__LEAVE_FUNCTION

		return PACKET_EXE_ERROR ;
}
Exemplo n.º 27
0
UINT	WGTopListHandler::Execute(WGTopList* pPacket,Player* pPlayer)
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = NULL ;
	PlayerID_t PlayerID = pPacket->GetPlayerID();

	if( pPlayer->IsServerPlayer() )
	{
		pGamePlayer = g_pPlayerPool->GetPlayer(PlayerID);
		if( pGamePlayer==NULL )
		{
			Assert(FALSE);
			return PACKET_EXE_CONTINUE;
		}	
	}
	else if( pPlayer->IsGamePlayer() )
	{
		PlayerID = pPlayer->PlayerID() ;
		pGamePlayer = (GamePlayer*)pPlayer ;
	}
	else
	{
		Assert(FALSE) ;
		return PACKET_EXE_CONTINUE ;
	}

	Obj_Human* pHuman = pGamePlayer->GetHuman();
	Assert( pHuman );

	Scene* pScene = pHuman->getScene();
	if( pScene==NULL )
		return PACKET_EXE_CONTINUE ;

	Assert( MyGetCurrentThreadID()==g_pServerManager->m_ThreadID );
	Assert(pPacket);
	
	GCTopList Msg  ;
	WORLD_TOP_LIST* pTop = Msg.GetTopList();
	memcpy(pTop,pPacket->GetTopList(),sizeof(WORLD_TOP_LIST));
	pGamePlayer->SendPacket(&Msg);

	g_pLog->FastSaveLog( LOG_FILE_1,"WGTopListHandler::Execute()....OK!");

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}
UINT CGApplyPrivateInfoHandler::Execute( CGApplyPrivateInfo* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

    GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
    Assert( pGamePlayer ) ;

    Obj_Human* pHuman = pGamePlayer->GetHuman() ;
    Assert( pHuman ) ;

    Scene* pScene = pHuman->getScene() ;
    if( pScene==NULL )
    {
        Assert(FALSE) ;
        return PACKET_EXE_ERROR ;
    }
    //检查线程执行资源是否正确
    Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

    //只能提交自己的数据,所以不需要在消息中加ObjID
    //_PRIVATE_INFO_DB_LOAD PrivateData;

    //PrivateData.m_Age = pPacket->GetAge();
    //PrivateData.m_BloodType = pPacket->GetBloodType();
    //PrivateData.m_CharGUID = pPacket->GetCharGUID();

    //PrivateData.m_Consella = pPacket->GetConsella();
    //PrivateData.m_InfoType = pPacket->GetInfoType();
    //PrivateData.m_Province = pPacket->GetProvince();
    //PrivateData.m_Sex = pPacket->GetSex();
    //PrivateData.m_YearAnimal = pPacket->GetYearAnimal();

    //strncpy(PrivateData.m_City, pPacket->GetCity(), pPacket->GetCityLength());
    //strncpy(PrivateData.m_EmailInfo, pPacket->GetEmailInfo(), pPacket->GetEmailInfoLength());
    //strncpy(PrivateData.m_JobInfo, pPacket->GetJobInfo(), pPacket->GetJobInfoLength());
    //strncpy(PrivateData.m_LuckWord, pPacket->GetLuckWord(), pPacket->GetLuckWordLength());
    //strncpy(PrivateData.m_SchoolInfo, pPacket->GetSchoolInfo(), pPacket->GetSchoolInfoLength());


    //pHuman->GetDB()->SetPrivateInfo(&PrivateData);

    g_pLog->FastSaveLog( LOG_FILE_1, "CGApplyPrivateInfoHandler::ObjName=%s"
        ,pHuman->GetName());

    return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

    return PACKET_EXE_ERROR ;
}
uint CGStallCloseHandler::Execute( CGStallClose* pPacket, Player* pPlayer )
{
	__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}
	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	//验证是否有资格摆摊
	if(pHuman->m_StallBox.GetStallStatus() != ServerStallBox::STALL_OPEN)
	{//丢弃
		g_pLog->FastSaveLog( LOG_FILE_1, "ERROR: CGStallCloseHandler::ObjID=%d, != ServerStallBox::STALL_OPEN"
			,pHuman->GetID()) ;
		return PACKET_EXE_CONTINUE ;
	}


	pHuman->m_StallBox.GetBBS()->SaveTitle();

	//验证完毕,设置摊位盒
	pHuman->m_StallBox.CleanUp();

	ORESULT oResult = pHuman->GetHumanAI()->PushCommand_Idle( );
	if ( OR_FAILED( oResult ) )
	{
		pHuman->SendOperateResultMsg(oResult);
	}

	GCStallClose MsgClose;
	pGamePlayer->SendPacket(&MsgClose);
	g_pLog->FastSaveLog( LOG_FILE_1, "CGStallCloseHandler::ObjID=%d"
		,pHuman->GetID()) ;
	return PACKET_EXE_CONTINUE ;

	__LEAVE_FUNCTION

		return PACKET_EXE_ERROR ;
}
Exemplo n.º 30
0
uint CGAskTeamInfoHandler::Execute( CGAskTeamInfo* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION

	GamePlayer* pGamePlayer = (GamePlayer*)pPlayer ;
	Assert( pGamePlayer ) ;

	Obj_Human* pHuman = pGamePlayer->GetHuman() ;
	Assert( pHuman ) ;

	Scene* pScene = pHuman->getScene() ;
	if( pScene==NULL )
	{
		Assert(FALSE) ;
		return PACKET_EXE_ERROR ;
	}

	//检查线程执行资源是否正确
	Assert( MyGetCurrentThreadID()==pScene->m_ThreadID ) ;

	if( pHuman->GetID() != pPacket->GetObjID() )
	{ // 为以后留接口
		Assert(FALSE);
		return PACKET_EXE_ERROR;
	}

	Obj_Human *pDestHuman = pScene->GetHumanManager()->GetHuman( pPacket->GetObjID() );
	if( pDestHuman == NULL )
	{
		Assert(FALSE);
		return PACKET_EXE_CONTINUE;
	}

	GWAskTeamInfo* pMsg = (GWAskTeamInfo*)(g_pPacketFactoryManager->CreatePacket(PACKET_GW_ASKTEAMINFO));

	pMsg->SetPlayerID( pGamePlayer->PlayerID() );
	pMsg->SetGUID( pDestHuman->GetGUID() );

	g_pServerManager->SendPacket( pMsg, INVALID_ID );

	g_pLog->FastSaveLog( LOG_FILE_1, "CGAskTeamInfoHandler: AskManObjID=%X TargetManGUID=%X", 
		pGamePlayer->PlayerID(), pDestHuman->GetGUID() ) ;

	return PACKET_EXE_CONTINUE ;

__LEAVE_FUNCTION

	return PACKET_EXE_ERROR ;
}