• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Flying Pets

Newbie Spellweaver
Joined
Sep 8, 2011
Messages
67
Reaction score
252
incomplete missing ProcessCollisionFly

ProcessCollisionFly
Code:
#ifdef __FlyingPets
	MoverProp* const mProp = m_pMover->GetProp();
	const auto isPet = mProp ? mProp->dwAI == AII_PET || mProp->dwAI == AII_EGG : false;
	if (!isPet)
#endif
	switch( nAttr )
	{
	case HATTR_NOMOVE:	// À̵¿ ±ÝÁö.
		pPos->x -= vDelta.x;		// À̵¿ÇÏ·Á´Â °÷ÀÌ À̵¿ ±ÝÁö ±¸¿ªÀ̸é ÁÂÇ¥¸¦ ´Ù½Ã »­
		break;
	}

	// 3. zÃà ´õÇÔ
	pPos->z += vDelta.z;
	pWorld->ClipZ( pPos->z );
	if( pWorld->m_bFly )
		nAttr = pWorld->GetHeightAttribute( pPos->x, pPos->z );
#ifdef __FlyingPets
	else if (!isPet)
#else
	else
#endif
		nAttr = HATTR_NOFLY;

#ifdef __FlyingPets
	if (!isPet)
#endif
	switch( nAttr )
	{
	case HATTR_NOMOVE:	// À̵¿ ±ÝÁö.
Code:
	m_fCurrentHeight = pWorld->GetFullHeight( D3DXVECTOR3(pPos->x, pPos->y + 1.0f, pPos->z) );

#ifdef __FlyingPets 
	if (pPos->y > pWorld->m_fMaxHeight && !isPet)
#else
	if( pPos->y > pWorld->m_fMaxHeight )
#endif
		pPos->y = pWorld->m_fMaxHeight;
	else

That'll make it work in no fly dungeons and no fly zones or if it goes out of bounds on a no move location. Original post updated. xd

FGlw2ft - Flying Pets - RaGEZONE Forums

C4m3wrm - Flying Pets - RaGEZONE Forums
 
Last edited:
Junior Spellweaver
Joined
Dec 14, 2011
Messages
148
Reaction score
10
ProcessCollisionFly
Code:
#ifdef __FlyingPets
	MoverProp* const mProp = m_pMover->GetProp();
	const auto isPet = mProp ? mProp->dwAI == AII_PET || mProp->dwAI == AII_EGG : false;
	if (!isPet)
#endif
	switch( nAttr )
	{
	case HATTR_NOMOVE:	// À̵¿ ±ÝÁö.
		pPos->x -= vDelta.x;		// À̵¿ÇÏ·Á´Â °÷ÀÌ À̵¿ ±ÝÁö ±¸¿ªÀ̸é ÁÂÇ¥¸¦ ´Ù½Ã »­
		break;
	}

	// 3. zÃà ´õÇÔ
	pPos->z += vDelta.z;
	pWorld->ClipZ( pPos->z );
	if( pWorld->m_bFly )
		nAttr = pWorld->GetHeightAttribute( pPos->x, pPos->z );
#ifdef __FlyingPets
	else if (!isPet)
#else
	else
#endif
		nAttr = HATTR_NOFLY;

#ifdef __FlyingPets
	if (!isPet)
#endif
	switch( nAttr )
	{
	case HATTR_NOMOVE:	// À̵¿ ±ÝÁö.

That'll make it work in no fly dungeons and no fly zones or if it goes out of bounds on a no move location. Original post updated. xd

yes. correct, but dwFlying == 1 does not allowed AII_EGG and AII_PET move with this function ProcessCollisionFly()
 
Initiate Mage
Joined
Oct 20, 2020
Messages
4
Reaction score
0
after adding this egg and other looter pet won't follow me anymore also not looting.
no error log show
 
Back
Top