Bead Stack!

02/01/2015 22:37 Serenity-.#1
Weiß einer wie man den Bead stack durch Card sockel entfernen fixt ...?
02/01/2015 23:36 マリブ#2
ItemUpgrade.cpp
void CItemUpgrade::OnPiercingRemove( CUser* pUser, DWORD objId )
02/01/2015 23:43 Serenity-.#3
Genauer :D , etwas zum Copy & Pasten ? xD
02/01/2015 23:44 WurstbrotQT#4
Code:
void CItemUpgrade::OnPiercingRemove( CUser* pUser, DWORD objId )
{
	CItemElem* pItemElem = pUser->m_Inventory.GetAtId( objId );
	if( !IsUsableItem( pItemElem ) || !pItemElem->IsPierceAble() )
		return;

	if( pUser->m_Inventory.IsEquip( objId ) )
		return;

	// ÇǾî½Ì ¿É¼ÇÀÌ ¾ø´Â °æ¿ì
	if( pItemElem->GetPiercingSize() == 0 || pItemElem->GetPiercingItem( 0 ) == 0 )
	{
		pUser->AddDefinedText( TID_GAME_REMOVE_PIERCING_ERROR );
		return;
	}

	int nPayPenya = 1000000; // ÁöºÒÇÒ Æä³Ä
	if( pUser->GetGold() < nPayPenya )	// Æä³Ä°¡ ºÎÁ·ÇÏ´Ù.
	{
		pUser->AddDefinedText( TID_GAME_LACKMONEY );
		return;
	}

	for( int i=pItemElem->GetPiercingSize()-1; i>=0; i-- )
	{
		if( pItemElem->GetPiercingItem( i ) != 0 )
		{
			pUser->AddGold( -nPayPenya );	// Æä³Ä ÁöºÒ
			pUser->AddDefinedText(TID_GAME_REMOVE_PIERCING_SUCCESS);

			pUser->UpdateItem( (BYTE)( pItemElem->m_dwObjId ), UI_PIERCING, MAKELONG( i, 0 ) );

			LogItemInfo aLogItem;
			aLogItem.Action = "$";
			aLogItem.SendName = pUser->GetName();
			aLogItem.RecvName = "PIERCING_REMOVE";
			aLogItem.WorldId = pUser->GetWorld()->GetID();
			aLogItem.Gold = pUser->GetGold() + nPayPenya;
			aLogItem.Gold2 = pUser->GetGold();
			aLogItem.Gold_1 = -nPayPenya;
			g_DPSrvr.OnLogItem( aLogItem, pItemElem, 1 );


			break;
		}
	}
}
02/01/2015 23:51 Serenity-.#5
Das hab ich ja gefunden aber was genau soll ich da eintragen xD (Wo bleibt malibus post :D)
02/01/2015 23:54 マリブ#6
Code:
	if( pItemElem->GetPiercingSize() == 0 || pItemElem->GetPiercingItem( 0 ) == 0 )
	{
		pUser->AddDefinedText( TID_GAME_REMOVE_PIERCING_ERROR );
		return;
	}
#ifdef __WBQT_BEAD_STACK_FIX
	if (pUser->HasActivatedVisPet() )
	{
		pUser->AddText("Fixxed by WurstbrotQT. Was ein Gott!");
		return;
	}
#endif // __WBQT_BEAD_STACK_FIX