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

📄 player.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
📖 第 1 页 / 共 4 页
字号:
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSyndicate()
{
	return g_objPlayerSet.GetSyndicateName(m_infoPlayer.idSyndicate);
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSubSyndicate()
{
	return g_objPlayerSet.GetSyndicateLeaderName(m_infoPlayer.idSyndicate);
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSyndicateTitle()
{
	int i;
	for(i = 0; i < RANKAMOUNT; i++)
	{
		if(SYNDICATERANKINFOSET[i].dwRank == m_infoPlayer.dwSyndicateRank)
		{
			return (char*)g_objGameDataSet.GetStr(SYNDICATERANKINFOSET[i].idTitle);
		}
	}
	// error ...
	for(i = 0; i < RANKAMOUNT; i++)
	{
		if(SYNDICATERANKINFOSET[i].dwRank == RANK_NONE)
		{
			return (char*)g_objGameDataSet.GetStr(SYNDICATERANKINFOSET[i].idTitle);
		}
	}
	return NULL;
}
//-------------------------------------------------------------------------------
char*	CPlayer::GetSyndicateLeaderName()
{
	return m_infoPlayer.szSyndicateLeader;
}
//------------------------------------------------------------------
void	CPlayer::SetSyndicateLeaderName(char* pszLeader)
{
	if(pszLeader)
		strcpy(m_infoPlayer.szSyndicateLeader, pszLeader);
}
//------------------------------------------------------------------
DWORD	CPlayer::GetSyndicateFund()
{
	return m_infoPlayer.dwSyndicateFund;
}
//------------------------------------------------------------------
void	CPlayer::SetSyndicateFund(DWORD dwFund)
{
	m_infoPlayer.dwSyndicateFund = dwFund;
}
//------------------------------------------------------------------
void	CPlayer::SetSyndicateFamer(DWORD dwSyndicateFamer)
{
	m_infoPlayer.dwSyndicateFamer = dwSyndicateFamer;
}
//------------------------------------------------------------------
DWORD	CPlayer::GetSyndicateFamer()
{
	return m_infoPlayer.dwSyndicateFamer;
}
//------------------------------------------------------------------
DWORD	CPlayer::GetSyndicatePopulation()
{
	return m_infoPlayer.dwSyndicatePopulation;
}
//------------------------------------------------------------------
void	CPlayer::SetSyndicatePopulation(DWORD dwPopulation)
{
	m_infoPlayer.dwSyndicatePopulation = dwPopulation;
}
//------------------------------------------------------------------

void CPlayer::SetMaxLife(DWORD dwMaxLife) 
{
	if(m_pIRoleView)
		m_pIRoleView->SetVariable(_VAR_MAX_LIFE, dwMaxLife);
	m_infoPlayer.dwMaxLife = dwMaxLife;
}

//------------------------------------------------------------------
DWORD CPlayer::GetLife()
{
	return m_infoPlayer.dataLife.GetValue();
}

//------------------------------------------------------------------
void CPlayer::SetLife(DWORD dwLife) 
{
	if(m_pIRoleView)
		m_pIRoleView->SetVariable(_VAR_LIFE, dwLife);

	//m_infoPlayer.dwLife = dwLife;
	m_infoPlayer.dataLife.SetValue(dwLife);
}

//------------------------------------------------------------------
DWORD CPlayer::GetMana()
{
	return m_infoPlayer.dataMana.GetValue();
}

//------------------------------------------------------------------
void CPlayer::SetMana(DWORD dwMana) 
{
	int nMana = m_infoPlayer.dataMana.GetValue();
	if(nMana > (int)dwMana && g_objHero.GetID() == this->GetID())
		g_objHero.m_objCheck.DecMana();
	m_infoPlayer.dataMana.SetValue(dwMana);
}

//------------------------------------------------------------------
char* CPlayer::GetPkTitle()
{
	return g_obj3DRoleData.GetPkTitle(m_infoPlayer.nPk);
}
//------------------------------------------------------------------
void CPlayer::AddProfessionalCoolposEffect(DWORD dwProfessional, BOOL bAllNosuch/* = true*/)
{
/*	switch(dwProfessional)
	{
		case PROFSORT_WARRIOR:
			if (bAllNosuch)
				this->m_objEffect.Add("warrior");
			else
				this->m_objEffect.Add("warrior-s");
			break;
		case PROFSORT_SOLDIER:
			if (bAllNosuch)
				this->m_objEffect.Add("fighter");
			else
				this->m_objEffect.Add("fighter-s");
			break;
		case PROFSORT_XIAKE:
			// to do ...
			break;
		case PROFSORT_ARCHER:
			if (bAllNosuch)
				this->m_objEffect.Add("archer");
			else
				this->m_objEffect.Add("archer-s");
			break;
		case PROFSORT_DAOIST:
		case PROFSORT_DAOISTGOLD:
		case PROFSORT_DAOISTWOOD:
		case PROFSORT_DAOISTWATER:
		case PROFSORT_DAOISTFIRE:
		case PROFSORT_DAOISTEARTH:
			if (bAllNosuch)
				this->m_objEffect.Add("taoist");
			else
				this->m_objEffect.Add("taoist-s");
			break;
	}*/
}
//--------------------------------------------------------------------------------------
void CPlayer::AddMoneyEffect(DWORD dwMoney)
{
	char szStr[64];
	sprintf(szStr, "$ %u", dwMoney);
	if (dwMoney >= 1000 || this->TestStatus(USERSTATUS_ADJUST_DROPMONEY)) 
	{
		this->m_objEffect.Add("muchmoney",false,0,this->GetLook());
		this->AddFStr(szStr, 64,0x00ffffff,3,1000);
	}
	else
	{
		this->m_objEffect.Add("money",false,0,this->GetLook());
		this->AddFStr(szStr);	
	}
}

//------------------------------------------------------------------
BOOL CPlayer::IsBaddy()
{
	if(this->TestStatus(USERSTATUS_CRIME) || this->TestStatus(USERSTATUS_RED) 
							|| this->TestStatus(USERSTATUS_DARKRED))
		return true;
	return false;
}
//------------------------------------------------------------------
DWORD CPlayer::GetCurLife()
{
	return m_infoPlayer.dataCurLife.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetCurLife(int nLife)
{
	m_infoPlayer.dataCurLife.SetValue(nLife);
}
//------------------------------------------------------------------
DWORD CPlayer::GetCurMana()
{
	return m_infoPlayer.dataCurMana.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetCurMana(int nMana)
{
	m_infoPlayer.dataCurMana.SetValue(nMana);
}
//------------------------------------------------------------------
void CPlayer::ShowKoAmount(BOOL bImmedia)
{
	if(!this->TestStatus(USERSTATUS_XPFULL))
		return;

	int nNameShowOffset = this->GetZoomPercent()*(OFFSET_NAMESHOW+50)/100 + this->GetOffsetY();
	int nShowX	=m_Info.posScr.x;
	int nShowY	=m_Info.posScr.y-nNameShowOffset;
				
	g_objGameMap.MapScaleShowPos(nShowX, nShowY);
	CAni* pAni = g_objGameDataSet.GetDataAni("ani/common.ani", "Ko", EXIGENCE_IMMEDIATE);
	if (pAni)
	{
		CMyBitmap* pBmp = pAni->GetFrame(0);
		if(pBmp)
		{
			CMySize sizeKO;
			pBmp->GetSize(sizeKO.iWidth, sizeKO.iHeight);
			sizeKO.iWidth = sizeKO.iWidth*2/3;
			sizeKO.iHeight = sizeKO.iHeight*2/3;
			CMyPos posShow = {_SCR_WIDTH-60, _SCR_HEIGHT-220};

			posShow.x = nShowX-sizeKO.iWidth*4*this->GetZoomPercent()/3/100;
			posShow.y = nShowY-sizeKO.iHeight*this->GetZoomPercent()/2/100;

			pBmp->ShowEx(posShow.x, posShow.y, NULL, sizeKO.iWidth, sizeKO.iHeight);


			CMyPos posKo = {posShow.x+sizeKO.iWidth*this->GetZoomPercent()*2/100, posShow.y+sizeKO.iHeight*this->GetZoomPercent()/2/100};

			m_objImgNumber.SetShowPos(posKo);
			
			char szInfo[256] = "";
			sprintf(szInfo, "%02u", this->GetKoAmount());
			m_objImgNumber.SetString(szInfo);
			
			if(m_dwKoScale > 50)
				m_dwKoScale -= 10;
			
			m_objImgNumber.SetScalePercent(100);
			if(this->TestStatus(USERSTATUS_XPFULL))
				m_objImgNumber.SetColor(_COLOR_RED, 0xff);
			else
				m_objImgNumber.SetColor(_COLOR_GREEN, 0xff);
			m_objImgNumber.Show();
		}
	}
}
//------------------------------------------------------------------
void	CPlayer::ProcessStatusEffect(__int64 dwStatus)
{
	int nAmount = g_obj3DRoleData.GetStatusEffectInfoAmount();
	for(int i = 0; i < nAmount; i ++)
	{
		StatusEffectInfo* pInfo = g_obj3DRoleData.GetStatusEffectInfoByIndex(i);
		if(!pInfo)
			continue;
		if (dwStatus&pInfo->dwStatus)
		{
			if (!this->TestStatus(pInfo->dwStatus))
			{
				if (strcmp(pInfo->sz2DEffect, "NULL") != 0 && (!this->TestAniEffect(pInfo->sz2DEffect)))
					this->AddAniEffect(pInfo->sz2DEffect);
				if(strcmp(pInfo->sz3DEffect, "NULL") != 0)
					m_objEffect.Add(pInfo->sz3DEffect);
			}
		}
		else
		{
			if (this->TestStatus(pInfo->dwStatus))
			{
				if(strcmp(pInfo->sz2DEffect, "NULL") != 0)
					this->ClrAniEffect(pInfo->sz2DEffect);
				if(strcmp(pInfo->sz3DEffect, "NULL") != 0)
					m_objEffect.Delete(pInfo->sz3DEffect);
			}
		}			
	}
}
//------------------------------------------------------------------
DWORD	CPlayer::GetData(DWORD dwDataType)
{
	if(m_pFD)
		return m_pFD->GetValue(dwDataType);
	return 0;
}
//------------------------------------------------------------------
void	CPlayer::SetData(DWORD dwDataType, DWORD dwData)
{

	if(g_objHero.GetID() == this->GetID() && _PLAYER_LIFE == dwDataType)
	{
		int nLife = this->GetData(_PLAYER_LIFE);
		if(nLife > (int)dwData)
			g_objHero.m_objCheck.DecLife();
	}
	if(m_pFD)
		m_pFD->SetValue(dwData, dwDataType);
}
//------------------------------------------------------------------
DWORD	CPlayer::GetMercenaryLevel()
{
	return m_infoPlayer.dwMercenaryLevel;
}
//------------------------------------------------------------------
void	CPlayer::SetMercenaryLevel(DWORD dwMercenaryLevel)
{
	m_infoPlayer.dwMercenaryLevel = dwMercenaryLevel;
}
//------------------------------------------------------------------
DWORD	CPlayer::GetMercenaryExp()
{
	return m_infoPlayer.dwMercenaryExp;
}
//------------------------------------------------------------------
void	CPlayer::SetMercenaryExp(DWORD dwMercenaryExp)
{
	m_infoPlayer.dwMercenaryExp = dwMercenaryExp;
}
//------------------------------------------------------------------
DWORD	CPlayer::GetSelectedHonorTitle()
{
	return m_infoPlayer.dwSelectHonorTitle;
}
//------------------------------------------------------------------
void	CPlayer::SetSelectedHonorTitle(DWORD dwSelectedTitle)
{
	m_infoPlayer.dwSelectHonorTitle = dwSelectedTitle;
}
//------------------------------------------------------------------
DWORD	CPlayer::GetNobilityRank()
{
	return m_infoPlayer.dwNobilityRank;
}
//------------------------------------------------------------------
void	CPlayer::SetNobilityRank(DWORD dwNobilityRank)
{
	m_infoPlayer.dwNobilityRank = dwNobilityRank;
}
//------------------------------------------------------------------
DWORD			CPlayer::GetHonorTitleAmount()
{
	return m_infoPlayer.setHonorTitle.size();
}
//------------------------------------------------------------------
const char*			CPlayer::GetHororTitle(int nIndex)
{
	if(nIndex < 0 && nIndex >= m_infoPlayer.setHonorTitle.size())
		return NULL;
	return g_obj3DRoleData.GetHonorTitle(nIndex);
}
//------------------------------------------------------------------
unsigned char	CPlayer::GetHororTitleIndex(int nIndex)
{
	if(nIndex < 0 && nIndex >= m_infoPlayer.setHonorTitle.size())
		return 0;
	return m_infoPlayer.setHonorTitle[nIndex];
}
//------------------------------------------------------------------
void			CPlayer::AddHororTitle(int nIndex)
{
	for(int i = 0; i < m_infoPlayer.setHonorTitle.size(); i ++)
	{
		if(nIndex = m_infoPlayer.setHonorTitle[i])
			break;
	}
	if(i == m_infoPlayer.setHonorTitle.size())
		m_infoPlayer.setHonorTitle.push_back(nIndex);
}
//------------------------------------------------------------------
DWORD			CPlayer::GetMedalAmount()
{
	return m_infoPlayer.setMedal.size();
}
//------------------------------------------------------------------
const char*			CPlayer::GetMedale(int nIndex)
{
	if(nIndex < 0 && nIndex >= m_infoPlayer.setMedal.size())
		return NULL;
	return g_obj3DRoleData.GetMedal(nIndex);
}
//------------------------------------------------------------------
unsigned char	CPlayer::GetMedaleIndex(int nIndex)
{
	if(nIndex < 0 && nIndex >= m_infoPlayer.setMedal.size())
		return 0;
	return m_infoPlayer.setMedal[nIndex];
}
//------------------------------------------------------------------
void	CPlayer::AddMedaleTitle(int nIndex)
{
	for(int i = 0; i < m_infoPlayer.setMedal.size(); i ++)
	{
		if(nIndex = m_infoPlayer.setMedal[i])
			break;
	}
	if(i == m_infoPlayer.setMedal.size())
		m_infoPlayer.setMedal.push_back(nIndex);
}
//------------------------------------------------------------------
char*	CPlayer::GetNobilityTitle()
{
	return (char*)g_obj3DRoleData.GetNobilityTitle(this->GetSelectedHonorTitle());
}
//------------------------------------------------------------------
void	CPlayer::SetTutorLevel(DWORD dwTutorLevel)
{
	m_infoPlayer.dwTutorLevel = dwTutorLevel;
}
//------------------------------------------------------------------
void	CPlayer::SetTutorExp(int dwTutorExp)
{
	m_infoPlayer.dwTutorExp = dwTutorExp;
}
//------------------------------------------------------------------
DWORD   CPlayer::GetTutorLevel()
{
	return m_infoPlayer.dwTutorLevel;
}
//------------------------------------------------------------------
int		CPlayer::GetTutorExp()
{
	return m_infoPlayer.dwTutorExp;
}
//------------------------------------------------------------------
void	CPlayer::SetNpcTitle(const char* pszTitle)
{
	if(pszTitle)
		strcpy(m_szNpcTitle, pszTitle);
}

void CPlayer::SetSyndicateLevel(UINT uiLevel)
{
	m_infoPlayer.uiSyndicateLevel = uiLevel;
}

UINT CPlayer::GetSyndicateLevel()
{
	return m_infoPlayer.uiSyndicateLevel;
}

⌨️ 快捷键说明

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