Addtext Help

04/23/2018 07:10 babyminion#1
little help please? :handsdown:
[Only registered and activated users can see links. Click Here To Register...]
04/23/2018 09:17 Timelimits#2
the void for Cuser::AddText only takes 1 value or argument however you wanna look at it, somewhere you're calling another statement so either update the void to handle another or remove the second?
04/23/2018 09:40 babyminion#3
Quote:
Originally Posted by Timelimits View Post
the void for Cuser::AddText only takes 1 value or argument however you wanna look at it, somewhere you're calling another statement so either update the void to handle another or remove the second?
this is what i use:
AttackArbitter.cpp
Code:
#ifdef __EXTRA
	else
	{
		if( m_pDefender->IsNPC() && ( m_pDefender->GetProp()->dwClass == RANK_LOW || m_pDefender->GetProp()->dwClass == RANK_NORMAL || m_pDefender->GetProp()->dwClass == RANK_CAPTAIN ))
		{
			CItemElem* pExtra1 = m_pAttacker->m_Inventory.GetEquip( PARTS_EXTRA1 );
			CItemElem* pExtra2 = m_pAttacker->m_Inventory.GetEquip( PARTS_EXTRA2 );
			
			CString str;
			int nExtraOk = 500;	//	1/500
			bool bMsg = TRUE;
			if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_15DAYS ) )
			{
				// Chance /2
				nExtraOk = 250;
			}
			else if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_15DAYS ) )
			{
				// Chance /5
				nExtraOk = 100;
			}
			else if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_15DAYS ) )
			{
				// Chance 100%
				nExtraOk = 1;
				bMsg = FALSE;
			}
			
			if( (pExtra1 && pExtra1->GetProp()->dwID == II_SYS_EXTRA_OK_1) && (pExtra2 && pExtra2->GetProp()->dwID == II_SYS_EXTRA_OK_2) )
			{
				int nRandom = xRandom( nExtraOk );
				if( nRandom == 0 || nRandom == 1 )
				{
					g_UserMng.AddCreateSfxObj( m_pAttacker, XI_SKILL_BARUNA_WEA_DEATHRUNE );
					str.Format( prj.GetText( TID_GAME_ORBE_TEXT_01 ), pExtra1->GetProp()->szName, pExtra2->GetProp()->szName );
					if( bMsg )
						((CUser*)m_pAttacker)->AddText( str, 0xFFFF0000 );
					
					return m_pDefender->GetHitPoint();
				}
			}
		}
	}
#endif // __EXTRA
Code:

#ifdef __EXTRA
	CItemElem* pExtra1 = m_pAttacker->m_Inventory.GetEquip( PARTS_EXTRA1 );
	CItemElem* pExtra2 = m_pAttacker->m_Inventory.GetEquip( PARTS_EXTRA2 );
	
	CString str;
	int nExtraHP = 100;	//	1/100
	int nExtraMP = 100;	//	1/100
	int nExtraFP = 100;	//	1/100
	bool bMsg = TRUE;
	if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X2_15DAYS ) )
	{
		// Chance /2
		nExtraHP = 50;
		nExtraMP = 50;
		nExtraFP = 50;
	}
	else if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_X5_15DAYS ) )
	{
		// Chance /5
		nExtraHP = 20;
		nExtraMP = 20;
		nExtraFP = 20;
	}
	else if( m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_1DAY ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_7DAYS ) || m_pAttacker->HasBuff( BUFF_ITEM, II_SYS_EXTRA_UP_100PERCENT_15DAYS ) )
	{
		// Chance 100%
		nExtraHP = 1;
		nExtraMP = 1;
		nExtraFP = 1;
		bMsg = FALSE;
	}
	

	
	if( (pExtra1 && pExtra1->GetProp()->dwID == II_SYS_EXTRA_HP_1) && (pExtra2 && pExtra2->GetProp()->dwID == II_SYS_EXTRA_HP_2) )
	{
		int nRandom = xRandom( nExtraHP );
		if( nRandom == 0 || nRandom == 1 )
		{
			m_pAttacker->SetPointParam( DST_HP, m_pAttacker->GetMaxHitPoint() );
			g_UserMng.AddCreateSfxObj( m_pAttacker, XI_SKILL_BARUNA_WEA_DEATHRUNE );
			str.Format( prj.GetText( TID_GAME_ORBE_TEXT_02 ), pExtra1->GetProp()->szName, pExtra2->GetProp()->szName );
			if( bMsg )
				((CUser*)m_pAttacker)->AddText( str, 0xFFFF0000 );
		}
	}
	
	if( (pExtra1 && pExtra1->GetProp()->dwID == II_SYS_EXTRA_MP_1) && (pExtra2 && pExtra2->GetProp()->dwID == II_SYS_EXTRA_MP_2) )
	{
		int nRandom = xRandom( nExtraMP );
		if( nRandom == 0 || nRandom == 1 )
		{
			m_pAttacker->SetPointParam( DST_MP, m_pAttacker->GetMaxManaPoint() );
			g_UserMng.AddCreateSfxObj( m_pAttacker, XI_SKILL_BARUNA_WEA_DEATHRUNE );
			str.Format( prj.GetText( TID_GAME_ORBE_TEXT_03 ), pExtra1->GetProp()->szName, pExtra2->GetProp()->szName );
			if( bMsg )
				((CUser*)m_pAttacker)->AddText( str, 0xFFFF0000 );
		}
	}
	
	if( (pExtra1 && pExtra1->GetProp()->dwID == II_SYS_EXTRA_FP_1) && (pExtra2 && pExtra2->GetProp()->dwID == II_SYS_EXTRA_FP_2) )
	{
		int nRandom = xRandom( nExtraFP );
		if( nRandom == 0 || nRandom == 1 )
		{
			m_pAttacker->SetPointParam( DST_FP, m_pAttacker->GetMaxFatiguePoint() );
			g_UserMng.AddCreateSfxObj( m_pAttacker, XI_SKILL_BARUNA_WEA_DEATHRUNE );
			str.Format( prj.GetText( TID_GAME_ORBE_TEXT_04 ), pExtra1->GetProp()->szName, pExtra2->GetProp()->szName );
			if( bMsg )
				((CUser*)m_pAttacker)->AddText( str, 0xFFFF0000 );
		}
	}
#endif // __EXTRA
04/23/2018 10:14 Avalion#4
The function "AddText" is the class "CUser" (CUser::AddText) does not take 2 parameters. Look at the function or code an overloaded function to accept another parameter.

error c2660
[Only registered and activated users can see links. Click Here To Register...]
04/23/2018 14:35 babyminion#5
Quote:
Originally Posted by Avalion View Post
The function "AddText" is the class "CUser" (CUser::AddText) does not take 2 parameters. Look at the function or code an overloaded function to accept another parameter.

error c2660
[Only registered and activated users can see links. Click Here To Register...]
FIXED Thanks for the Hint :handsdown: