Drops direkt mit awake

05/19/2016 15:39 Spraystar#1
Weiß einer wo man in der Source ändert das das item was man droppt direkt ein awa hat?
Weiß einer wie es geht wenn ja würde mich über jede hilfe freuen :)
05/19/2016 15:48 Nortix#2
Such die Stelle, an der das Item gedroppt wird und füg den Code um es zu erwecken ein.
07/15/2016 12:38 Spraystar#3
Push :)
07/15/2016 12:45 Nortix#4
Hast du überhaupt irgendwelche Anstalten gemacht um das Problem selbst zu lösen? Scheinbar hast du keine Sekunde damit verbracht selbst nachzuschauen, obwohl du sogar einen Tipp bekommen hast.
07/15/2016 17:21 Spraystar#5
Doch habe ich sonst würde ich nicht Pushen guck mal wie lange das her ist da habe ich schon geschaut <.<
07/15/2016 18:21 Mike Oxmaul#6
Ist nicht getestet, aber compiled ohne errors
mover.cpp
Code:
			if( xRandom( 100 ) < fItemDropRate )	// ¾ÆÀÌÅÛÀ» µå·ÓÇÒÁö ¸»Áö °áÁ¤. ·¹º§Â÷°¡ ¸¹ÀÌ ³ª¸é ¾Æ¿¹ ¶³¾îÆ®¸®Áö ¾Ê´Â´Ù.
			{
				int nSize	= lpMoverProp->m_DropItemGenerator.GetSize();
				int nNumber	= 0;
				DROPITEM* lpDropItem;
		
				for( int i = 0; i < nSize; i++ )
				{
					if( ( lpDropItem = lpMoverProp->m_DropItemGenerator.GetAt( i, bUnique, GetPieceItemDropRateFactor( pAttacker ) ) ) != NULL )
					{
						if( lpDropItem->dtType == DROPTYPE_NORMAL )
						{
#ifdef __NO_DROP_CRASH
							ItemProp * pProp = prj.GetItemProp(lpDropItem->dwIndex);
							if(!pProp)
							{
								Error("CMover::DropItemByDied() [ItemID:%d][MoverID:%d]",lpDropItem->dwIndex,GetProp()->dwID);
								continue;
							}
#endif
							DWORD dwNum		= lpDropItem->dwNumber;
							if(  dwNum == (DWORD)-1 )
								dwNum	= 1;

							if( lpMoverProp->dwFlying )
							{
								CItemElem itemElem;
								itemElem.m_dwItemId	= lpDropItem->dwIndex;
								itemElem.m_nItemNum	= (short)( xRandom( dwNum ) + 1 );
								itemElem.SetAbilityOption( lpDropItem->dwLevel );
								
								if( pAttacker->CreateItem( &itemElem ) == TRUE )
								{	// log
									ItemProp* pItemProp	= itemElem.GetProp();
									if( pItemProp )
									{
										( (CUser*)pAttacker )->AddDefinedText( TID_GAME_REAPITEM, "\"%s\"", pItemProp->szName );
										if( pItemProp->dwItemKind1 == IK1_WEAPON || pItemProp->dwItemKind1 == IK1_ARMOR || ( pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_JEWELRY ) )
										{
											switch( pItemProp->nLog )
											{
												case 1:		g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), itemElem.GetAbilityOption() );	break;
												case 2:		g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), 200 );	break;
												case 3:		g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), 100 );	break;
											}
										}
									}
									if( lpDropItem->dwNumber != (DWORD)-1 )
										nNumber++;
									if(  (DWORD)( nNumber ) >= lpMoverProp->m_DropItemGenerator.m_dwMax )
										break;
								}
								continue;
							}
							CItemElem* pItemElem	= new CItemElem;
							pItemElem->m_dwItemId	= lpDropItem->dwIndex;
							pItemElem->m_nItemNum	= (short)( xRandom( dwNum ) + 1 );
							

							ItemProp* pItemProp		= pItemElem->GetProp();
							if( pItemProp )
							{
								pItemElem->m_nHitPoint	= pItemProp->dwEndurance;
								pItemElem->SetRandomOpt( CRandomOptItemGen::GetInstance()->GenRandomOptItem( lpMoverProp->dwLevel, (FLOAT)nProbability / 100.0f, pItemProp, lpMoverProp->dwClass ) );
							}
							pItemElem->SetAbilityOption( lpDropItem->dwLevel );		// Ãß°¡ ´É·ÂÄ¡ +1, +2 °°Àº°Å.
							pItemElem->SetSerialNumber();
#ifdef __DROP_AWAKE
							int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind(pItemElem);
							if (nRandomOptionKind >= 0)	// ¾ÆÀÌÅÛ °¢¼º, ¿©½ÅÀÇ ÃູÀÌ °¡´ÉÇÑ ´ë»ó
							{
								g_xRandomOptionProperty->InitializeRandomOption(pItemElem->GetRandomOptItemIdPtr());
								g_xRandomOptionProperty->GenRandomOption(pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts, FALSE, pItemElem);
							}
#endif
07/15/2016 19:08 Spraystar#7
Bei mir kommen beim compilen error
\_Common\Mover.cpp(8453): error C2660: 'CRandomOptionProperty::GenRandomOption' : function does not take 5 arguments

hier stimmt was nicht
g_xRandomOptionProperty->GenRandomOption(pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts, FALSE, pItemElem);
07/15/2016 20:46 Mike Oxmaul#8
Ach ja hab Vergessen das bei mir 6 awaks sind
05/08/2019 08:35 magisquam#9
Where do you put these codes?
05/08/2019 10:52 Dr. Peacock#10
Quote:
Originally Posted by magisquam View Post
Where do you put these codes?
Quote:
Originally Posted by Nortix View Post
Such die Stelle, an der das Item gedroppt wird und füg den Code um es zu erwecken ein.
There.