__LOOKCHANGE_PET

12/11/2016 03:25 FlyFF_Services#1
void CMover::ActivateEatPet

Code:
#ifdef __LOOKCHANGE_PET
            DWORD dwPetId;
            if (pItemElem && pItemElem->IsChangedLook())
            {
                ItemProp* pProp2 = prj.GetItemProp(pItemElem->GetLook());
                dwPetId = pProp2->dwLinkKind;
            }
            else
                dwPetId = pProp->dwLinkKind;

            CMover *pEatPet = CreateMover(GetWorld(), dwPetId, GetPos(), GetLayer());
        #else
            CMover *pEatPet    = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
        #endif
12/11/2016 10:06 alfredico#2
Sucks when people buy your systems and later they release.

Code:
Function void CMover::ActivateEatPet( CItemElem* pItemElem )

After:

	if( IsFly() )
	{
		static_cast<CUser*>( this )->AddDefinedText( TID_GAME_CANNOT_CALL_PET_ON_FLYING );
		return;
	}
//		ASSERT( pItemProp->dwLinkKind != NULL_ID )

#ifdef __LAYER_1015



ADD: Replace this line CMover *pEatPet	= CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );

#ifdef __LOOKCHANGE_PET
	DWORD dwPetId;
	if (pItemElem && pItemElem->IsChangedLook())
	{
		ItemProp* pProp2 = prj.GetItemProp(pItemElem->GetLook());
		dwPetId = pProp2->dwLinkKind;
	}
	else
		dwPetId = pProp->dwLinkKind;

	CMover *pEatPet = CreateMover(GetWorld(), dwPetId, GetPos(), GetLayer());
#else // __LOOKCHANGE_PET
	CMover *pEatPet	= CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
#endif

In VersionCommon.h of WorldServer

#define __LOOKCHANGE_PET

You may need to adjust the lookchange variables, but that's your problem.
To allow the use of pets in the window, you have to edit functions of model change in client part (Wndxx.cpp file) and server (DPSrvr.cpp).
12/11/2016 14:18 FlyFF_Services#3
Quote:
Originally Posted by alfredico View Post
Sucks when people buy your systems and later they release.
That's not my system and i don't sell it ;)