[Show Off] Mask Wings that make you float

12/21/2011 19:08 Jopsi332#31
does anyone know how to add a new itemkind that i wear it as mask? never edit this:D
12/21/2011 19:25 Flash!#32
Nix mit Itemkind.
Du musst den PARTS_ Teil ändern.

Von "PARTS_RIDE" zu "PARTS_MASK".

Steht in der propItem.txt/specItem.txt 6-7 Zeilen hinter dem Preis des Items.
12/21/2011 21:42 Jopsi332#33
Quote:
Originally Posted by Sammyz View Post
Paying for 2 seconds of work is pathetic, so i thought i would be kind and share the big pro "floating mask"

Find( Neuz -> Mover.cpp):
Code:
			if( IsDualWeapon() && !bMasterPlayer )
			{
				dwMotion += 900;		// À̵µ·ù´Â ¹«½¼ ¹«±â¸¦ µé¾úµç °£¿¡ À̵µ·ù µ¿ÀÛÀÌ µÈ´Ù.
			}
Put( Neuz -> Mover.cpp):
Right below it :)

Code:
			if( pItemProp->dwItemKind3 == IK3_MASK )
			{
				dwMotion += MTI_STAND_11;
			}
Haha this will not work because pItemProp is only getactivehanditemprop
12/21/2011 22:20 srslynub#34
Quote:
Originally Posted by Jopsi332 View Post
Haha this will not work because pItemProp is only getactivehanditemprop
Code:
	CItemElem* pItemElem = GetEquipItem( PARTS_MASK );
	if( pItemElem && pItemElem->GetProp()->dwItemKind3 == IK3_MASK )
		dwMotion += MTI_STAND_11;
12/21/2011 22:24 Jopsi332#35
Quote:
Originally Posted by srslynub View Post
Code:
	CItemElem* pItemElem = GetEquipItem( PARTS_MASK );
	if( pItemElem && pItemElem->GetProp()->dwItemKind3 == IK3_MASK )
		dwMotion += MTI_STAND_11;
ich habs auch so ;)

edit:
habe jetz nur das problem das man die flügel nicht sieht

hab das mit der animation so gemacht
Code:
CItemElem* pItemProp2 = m_Inventory.GetEquip( PARTS_MASK );
	
			if( pRideProp && pRideProp->dwItemKind3 == IK3_WING  )
			{
				static const int SPINE1_BONE = 4;	// ¸ö ºÎ±Ù ôÃß(³¯°³ÀÇ ¿òÁ÷ÀÓÀº ij¸¯ÅÍ ¸öÀÇ ¿òÁ÷ÀÓÀ» µû¸¥´Ù)
				static const int SPINE2_BONE = 5;	// ¸ñ ºÎ±Ù ôÃß(³¯°³°¡ ¸öÀÇ ¿òÁ÷ÀÓÀ» µû¸£´õ¶óµµ À§Ä¡´Â ¸ñ ºÎ±Ù¿¡ ºÙÀδÙ)
				D3DXMATRIX* pmatSpine1Bone = pModel->GetMatrixBone( SPINE1_BONE );
				D3DXMATRIX* pmatSpine2Bone = pModel->GetMatrixBone( SPINE2_BONE );
				if( pmatSpine1Bone && pmatSpine2Bone )
				{
					D3DXMATRIX matEvent;
					D3DXMatrixIdentity( &matEvent );

					D3DXMATRIX matRotation;
					D3DXMatrixIdentity( &matRotation );
					D3DXMatrixRotationX( &matRotation, D3DXToRadian( 180 ) );
					D3DXMatrixMultiply( &matEvent, &matRotation, &matEvent );
					D3DXMatrixRotationZ( &matRotation, D3DXToRadian( -90 ) );
					D3DXMatrixMultiply( &matEvent, &matRotation, &matEvent );
					D3DXMatrixMultiply( &matEvent, &matEvent, pmatSpine1Bone );

					// ±êÅÐ ³¯°³¿¡ ´ëÇØ¼*¸¸ Àӽà À§Ä¡ º¸Á¤ (ÃßÈÄ ¹Ýµå½Ã ¸ðµç ³¯°³°¡ else ÂÊ ÄÚµå·Î ÅëÀϵǾî¾ß ÇÔ)
					if( pRideProp && ( pRideProp->dwID == II_RID_RID_WIN_FEATHER01 || pRideProp->dwID == II_RID_RID_WIN_FEATHER02 ) )
					{
						matEvent._41 = pmatSpine2Bone->_41;
						matEvent._42 = pmatSpine2Bone->_42 - 0.02f;
						matEvent._43 = pmatSpine2Bone->_43 + 0.1f;
					}
					else
					{
						matEvent._41 = pmatSpine2Bone->_41;
						matEvent._42 = pmatSpine2Bone->_42;
						matEvent._43 = pmatSpine2Bone->_43;
					}

					D3DXMatrixMultiply( &mRide, &matEvent, &m_matWorld );
				}
			}
			else if( pItemProp2 )
			{
	
	ItemProp* pItemProp3 = pItemProp2->GetProp();
	
			if(  pItemProp3 && pItemProp3->dwItemKind3 == IK3_MASK_WING )
			{
				static const int SPINE1_BONE = 4;	// ¸ö ºÎ±Ù ôÃß(³¯°³ÀÇ ¿òÁ÷ÀÓÀº ij¸¯ÅÍ ¸öÀÇ ¿òÁ÷ÀÓÀ» µû¸¥´Ù)
				static const int SPINE2_BONE = 5;	// ¸ñ ºÎ±Ù ôÃß(³¯°³°¡ ¸öÀÇ ¿òÁ÷ÀÓÀ» µû¸£´õ¶óµµ À§Ä¡´Â ¸ñ ºÎ±Ù¿¡ ºÙÀδÙ)
				D3DXMATRIX* pmatSpine1Bone = pModel->GetMatrixBone( SPINE1_BONE );
				D3DXMATRIX* pmatSpine2Bone = pModel->GetMatrixBone( SPINE2_BONE );
				if( pmatSpine1Bone && pmatSpine2Bone )
				{
					D3DXMATRIX matEvent;
					D3DXMatrixIdentity( &matEvent );

					D3DXMATRIX matRotation;
					D3DXMatrixIdentity( &matRotation );
					D3DXMatrixRotationX( &matRotation, D3DXToRadian( 180 ) );
					D3DXMatrixMultiply( &matEvent, &matRotation, &matEvent );
					D3DXMatrixRotationZ( &matRotation, D3DXToRadian( -90 ) );
					D3DXMatrixMultiply( &matEvent, &matRotation, &matEvent );
					D3DXMatrixMultiply( &matEvent, &matEvent, pmatSpine1Bone );

					// ±êÅÐ ³¯°³¿¡ ´ëÇØ¼*¸¸ Àӽà À§Ä¡ º¸Á¤ (ÃßÈÄ ¹Ýµå½Ã ¸ðµç ³¯°³°¡ else ÂÊ ÄÚµå·Î ÅëÀϵǾî¾ß ÇÔ)
					if( pItemProp3 && ( pItemProp3->dwID == 40901  ) )
					{
						matEvent._41 = pmatSpine2Bone->_41;
						matEvent._42 = pmatSpine2Bone->_42 - 0.02f;
						matEvent._43 = pmatSpine2Bone->_43 + 0.1f;
					}
					else
					{
						matEvent._41 = pmatSpine2Bone->_41;
						matEvent._42 = pmatSpine2Bone->_42;
						matEvent._43 = pmatSpine2Bone->_43;
					}

					D3DXMatrixMultiply( &mRide, &matEvent, &m_matWorld );
				}
				
	}
	}
aber man sieht die flügel nur als PART_RIDE und nicht als PART_MASK

weiß wer wie mans ändert?