⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 packethandler.cpp

📁 奇迹世界data 服务器代码,研究游戏的朋友有帮助
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_ALL_REQ_DBR );

	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_CHAR_ITEM_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_SKILL_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_QUICK_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_STYLE_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_QUEST_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_WAREHOUSE_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_SYN);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_CMD);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_DBR);
	HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_CMD_DBR);

	return TRUE;
}

BOOL PacketHandler::ResisterHandler_MX()
{
#ifdef _USING_ACCOUNT_DBPROXY_SERVER
	if( !AddHandler_MX( MX_CONNECTION, MX_CONNECTION_REQ_SERVER_INFO_SYN, Handler_MX::OnMX_CONNECTION_REQ_SERVER_INFO_SYN ) )
		return FALSE;

	if( !AddHandler_MX( MX_CONNECTION, MX_CONNECTION_REQ_SERVER_INFO_DBR, Handler_MX::OnMX_CONNECTION_REQ_SERVER_INFO_DBR ) )
		return FALSE;
#else
	if( !AddHandler_MX( DM_CONNECTION, DM_CONNECTION_SERVER_INFO_CMD, Handler_MX::OnDM_CONNECTION_SERVER_INFO_CMD ) )
		return FALSE;
#endif

	return TRUE;
}

BOOL PacketHandler::ResisterHandler_DW()
{
#define HANDLER_DW( c, p )	if( !AddHandler_DW( c, p, Handler_FromWorldServer::On##p ) ) return FALSE

	// 立加秦 甸绢 坷绰 率俊辑 焊晨 傍烹 菩哦
	if( !AddHandler_DW( SERVERCOMMON, SERVERCOMMON_HEARTBEAT, Handler_Common::OnSERVERCOMMON_HEARTBEAT ) )
		return FALSE;

	HANDLER_DW( DW_FRIEND, DW_FRIEND_GETLIST_SYN );		//< 模备 格废
	HANDLER_DW( DW_FRIEND, DW_FRIEND_ADD_SYN );			//< A->B add friend
	HANDLER_DW( DW_FRIEND, DW_FRIEND_DEL_SYN );			//< 模备 昏力
	HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_SYN );		//< 蜡历 瞒窜
	HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_FREE_SYN );	//< 瞒窜 昏力
	HANDLER_DW( DW_FRIEND, DW_FRIEND_GETLIST_DBR );		//< 模备 格废
	HANDLER_DW( DW_FRIEND, DW_FRIEND_ADD_DBR );			//< A->B add friend
	HANDLER_DW( DW_FRIEND, DW_FRIEND_DEL_DBR );			//< 模备 昏力
	HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_DBR );		//< 蜡历 瞒窜
	HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_FREE_DBR );	//< 瞒窜 昏力

	return TRUE;
}

BOOL PacketHandler::ResisterHandler_DZ()
{
#define HANDLER_DZ( c, p )	if( !AddHandler_DZ( c, p, Handler_FromGuildServer::On##p ) ) return FALSE

	// 立加秦 甸绢 坷绰 率俊辑 焊晨 傍烹 菩哦
	if( !AddHandler_DZ( SERVERCOMMON, SERVERCOMMON_HEARTBEAT, Handler_Common::OnSERVERCOMMON_HEARTBEAT ) )
		return FALSE;

	HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_DBR );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_MEMBER_DBR );

	HANDLER_DZ(DZ_GUILD, DZ_GUILD_CREATE_GUILD_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_CREATE_GUILD_DBR );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_DESTROY_GUILD_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_DESTROY_GUILD_DBR );

	HANDLER_DZ(DZ_GUILD, DZ_GUILD_JOIN_GUILD_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_JOIN_GUILD_DBR );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_WITHDRAW_GUILD_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_WITHDRAW_GUILD_DBR );

	HANDLER_DZ(DZ_GUILD, DZ_GUILD_CHANGE_POSITION_SYN );
	HANDLER_DZ(DZ_GUILD, DZ_GUILD_CHANGE_POSITION_DBR );
	return TRUE;
}


BOOL PacketHandler::AddHandler_AD( BYTE category, BYTE protocol, fnHandler fnHandler )
{
	FUNC_AD * pFuncInfo	= new FUNC_AD;

	pFuncInfo->m_dwFunctionKey	= MAKEWORD( category, protocol );
	pFuncInfo->m_fnHandler		= fnHandler;

	return m_pFuncMap_AD->Add( pFuncInfo );
}

BOOL PacketHandler::AddHandler_DG( BYTE category, BYTE protocol, fnHandler fnHandler )
{
	FUNC_DG * pFuncInfo	= new FUNC_DG;

	pFuncInfo->m_dwFunctionKey	= MAKEWORD( category, protocol );
	pFuncInfo->m_fnHandler		= fnHandler;

	return m_pFuncMap_DG->Add( pFuncInfo );
}

BOOL PacketHandler::AddHandler_MX( BYTE category, BYTE protocol, fnHandler fnHandler )
{
	FUNC_MX * pFuncInfo	= new FUNC_MX;

	pFuncInfo->m_dwFunctionKey	= MAKEWORD( category, protocol );
	pFuncInfo->m_fnHandler		= fnHandler;

	return m_pFuncMap_MX->Add( pFuncInfo );
}

BOOL PacketHandler::AddHandler_DW( BYTE category, BYTE protocol, fnHandler fnHandler )
{
	FUNC_DW * pFuncInfo	= new FUNC_DW;

	pFuncInfo->m_dwFunctionKey	= MAKEWORD( category, protocol );
	pFuncInfo->m_fnHandler		= fnHandler;

	return m_pFuncMap_DW->Add( pFuncInfo );
}

BOOL PacketHandler::AddHandler_DZ( BYTE category, BYTE protocol, fnHandler fnHandler )
{
	FUNC_DZ * pFuncInfo	= new FUNC_DZ;

	pFuncInfo->m_dwFunctionKey	= MAKEWORD( category, protocol );
	pFuncInfo->m_fnHandler		= fnHandler;

	return m_pFuncMap_DZ->Add( pFuncInfo );
}

VOID PacketHandler::ParsePacket_AD( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
	if( pMsg->m_byCategory == 0xff )
	{
	}

	FUNC_AD * pFuncInfo = (FUNC_AD *)m_pFuncMap_AD->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );

	if( pFuncInfo == NULL )
	{
		SUNLOG(eFULL_LOG, "[PacketHandler::ParsePacket_AD] Invalid packet! AD Category[%u] Protocol[%u] ", pMsg->m_byCategory, pMsg->m_byProtocol );
		ASSERT( ! "Invalid packet from Agent Server!" ) ;

		return ;
	}

	pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}

VOID PacketHandler::ParsePacket_DG( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
	if( pMsg->m_byCategory == 0xff )
	{
	}

	FUNC_DG * pFuncInfo = (FUNC_DG *)m_pFuncMap_DG->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );

	if( pFuncInfo == NULL )
	{
		SUNLOG(eFULL_LOG,  "Invalid packet! DG Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
		ASSERT( ! "Invalid packet from Game Server!"  ) ;

		return ;
	}

	pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}

VOID PacketHandler::ParsePacket_MX( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
	if( pMsg->m_byCategory == 0xff )
	{
	}

	FUNC_MX * pFuncInfo = (FUNC_MX *)m_pFuncMap_MX->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );

	if( pFuncInfo == NULL )
	{
		SUNLOG(eFULL_LOG,  "[PacketHandler::ParsePacket_MX] Invalid packet! MX Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
		ASSERT( ! "Invalid packet from Master Server!"  ) ;

		return ;
	}

	pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}

VOID PacketHandler::ParsePacket_DW( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
	if( pMsg->m_byCategory == 0xff )
	{
	}

	FUNC_DW * pFuncInfo = (FUNC_DW *)m_pFuncMap_DW->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );

	if( pFuncInfo == NULL )
	{
		SUNLOG(eFULL_LOG,  "[PacketHandler::ParsePacket_DW] Invalid packet! AD Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
		ASSERT( ! "Invalid packet from World Server!"  ) ;

		return ;
	}

	pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}

VOID PacketHandler::ParsePacket_DZ( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
	if( pMsg->m_byCategory == 0xff )
	{
	}

	FUNC_DZ * pFuncInfo = (FUNC_DZ *)m_pFuncMap_DZ->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );

	if( pFuncInfo == NULL )
	{
		SUNLOG(eFULL_LOG,  "[PacketHandler::ParsePacket_DZ] Invalid packet! DZ Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
		ASSERT( ! "Invalid packet from Guild Server!"  ) ;

		return ;
	}

	pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -