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

📄 heroteam.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
字号:
//--------------------------------------------------------------------------
// heroteam.cpp
//--------------------------------------------------------------------------

#include "Hero.h"
#include "GamePlayerSet.h"
#include "Player.h"
#include "GameMsg.h"
#include "AllMsg.h"
#include "GameDataSet.h"

//--------------------------------------------------------------------------
void CHero::TeamCreate()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount != 0)
	{
		OBJID idHaveATeam = 100093;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idHaveATeam));
		return;
	}
	else
	{
		CMsgTeam msg;
		if(msg.Create(this->GetID(), _MSGTEAM_CREATE))
			msg.Send();
	}
}
//--------------------------------------------------------------------------
void CHero::TeamApplyJion(OBJID idTarget)
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount != 0)
	{
		OBJID idLeaveTeamFirst = 100094;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idLeaveTeamFirst));
		return;
	}
	else
	{
		CMsgTeam msg;
		if(msg.Create(idTarget, _MSGTEAM_APPLYJOIN))
			msg.Send();
	}
}
//--------------------------------------------------------------------------
void CHero::TeamLeave()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100095;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id == this->GetID())
	{
		const OBJID idTeamError = 100096;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(this->GetID(), _MSGTEAM_LEAVE))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::TeamAcceptInvite()
{
	// 看看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount != 0)
	{
		OBJID idHaveATeam = 100093;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idHaveATeam));
		return;
	}
	else
	{
		CMsgTeam msg;
		if(msg.Create(m_objTeam.GetLastApplyID(), _MSGTEAM_ACCEPTINVITE))
			msg.Send();
	}
}
//--------------------------------------------------------------------------



//--------------------------------------------------------------------------
void CHero::TeamInvite(OBJID idTarget)
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(idTarget, _MSGTEAM_INVITE))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::TeamKickOut(OBJID idTarget)
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(idTarget, _MSGTEAM_KICKOUT))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::TeamDismiss()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(this->GetID(), _MSGTEAM_DISMISS))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::TeamClose()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(this->GetID(), _MSGTEAM_CLOSETEAM))
	{
		const OBJID idTeamClose = 100147;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamClose));
		msg.Send();
	}
}
//--------------------------------------------------------------------------
void CHero::TeamOpen()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(this->GetID(), _MSGTEAM_OPENTEAM))
	{
		const OBJID idTeamOpen = 100148;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamOpen));		
		msg.Send();
	}
}
//--------------------------------------------------------------------------
void CHero::TeamAgreeApply()
{
	// 看自己有没有队伍
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount == 0)
	{
		const OBJID idTeamError = 100097;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}
	
	
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo->id != this->GetID())
	{
		const OBJID idTeamError = 100098;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idTeamError));
		return;
	}

	CMsgTeam msg;
	if(msg.Create(m_objTeam.GetLastApplyID(), _MSGTEAM_AGREEJOIN))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::ClearTeamMember()
{
	m_objTeam.Destroy();
}
//--------------------------------------------------------------------------
void CHero::SetTeamMemberHp(OBJID idMember, int nHp)
{
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfo(idMember);
	if(pInfo)
	{
		pInfo->dwHp = nHp;
	}
}
//--------------------------------------------------------------------------
void CHero::SetTeamMemberMaxHp(OBJID idMember, int nMaxHp)
{
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfo(idMember);
	if(pInfo)
	{
		pInfo->dwMaxHp = nMaxHp;
	}
}
//--------------------------------------------------------------------------
int CHero::GetTeamMemberAmount()
{
	return m_objTeam.GetMemberInfoAmount();
}
//--------------------------------------------------------------------------
TeamMemberInfo* CHero::GetTeamMemberInfo(int nIndex)
{
	return m_objTeam.GetMemberInfoByIndex(nIndex);
}
//--------------------------------------------------------------------------
BOOL CHero::SetTeamLastApply(OBJID idPlayer)
{
	return m_objTeam.SetLastApplyID(idPlayer);
}
//--------------------------------------------------------------------------
void CHero::AddTeamMember(TeamMemberInfo* pInfo)
{
	if(pInfo)
	{
		m_objTeam.AddMember(pInfo);
	}
}
//--------------------------------------------------------------------------
void CHero::CloseTeam()
{
	m_objTeam.CloseTeam();
	const OBJID idMsg = 100147;
	g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
}
//--------------------------------------------------------------------------
void CHero::OpenTeam()
{
	m_objTeam.OpenTeam();
	const OBJID idMsg = 100148;
	g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
}
//--------------------------------------------------------------------------
void CHero::DelTeamMember(OBJID id)
{
	m_objTeam.DelMember(id);
}
//--------------------------------------------------------------------------
void CHero::ShowTeam(CMyPos posShow)
{
	m_objTeam.Show(posShow);
}
//--------------------------------------------------------------------------
char* CHero::GetTeamApplyerName()
{
	return m_objTeam.GetLastApplyName();
}
//--------------------------------------------------------------------------
BOOL CHero::IsTeamMember(char* pszPlayer)
{
	if(!pszPlayer)
		return false;
	int nAmount = m_objTeam.GetMemberInfoAmount();
	for(int i = 0; i < nAmount; i ++)
	{
		TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(i);
		if(pInfo && strcmp(pInfo->szName, pszPlayer) == 0)
			return true;
	}
	return false;
}
//--------------------------------------------------------------------------
BOOL CHero::IsTeamMember(OBJID idPlayer)
{
	if(m_objTeam.GetMemberInfo(idPlayer))
		return true;
	return false;
}
//--------------------------------------------------------------------------
TeamMemberInfo* CHero::GetTeamMemberInfoByID(OBJID idMember)
{
	return m_objTeam.GetMemberInfo(idMember);
}
//--------------------------------------------------------------------------
BOOL CHero::IsTeamLeader()
{
	int nAmount = m_objTeam.GetMemberInfoAmount();
	if(nAmount <= 0)
		return false;

	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfoByIndex(0);
	if(pInfo && (pInfo->id == this->GetID()))
	{
		return true;
	}
	return false;
}
//--------------------------------------------------------------------------
void CHero::SetTeamMemberFace(OBJID idMember, int nFace)
{
	TeamMemberInfo* pInfo = m_objTeam.GetMemberInfo(idMember);
	if(pInfo)
	{
		pInfo->dwFace = nFace;
		::PostCmd(CMD_FLASH_TEAM_FACE);
	}
}
//--------------------------------------------------------------------------
void CHero::SetTeamMoneyAccess(BOOL bAccess)
{
	if(!this->IsTeamLeader())
		return;
	int nAction;
	if(bAccess)
	{
		nAction = _MSGTEAM_OPENMONEYACCESS;
		const OBJID idMsg = 100149;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}
	else
	{
		nAction = _MSGTEAM_CLOSEMONEYACCESS;
		const OBJID idMsg = 100150;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}

	CMsgTeam msg;
	if(msg.Create(this->GetID(), nAction))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::SetTeamItemAccess(BOOL bAccess)
{
	if(!this->IsTeamLeader())
		return;
	int nAction;
	if(bAccess)
	{
		nAction = _MSGTEAM_OPENITEMACCESS;
		const OBJID idMsg = 100151;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}
	else
	{
		nAction = _MSGTEAM_CLOSEITEMACCESS;
		const OBJID idMsg = 100152;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}
	
	CMsgTeam msg;
	if(msg.Create(this->GetID(), nAction))
		msg.Send();
}
//--------------------------------------------------------------------------

//--------------------------------------------------------------------------
void CHero::SetTeamGemAccess(BOOL bAccess)
{
	if ( !this->IsTeamLeader() )
		return ;
	int nAction;
	if(bAccess)
	{
		nAction = _MSGTEAM_OPENGEMACCESS;
		const OBJID idMsg = 100158;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}
	else
	{
		nAction = _MSGTEAM_CLOSEGEMACCESS;
		const OBJID idMsg = 100159;
		g_objGameMsg.AddMsg(g_objGameDataSet.GetStr(idMsg));
	}
	
	CMsgTeam msg;
	if(msg.Create(this->GetID(), nAction))
		msg.Send();
}
//--------------------------------------------------------------------------
void CHero::QueryTeamMemberPos(OBJID idTarget)
{
	CMsgAction msg;
	if (msg.Create(this->GetID(),0,0,0,actionQueryTeamMember,idTarget))
	{
		msg.Send();
		this->m_dwFlashTeamMemberID = idTarget;
	}
}
//--------------------------------------------------------------------------
OBJID CHero::GetTeamMemberFlashID()
{
	if (::TimeGet() - this->GetTeamLeaderFlashTime() > 3*1000)
		m_dwFlashTeamMemberID;
	return m_dwFlashTeamMemberID;
}
//--------------------------------------------------------------------------

⌨️ 快捷键说明

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