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

📄 dbsocket.cpp

📁 韩国英雄王座倒闭后流出来部分源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:

	it		= pSocketFD->pPlayer->m_MapGuildSkill.Begin();
	itEnd	= pSocketFD->pPlayer->m_MapGuildSkill.End();

	while(true)
	{
		wNum = 0 ;
		memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;

		cp = lpSendPacket->strPacket;

		// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
		pTmpCount	= cp ;
		cp			+= sizeof(wNum) ;

		for (; it != itEnd; ++it)
		{
			CGuildSkill *pGuildSkill = (CGuildSkill *)it->second;

			pGuildSkill->GetGuildSkill( (_LPZP_GUILDSKILL_REP)cp );

			cp += sizeof(_ZP_GUILDSKILL_REP) ; 
			++wNum;
			
			///////////////////////////////////////////////
			// 20 究 胶懦 沥焊甫 焊晨 
			///////////////////////////////////////////////
			if(wNum == 20) 
			{	
				++it;	
				break ;		
			}

		}
		
		memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;


		lpSendPacket->dwSize	= cp - lpSendPacket->strPacket ;
		lpSendPacket->dwCommand = ZP_GUILDSKILLLIST_REP ;

		// 胶懦捞 乐绰 版快父 焊辰促.
		if(wNum != 0 )
			g_pServer->Send_Single( pSocketFD , lpSendPacket);

		if(it == itEnd) break ;
	}

	//	--------------------------------------------------------------------------------
	//	SKILL沥焊甫 傈价窃 
	//	--------------------------------------------------------------------------------
	memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
		
	cp	= lpSendPacket->strPacket;	
	wNum	= 0 ;
	wSize	= 0 ;	

	it		= pSocketFD->pPlayer->m_MapSkill.Begin();
	itEnd	= pSocketFD->pPlayer->m_MapSkill.End();

	while(true)
	{
		wNum = 0 ;
		memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;

		cp = lpSendPacket->strPacket;

		// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
		pTmpCount	= cp ;
		cp			+= sizeof(wNum) ;

		for (; it != itEnd; ++it)
		{
			CEnchant *pSkill = (CEnchant *)it->second;

			pSkill->GetPlayerSkill( (_LPZP_PLAYERSKILL_REP)cp );

			cp += sizeof(_ZP_PLAYERSKILL_REP) ; 
			++wNum;
			
			///////////////////////////////////////////////
			// 5俺究 胶懦 沥焊甫 焊晨 
			///////////////////////////////////////////////
			if(wNum == 5) 
			{	
				++it;	
				break ;		
			}

		}
		
		memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;


		lpSendPacket->dwSize	= cp - lpSendPacket->strPacket ;
		lpSendPacket->dwCommand = ZP_PLAYERSKILL_REP ;
		
		g_pServer->Send_Single( pSocketFD , lpSendPacket);

		if(it == itEnd) break ;
	}
	LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
	

	//	--------------------------------------------------------------------------------
	//	Quest沥焊 傈价
	//	--------------------------------------------------------------------------------
	memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;
		
	cp	= lpSendPacket->strPacket;	
	wNum	= 0 ;
	wSize	= 0 ;	

	it		= pSocketFD->pPlayer->m_ActiveQuest.Begin();
	itEnd	= pSocketFD->pPlayer->m_ActiveQuest.End();
	
	while(true)
	{
		wNum = 0 ;
		memset(lpSendPacket, 0x0 , (sizeof( _ZEMIPACKET ))) ;

		cp = lpSendPacket->strPacket;

		// 酒捞袍狼 肮荐甫 历厘窍绰 厘家捞促.
		pTmpCount	=	cp ;
		cp			+=	sizeof(wNum) ;

		for (; it != itEnd; ++it)
		{
			CActiveQuest	*pActiveQuest = (CActiveQuest *)it->second;

			pActiveQuest->GetQuestInfo( _LPZP_QUESTACTIVELIST_REP(cp) );


			_LPZP_QUESTACTIVELIST_REP p = (_LPZP_QUESTACTIVELIST_REP)cp;

			cp += sizeof(_ZP_QUESTACTIVELIST_REP) ; 
			++wNum;

			//	------------------------------------------------------------------------
			//	2俺究 胶懦 沥焊甫 焊晨 
			//	------------------------------------------------------------------------
			if(wNum == 2) 
			{	
				++it;	
				break ;		
			}

		}
		
		memcpy (pTmpCount, &wNum,sizeof(wNum) ) ;


		lpSendPacket->dwSize	= cp - lpSendPacket->strPacket ;
		lpSendPacket->dwCommand = ZP_QUESTACTIVELIST_REP ;
		
		g_pServer->Send_Single( pSocketFD , lpSendPacket);

		if(it == itEnd) break ;
	}	

	
	g_pServerMem->ZemiPacket_Push(  lpSendPacket );


	ErrorMsg( "LOGIN - Receve Skill [%s]",	pSocketFD->pPlayer->m_strPlayerID );

	//
	//	霸烙 包访 单捞鸥甫 傈价窃
	//
	pSocketFD->pPlayer->Init_Game();
}


////////////////////////////////////////////////////////////////////////////////////////
//	WORLD SERVER -> ITEM SLOT
//
//	Jason 2004-06-01
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_ItemSlot(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
	_LPDBPACKET		pDBPacket	= (_LPDBPACKET)lpIOContext->buf;	
	_LPSOCKET_FD	pSocketFD	= (_LPSOCKET_FD)pDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD )	)	return;			//	SOCKET 八荤		

	char * lpReadData	= pDBPacket->strPacket;
	WORD wReadNum		= *((WORD *)lpReadData );
	lpReadData			+= sizeof(WORD) ;

	if(wReadNum == 0)
		return;

	EnterCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
	
	for(int i=0; i<wReadNum; i++)
	{
		_LPZW_ITEMSLOTUPDATELIST pSlot = (_LPZW_ITEMSLOTUPDATELIST)lpReadData;

		if(pSlot)
		{
			//	--------------------------------------------------------------------------------
			//	Base Item俊 单捞鸥甫 茫澜 
			//	--------------------------------------------------------------------------------
			_BASE_ITEM_ *pBaseItem	= (_BASE_ITEM_ *)g_Base.m_BaseItem.Find( pSlot->wItemIndex );
			if( pBaseItem )
			{
				pSocketFD->pPlayer->SetItemSlot(pSlot->m_nDBOP, pSlot->nSLOT, pSlot->wItemIndex, pBaseItem->nTYPE);
			}
		}

		lpReadData += sizeof(_ZW_ITEMSLOTUPDATELIST);
	}

	LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );


}


////////////////////////////////////////////////////////////////////////////////////////
//	WORLD SERVER -> ITEM SLOT
//
//	Jason 2004-06-01
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildSkill(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
	_LPDBPACKET		pDBPacket	= (_LPDBPACKET)lpIOContext->buf;	
	_LPSOCKET_FD	pSocketFD	= (_LPSOCKET_FD)pDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD )	)	return;			//	SOCKET 八荤		

	char * lpReadData	= pDBPacket->strPacket;
	int iReadNum		= *((WORD *)lpReadData );
	lpReadData			+= sizeof(WORD) ;

	if(iReadNum == 0)		return;

	EnterCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );
	
	while ((iReadNum)-- > 0 )
	{
		_LPZW_GUILDSKILL_REP lpGuildSkill  = (_LPZW_GUILDSKILL_REP ) lpReadData ;	

		pSocketFD->pPlayer->Init_GuildSkill(lpGuildSkill) ;

		lpReadData += sizeof( _ZW_GUILDSKILL_REP) ;	
	}

	LeaveCriticalSection( &pSocketFD->pPlayer->m_LockPlayer );


}


////////////////////////////////////////////////////////////////////////////////////////
//	PLYAER LOGOUT DB历厘 贸府 肯丰等 版快 
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_PlayerOut(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
	g_pServer->World_PlayerOut_Rep( (_LPDBPACKET)lpIOContext->buf) ;	
}


////////////////////////////////////////////////////////////////////////////////////////
//	PLYAER MAP OUT (鞍篮 肺流栏肺 贸府窃)
//	
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_PlayerMapOut(_LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{
	g_pServer->World_PlayerMapOut_Rep( (_LPDBPACKET)lpIOContext->buf) ;	
}


////////////////////////////////////////////////////////////////////////////////////////
//	NOTIC Msg
//	
//	-	UDP Packet栏肺 函版	咯何 Checking
////////////////////////////////////////////////////////////////////////////////////////
void  WorldPacket_NoticeMsg( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;	
	_LPZW_NOTICEMSG	 p		= (_LPZW_NOTICEMSG)lpDBPacket->strPacket;
	
	g_pServer->PacketSend_NoticeMsg(	p->strMsg );	//	傍瘤 MSG傈价
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildCreate( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;	
	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->GuildCreate((_LPZP_CREATEGUILD_REP) lpDBPacket->strPacket) ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildJoin( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;	
	
	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->GuildJoin((_LPZP_JOINGUILD_ASK) lpDBPacket->strPacket) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_LeaveGuild( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;
	
	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->GuildLeave((_LPZP_GUILDOP) lpDBPacket->strPacket) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_KickMember( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->KickMember((_LPZP_GUILDOP) lpDBPacket->strPacket) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//	辨靛 桂农 沥焊甫 傈价窃
//
//	-	辨靛 牢亥配府 沥焊 傈价
//	-	辨靛 芒绊 沥焊 傈价
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInfor( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;
	
	pSocketFD->pPlayer->GuildInfor(lpDBPacket->strPacket) ;

}


////////////////////////////////////////////////////////////////////////////////////////
//	秦寸 辨靛 沥焊 诀单捞飘
//
//	
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInforServer( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	g_pServer->Packet_GuildInforServer((_LPDBPACKET)lpIOContext->buf) ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildMember( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->GuildMember(lpDBPacket->strPacket) ;
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildChangeExp( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	
	g_pServer->Packet_GuildChangeExp((_LPDBPACKET)lpIOContext->buf)  ;

}

void WorldPacket_GuildNoticeSet( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidity( pSocketFD ) )	return;

	pSocketFD->pPlayer->GuildNoticeSet((_LPZP_GUILDNOTICESET_REP )lpDBPacket->strPacket) ;
}



////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildInforChange( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	

	g_pServer->Packet_GuildInforChange((_LPDBPACKET)lpIOContext->buf) ;
}



////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void WorldPacket_GuildDisband( _LPDBSOCK lpWorldSock, _LPPER_BULK_IO_CONTEXT lpIOContext )
{	
	_LPDBPACKET lpDBPacket	= (_LPDBPACKET)lpIOContext->buf;

	_LPSOCKET_FD		pSocketFD	=	(_LPSOCKET_FD)lpDBPacket->pSocketFD;

	if( !IsSocketValidit

⌨️ 快捷键说明

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