Set effect

06/07/2018 09:29 xToffer#1
where can find the shift to view the set effect?
06/07/2018 09:43 Avalion#2
Code:
CWndMgr::PutSetItemOpt
[Only registered and activated users can see links. Click Here To Register...] :wat:
06/08/2018 23:41 Blouflash#3
Replace your CWndMgr::PutSetItemOpt()

with this one:

Code:
void CWndMgr::PutSetItemOpt( CMover* pMover, CItemElem* pItemElem, CEditString* pEdit )
{
	CString strTemp;
	// 2. ¼¼Æ® ¾ÆÀÌÅÛÀÇ ±¸¼º ¿ä¼Ò Àΰ¡?
	CSetItem* pSetItem	= CSetItemFinder::GetInstance()->GetSetItemByItemId( pItemElem->m_dwItemId );
	if( pSetItem )
	{
		// ÇØ´ç ¼¼Æ® ¾ÆÀÌÅÛÀÇ ±¸¼º ¿ä¼Ò¸¦ ¸ðµÎ Ãâ·Â Ç쵂 ÀåÂø µÈ °Í°ú ¾ÈµÈ °ÍÀ» »öÀ¸·Î ±¸º°ÇÏ¿© Ãâ·ÂÇÑ´Ù.
		BOOL pbEquiped[MAX_HUMAN_PARTS];
		memset( pbEquiped, 0, sizeof(pbEquiped) );
		int nEquiped;
		pMover->GetEquipedSetItem( pSetItem->m_nId, pbEquiped, &nEquiped );
		// 3. ¼¼Æ®¾ÆÀÌÅÛ Å¸ÀÌÆ² Ãâ·Â
		strTemp.Format( "\n\n%s (%d/%d)", pSetItem->GetString(), pMover->GetEquipedSetItemNumber( pSetItem ), pSetItem->m_nElemSize );
//		pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetName, ESSTY_BOLD );
		pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetName );
		int i;
		for( i = 0; i < pSetItem->m_nElemSize; i++ )
		{
			ItemProp* pItemProp	= prj.GetItemProp( pSetItem->m_adwItemId[i] );
			if( pItemProp )
			{
				strTemp.Format( "\n   %s", pItemProp->szName  );
				if( pbEquiped[i] ) // ÀåÂøµÇ¾îÀÖ´Â ¼¼Æ® ¾ÆÀÌÅÛ
					pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetItem1 );
				else
					pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetItem0 );
			}
		}

		if (GetAsyncKeyState(VK_LCONTROL) & 0x8000)
			nEquiped = pSetItem->m_nElemSize;

		// 4. Ãß°¡ ´É·ÂÄ¡ Ãâ·Â
		ITEMAVAIL itemAvail;
		memset( &itemAvail, 0, sizeof(itemAvail) );
		pSetItem->GetItemAvail( &itemAvail, nEquiped, TRUE );
		for( i = 0; i < itemAvail.nSize; i++ )
		{
			int nDst = (int)itemAvail.anDstParam[i];
			int nAdj = (int)itemAvail.anAdjParam[i];
			
			if( IsDst_Rate(nDst) )
			{
				if( nDst == DST_ATTACKSPEED )
					strTemp.Format( "\n%s: %s% +d%%", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj / 2 / 10 );	
				else
					strTemp.Format( "\n%s: %s% +d%%", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj );	
			}
			else
			{
				strTemp.Format( "\n%s: %s +%d", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj );
			}
			pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetEffect );
		}
	}
}
Quote:
Originally Posted by Avalion View Post
Code:
CWndMgr::PutSetItemOpt
[Only registered and activated users can see links. Click Here To Register...] :wat:
Selling 2 lines of code :wat:
06/09/2018 02:17 Avalion#4
Quote:
Originally Posted by Blouflash View Post
Replace your CWndMgr::PutSetItemOpt()

with this one:

Code:
void CWndMgr::PutSetItemOpt( CMover* pMover, CItemElem* pItemElem, CEditString* pEdit )
{
	CString strTemp;
	// 2. ¼¼Æ® ¾ÆÀÌÅÛÀÇ ±¸¼º ¿ä¼Ò Àΰ¡?
	CSetItem* pSetItem	= CSetItemFinder::GetInstance()->GetSetItemByItemId( pItemElem->m_dwItemId );
	if( pSetItem )
	{
		// ÇØ´ç ¼¼Æ® ¾ÆÀÌÅÛÀÇ ±¸¼º ¿ä¼Ò¸¦ ¸ðµÎ Ãâ·Â Ç쵂 ÀåÂø µÈ °Í°ú ¾ÈµÈ °ÍÀ» »öÀ¸·Î ±¸º°ÇÏ¿© Ãâ·ÂÇÑ´Ù.
		BOOL pbEquiped[MAX_HUMAN_PARTS];
		memset( pbEquiped, 0, sizeof(pbEquiped) );
		int nEquiped;
		pMover->GetEquipedSetItem( pSetItem->m_nId, pbEquiped, &nEquiped );
		// 3. ¼¼Æ®¾ÆÀÌÅÛ Å¸ÀÌÆ² Ãâ·Â
		strTemp.Format( "\n\n%s (%d/%d)", pSetItem->GetString(), pMover->GetEquipedSetItemNumber( pSetItem ), pSetItem->m_nElemSize );
//		pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetName, ESSTY_BOLD );
		pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetName );
		int i;
		for( i = 0; i < pSetItem->m_nElemSize; i++ )
		{
			ItemProp* pItemProp	= prj.GetItemProp( pSetItem->m_adwItemId[i] );
			if( pItemProp )
			{
				strTemp.Format( "\n   %s", pItemProp->szName  );
				if( pbEquiped[i] ) // ÀåÂøµÇ¾îÀÖ´Â ¼¼Æ® ¾ÆÀÌÅÛ
					pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetItem1 );
				else
					pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetItem0 );
			}
		}

		if (GetAsyncKeyState(VK_LCONTROL) & 0x8000)
			nEquiped = pSetItem->m_nElemSize;

		// 4. Ãß°¡ ´É·ÂÄ¡ Ãâ·Â
		ITEMAVAIL itemAvail;
		memset( &itemAvail, 0, sizeof(itemAvail) );
		pSetItem->GetItemAvail( &itemAvail, nEquiped, TRUE );
		for( i = 0; i < itemAvail.nSize; i++ )
		{
			int nDst = (int)itemAvail.anDstParam[i];
			int nAdj = (int)itemAvail.anAdjParam[i];
			
			if( IsDst_Rate(nDst) )
			{
				if( nDst == DST_ATTACKSPEED )
					strTemp.Format( "\n%s: %s% +d%%", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj / 2 / 10 );	
				else
					strTemp.Format( "\n%s: %s% +d%%", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj );	
			}
			else
			{
				strTemp.Format( "\n%s: %s +%d", prj.GetText(TID_TOOLTIP_SET), FindDstString( nDst ), nAdj );
			}
			pEdit->AddString( strTemp, dwItemColor[g_Option.m_nToolTipText].dwSetEffect );
		}
	}
}

Selling 2 lines of code :wat:
I mean, if they are lazy enough to request the code rather attempting to do it themselves, then, why not sell it? If there was initiative shown in OP's thread, then I would be more than happy to share multiple lines of code. :rolleyes:

All you're doing is supporting the same behavior -- that someone can just simply ask for a release and beg people and expect things for free without attempting to learn either.

There is a difference between helping other's and spoon feeding them.