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

📄 msgfriendinfo.cpp

📁 网络游戏魔域的服务端与客户端完整源代码 包括详细的说明文档与开发日志
💻 CPP
字号:
// MsgFriendInfo.cpp: implementation of the CMsgFriendInfo class.
//
//////////////////////////////////////////////////////////////////////

#include "MsgFriendInfo.h"
#include "Hero.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMsgFriendInfo::CMsgFriendInfo()
{
	Init();
	m_pInfo	=(MSG_Info *)m_bufMsg;
}

CMsgFriendInfo::~CMsgFriendInfo()
{

}
//--------------------------------------------------------------------
BOOL CMsgFriendInfo::Create(char* pbufMsg, DWORD dwMsgSize)
{
	if (!CNetMsg::Create(pbufMsg, dwMsgSize))
		return false;

	if(_MSG_FRIENDINFO != this->GetType())
		return false;

	return true;
}

//--------------------------------------------------------------------
void CMsgFriendInfo::Process(void *pInfo)
{
	if(m_pInfo->ucAction == _FRIEND_INFO)
	{
		
		CFriend* pFriend = g_objHero.GetFriend(m_pInfo->idFriend);
		if(!pFriend)
			return;
		pFriend->SetLevel((DWORD)m_pInfo->ucLevel);
		pFriend->SetFace((DWORD)(m_pInfo->dwLook/10000)%1000);
		pFriend->SetLook((DWORD)m_pInfo->dwLook%1000);
		pFriend->SetPK((int)m_pInfo->sPk);
		pFriend->SetProfessional((DWORD)m_pInfo->ucProfession);
		
		OBJID idSyndicate = m_pInfo->dwSynID_Rank & 0x00ffffff;
		DWORD dwRank = m_pInfo->dwSynID_Rank >> 24;
		pFriend->SetSyndicateID(idSyndicate);
		pFriend->SetRank(dwRank);
		pFriend->SetMate(m_pInfo->szMate);
		pFriend->SetNobilityRank(m_pInfo->ucNobilityRank);
		if(pFriend->GetID() == g_objHero.GetCurrentQueryFriendID())
		{
			g_objHero.QueryFriendReturn();
		}
	}
	else
	{
		
		CEnemy* pEnemy = g_objHero.GetEnemy(m_pInfo->idFriend);
		if(!pEnemy)
			return;
		pEnemy->SetLevel((DWORD)m_pInfo->ucLevel);
		pEnemy->SetFace((DWORD)(m_pInfo->dwLook/10000)%1000);
		pEnemy->SetLook((DWORD)m_pInfo->dwLook%1000);
		pEnemy->SetPK((int)m_pInfo->sPk);
		pEnemy->SetProfessional((DWORD)m_pInfo->ucProfession);
		
		OBJID idSyndicate = m_pInfo->dwSynID_Rank & 0x00ffffff;
		DWORD dwRank = m_pInfo->dwSynID_Rank >> 24;
		pEnemy->SetSyndicateID(idSyndicate);
		pEnemy->SetRank(dwRank);
		pEnemy->SetMate(m_pInfo->szMate);
		pEnemy->SetNobilityRank(m_pInfo->ucNobilityRank);
		if(pEnemy->GetID() == g_objHero.GetCurrentQueryEnemyID())
		{
			g_objHero.QueryEnemyReturn();
		}
	}
}
//--------------------------------------------------------------------

⌨️ 快捷键说明

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