//##类的序列化,用于在游戏服务器之间传输数据
VOID CUseGoodsEnlargeMaxMpState::Serialize( vector<BYTE>& vOut )
{
	//##是否需要将技能的id和等级都压入?
	//##这个状态只有技能ID,不需要压入等级,但是有些其他的状态需要等级
	_AddToByteArray( &vOut, m_lID );

	//##剩余时间
	_AddToByteArray( &vOut, GetRemainedTime() );


	_AddToByteArray( &vOut, m_dwCoefficient );
}
Ejemplo n.º 2
0
//##类的序列化,用于在游戏服务器之间传输数据
VOID CExState1::Serialize( vector<BYTE>& vOut )
{
	//##是否需要将技能的id和等级都压入?
	//##这个状态只有技能ID,不需要压入等级,但是有些其他的状态需要等级
	_AddToByteArray( &vOut, m_lID );

	//##剩余时间
	m_stStateParam.keeptime	= GetRemainedTime();

	_AddToByteArray( &vOut, &m_stStateParam, sizeof(tagExState) );

}
Ejemplo n.º 3
0
//##类的序列化,用于在游戏服务器之间传输数据
VOID CRestoreHpState::Serialize( vector<BYTE>& vOut )
{
	//##是否需要将技能的id和等级都压入?
	//##这个状态只有技能ID,不需要压入等级,但是有些其他的状态需要等级
	_AddToByteArray( &vOut, m_lID );

	//##剩余时间
	_AddToByteArray( &vOut, GetRemainedTime() );

	//##频率
	_AddToByteArray( &vOut, m_dwFrequency );

	//##加血量
	_AddToByteArray( &vOut, m_dwHPGain );
	
}
Ejemplo n.º 4
0
void CFixSummonAI::AI()
{
	if(GetRemainedTime() == 0)
	{
		StepEndAI();
		return;
	}
	else
	{
		if(FindEffect(m_vecSummonEffect[0]) == NULL)
		{
			CClientRegion *pRegion = GetGame()->GetRegion();
			float x = GetPosX();
			float y = GetPosY();
			float h = pRegion->GetCellHeight(x, y);
			AddEffect(m_vecSummonEffect[0], x, y, h, true);

			char strFile[MAX_PATH];
			sprintf(strFile, "sounds/skills/%d.wav", m_vecSummonSound[0]);
			GetGame()->GetAudioList()->Play(strFile, x, y, h);
		}
	}
}
Ejemplo n.º 5
0
bool C_TIMER::IsTimeOver()
{
	return GetRemainedTime() == 0;
}