[Source] PetFilter

01/04/2012 14:55 マリブ#1
Bevor ihr anfang zu Flamen.
Es ist NICHT mein Petfilter, er stammt aus RZ.
Hab ihn Lediglich damals in ein .txt Dokument gepackt & ordentlich gegliedert.

Have Fun.
Code:
/////////////////////////////////////////DPSrvr.cpp///////////////////////////////////////////////
After~
#ifdef __GUILD_HOUSE_MIDDLE
    ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, OnGuildHouseTenderMainWnd );
    ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, OnGuildHouseTenderInfoWnd );
    ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_JOIN, OnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
    ON_MSG( PACKETTYPE_PETFILTER, OnSetPetfilter );
#endif //__PETFILTER

After~
#ifdef __GUILD_HOUSE_MIDDLE
void CDPSrvr::OnGuildHouseTenderMainWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    if( IsValidObj( pUser ) == TRUE )
    {
        DWORD dwGHType;
        OBJID objNpcId;
        ar >> dwGHType >> objNpcId;

        GuildHouseMng->ReqTenderGuildHouseList( pUser, dwGHType, objNpcId );
    }
}

void CDPSrvr::OnGuildHouseTenderInfoWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    if( IsValidObj( pUser ) == TRUE )
    {
        OBJID objGHId;
        ar >> objGHId;

        GuildHouseMng->ReqTenderGuildHouseInfo( pUser, objGHId );
    }
}

void CDPSrvr::OnGuildHouseTenderJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    if( IsValidObj( pUser ) == TRUE )
    {
        OBJID objGHId;
        int nTenderPerin, nTenderPenya;
        ar >> objGHId >> nTenderPerin >> nTenderPenya;
        
        GuildHouseMng->OnGuildHouseTenderJoin( pUser, objGHId, nTenderPerin, nTenderPenya );
    }
}
#endif // __GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
void CDPSrvr::OnSetPetfilter( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    if( IsValidObj( pUser ) == TRUE )
    {
        DWORD dwPetFilter;
        ar >> dwPetFilter;
        pUser->m_dwPetfilter = dwPetFilter;
    }
}
#endif //__PETFILTER

/////////////////////////////////DPSrvr.h//////////////////////////////////////
After~
#ifdef __GUILD_HOUSE_MIDDLE
    void    OnGuildHouseTenderMainWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
    void    OnGuildHouseTenderInfoWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
    void    OnGuildHouseTenderJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif // __GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
    void    OnSetPetfilter( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize );
#endif //__PETFILTER

///////////////////////////////////User.h//////////////////////////////////////
After~
    DWORD            m_dwDestroyTime;                    /// Destory예약 시각 

You Add~
#ifdef __PETFILTER
    DWORD            m_dwPetfilter;                        /// Pet Filter
#endif // __PETFILTER

/////////////////////////////////MsgHdr.h/////////////////////////////////////////
After~
#define PACKETTYPE_QUERYMAILBOX_COUNT                (DWORD)0x88100241

You Add~
#ifdef __PETFILTER
#define PACKETTYPE_PETFILTER                        (DWORD)0x88100242
#endif //__PETFILTER
////////////////////////////////AIPet.cpp/////////////////////////////////////////

After~
#include "dpcoreclient.h"

You Add~
#ifdef __PETFILTER
#include "defineFilter.h"
#endif //__PETFILTER

After~
BOOL CAIPet::SubItemLoot( void )
{
    CMover* pMover = GetMover();
    CMover* pOwner = prj.GetMover( m_idOwner );
    CWorld* pWorld = GetWorld();
    MoverProp *pProp = pMover->GetProp();
    D3DXVECTOR3 vPos = pMover->GetPos();
    CObj *pObj = NULL;
    int nRange = 0;
    D3DXVECTOR3 vDist;
    FLOAT fDistSq, fMinDist = 9999999.0f;
    CObj *pMinObj = NULL;

    vDist = pOwner->GetPos() - pMover->GetPos();
    fDistSq = D3DXVec3LengthSq( &vDist );
    if( fDistSq > 32.0f * 32.0f )    // 주인님과의 거리가 32미터가 넘으면 아이템 안집는다.
        return FALSE;

    if( pOwner && pOwner->IsFly() )
        return FALSE;
        
    // 근처의 아이템을 검색함. - 주인님꺼만 검색해야할듯...
    FOR_LINKMAP( pWorld, vPos, pObj, nRange, CObj::linkDynamic, pMover->GetLayer() )
    {
        if( pObj->GetType() == OT_ITEM )    // 아템만 검색
        {
            CItem *pItem = (CItem *)pObj;
            ItemProp* pItemProp    = pItem->GetProp();
            // 이걸 따로 넣은이유는 StateIdle ARRIVAL에�* DoLoot()하고 �*직후에 다시 SubItemLoot()을 호출했을때
            // Loot한 아이템이 아직 안지워져�* 여기�* 또 검색이 되더라고.. 그래�* 중복되는 아이템은 검색 안되게 고쳐봤다.
//            if( pItem->GetId() != m_idLootItem )        
            if( pItem->IsDelete() == FALSE )
            {
                if( pItemProp )
                {

You Add~
#ifdef __PETFILTER
                    BOOL b1 = TRUE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_HPFOOD) && pItem->GetProp()->dwItemKind2 == IK2_FOOD )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_MPFOOD) && pItem->GetProp()->dwItemKind3 == IK3_REFRESHER )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_FPFOOD) && pItem->GetProp()->dwItemKind2 == IK2_POTION)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_FPFOOD) && pItem->GetProp()->dwItemKind1 == IK3_DRINK)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BWEAPON) && pItem->GetProp()->dwReferStat1 == WEAPON_GENERAL )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_GWEAPON) && pItem->GetProp()->dwReferStat1 == WEAPON_UNIQUE )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BSET) && pItem->GetProp()->dwReferStat1 == ARMOR_GEN)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_GSET) && pItem->GetProp()->dwReferStat1 == ARMOR_SET )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_NECKLACE) && pItem->GetProp()->dwItemKind3 == IK3_NECKLACE )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_EARRING) && pItem->GetProp()->dwItemKind3 == IK3_EARRING )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_RING) && pItem->GetProp()->dwItemKind3 == IK3_RING )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_EGG) && pItem->GetProp()->dwID == II_PET_EGG )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_SUNSTONE) && pItem->GetProp()->dwID == II_GEN_MAT_ORICHALCUM01)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_SUNSTONE) && pItem->GetProp()->dwID == II_GEN_MAT_ORICHALCUM02)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_SUNSTONE) && pItem->GetProp()->dwID == II_GEN_MAT_ORICHALCUM01_1)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_SUNSTONE) && pItem->GetProp()->dwID == II_SYS_SYS_SCR_SCRAPORICHALCUM)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_MOONSTONE) && pItem->GetProp()->dwID == II_GEN_MAT_MOONSTONE)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_MOONSTONE) && pItem->GetProp()->dwID == II_GEN_MAT_MOONSTONE_1)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_MOONSTONE) && pItem->GetProp()->dwID == II_SYS_SYS_SCR_SCRAPMOONSTONE)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_QUESTITEM) && pItem->GetProp()->dwItemKind2 == IK2_GEM)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_QUESTITEM) && pItem->GetProp()->dwItemKind2 == IK3_GEM)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_ELECARDS) && pItem->GetProp()->dwItemKind3 == IK3_ELECARD )
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_4PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_MAGMA)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_4PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_FLOOD)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_4PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_STORM)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_4PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_THUNDER)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_4PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_MOUNTAIN)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_7PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_EARTHQUAKE)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_7PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_LIGHTING)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_7PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_VACCUM)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_7PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_OCEAN)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_7PCARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_VOLCANO)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BPIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_CANDLEB)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BPIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_RAINATKB)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BPIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_BREEZEATKB)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BPIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_SPARKATKB)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_BPIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_SANDATKB)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_APIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_SANDATKA)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_APIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_SPARKATKA)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_APIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_BREEZEATKA)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_APIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_RAINATKA)
                            b1 = FALSE;
                        if( (((CUser*)pOwner)->m_dwPetfilter & FILTER_APIECARD) && pItem->GetProp()->dwID == II_GEN_MAT_ELE_CANDLEA)
                            b1 = FALSE;
                    

                    if( pOwner->IsLoot( pItem, TRUE ) && b1 )// 루팅되는아이템인지 검사함.
#else //__PETFILTER
                    if( pOwner->IsLoot( pItem, TRUE) )
#endif //__PETFILTER

/////////////////////////////////////////////////DPClient.cpp///////////////////////////////////////////////////////
After~
void CDPClient::SendGuildHouseTenderJoin( OBJID objGHId, int nTenderPerin, int nTenderPenya )
{
    BEFORESENDSOLE( ar, PACKETTYPE_GUILDHOUSE_TENDER_JOIN, DPID_UNKNOWN );
    ar << objGHId << nTenderPerin << nTenderPenya;
    SEND( ar, this, DPID_SERVERPLAYER );
}
#endif // __GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
void CDPClient::SendPlayerPetfilter( DWORD dwPetfilter )
{
    BEFORESENDSOLE( ar, PACKETTYPE_PETFILTER, DPID_UNKNOWN );
    ar << dwPetfilter;
    SEND( ar, this, DPID_SERVERPLAYER );
}
#endif //__PETFILTER

//////////////////////////////////////////////DPClient.h///////////////////////////////////////////////////
After~
#ifdef __GUILD_HOUSE_MIDDLE
private:
    void    OnGuildHouseTenderMainWnd( CAr & ar );
    void    OnGuildHouseTenderInfoWnd( CAr & ar );
    void    OnGuildHouseTenderResult( CAr & ar );
public:
    void    SendGuildHouseTenderMainWnd( DWORD dwGHType, OBJID objNpcId );
    void    SendGuildHouseTenderInfoWnd( OBJID objGHId );
    void    SendGuildHouseTenderJoin( OBJID objGHId, int nTenderPerin, int nTenderPenya );
#endif // __GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
    void    SendPlayerPetfilter( DWORD m_dwPetfilter );
#endif //__PETFILTER

////////////////////////////////////////////FuncApplet.cpp///////////////////////////////////////////////
After~
DECLAREAPPLET( AppMain_WndSelectChar   , new CWndSelectChar   );

You Add~
#ifdef __PETFILTER
DECLAREAPPLET( AppMain_WndPetfilter       , new CWndPetfilter    );
#endif //__PETFILTER

After~
    AddAppletFunc( AppMain_WndParty        , APP_PARTY                   , _T( "WndParty"     )    , _T( "Icon_Troupe.dds"    )    , GETTEXT( TID_TIP_PARTY          ),  'P' );

You Add~
#ifdef __PETFILTER
    AddAppletFunc( AppMain_WndPetfilter       , APP_PETFILTER                 , _T( "WndPetfilter" )       , _T( "Icon_Applet.dds"    )       , _T( "PetFilter" ),  'U' );
#endif //__PETFILTER
//////////////////////////////////////////WndManager.cpp//////////////////////////////////////////////////
After~
#if __VER >= 8 //__CSC_VER8_5
    m_pWndSummonAngel = NULL;
#endif //__CSC_VER8_5

You Add~
#ifdef __PETFILTER
    m_pWndPetfilter = NULL;
#endif //__PETFILTER

After~
    SAFE_DELETE( m_pWndRevival );

You Add~
#ifdef __PETFILTER
    SAFE_DELETE( m_pWndPetfilter );
#endif //__PETFILTER

After~
#ifdef __GUILD_HOUSE_MIDDLE
    else if( m_pWndGHBid == pWndChild )
    {
        SAFE_DELETE( m_pWndGHBid );
        pWndChild = NULL;
    }
#endif //__GUILD_HOUSE_MIDDLE

You Add~
#ifdef __PETFILTER
    if( m_pWndPetfilter == pWndChild )
    {
        SAFE_DELETE( m_pWndPetfilter );
        pWndChild = NULL;
    }
#endif //__PETFILTER

After~
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
        CWndQuestQuickInfo* pWndQuestQuickInfo = ( CWndQuestQuickInfo* )g_WndMng.GetWndBase( APP_QUEST_QUICK_INFO );
        if( pWndQuestQuickInfo )
            pWndQuestQuickInfo->SetVisible( FALSE );
#endif // __IMPROVE_QUEST_INTERFACE

You Add~
#ifdef __PETFILTER
        CWndPetfilter* pWndPetfilter = (CWndPetfilter*)g_WndMng.GetWndBase( APP_PETFILTER );
        if(pWndPetfilter!= NULL)
            pWndPetfilter->SetVisible(FALSE);
#endif //__PETFILTER

After~
#if __VER >= 15 // __PETVIS
        CWndBuffPetStatus* pWndBuffPetStatus = (CWndBuffPetStatus*)g_WndMng.GetWndBase( APP_BUFFPET_STATUS );
        if(pWndBuffPetStatus != NULL)
            pWndBuffPetStatus->SetVisible(TRUE);
#endif
#endif //__CSC_VER9_1

You Add~
#ifdef __PETFILTER
        CWndPetfilter* pWndPetfilter = (CWndPetfilter*)g_WndMng.GetWndBase( APP_PETFILTER );
        if(pWndPetfilter!= NULL)
            pWndPetfilter->SetVisible(TRUE);
#endif //_PETFILTER
///////////////////////////////////////////WndManager.h///////////////////////////////////////77
After~
    CWndPetStatus* m_pWndPetStatus;

You Add~
#ifdef __PETFILTER
    CWndPetfilter* m_pWndPetfilter;
#endif //__PETFILTER

//////////////////////////////////////////////////WndTitle.cpp///////////////////////////////////7
Find~
#endif // __VER < 8 // __S8_PK
                            g_Neuz.m_dwTempMessage = 1;
                            g_Neuz.m_timerConnect.Set( SEC( 1 ) );
                        }
                    }
                    else
                    {
                        CNetwork::GetInstance().OnEvent( CACHE_CONNECT_FAIL );
                        TRACE( _T( "Can't connect to server. : %s \n" ), g_Neuz.m_lpCacheAddr );
                    }
                }
#else // __2ND_PASSWORD_SYSTEM
                g_WndMng.OpenCustomBox( _T( prj.GetText(TID_DIAG_0064) ), new CWndConnectingBox );
                //g_WndMng.OpenCustomBox( _T( "로딩중입니다. 잠시만 기다려 주십시오." ), new CWndConnectingBox );

                if( g_DPlay.Connect( g_Neuz.m_lpCacheAddr, g_Neuz.m_uCachePort ) )
                {                        
                    CNetwork::GetInstance().OnEvent( CACHE_CONNECTED );

                    if( m_nSelectCharacter != -1 && g_Neuz.m_apPlayer[m_nSelectCharacter] )
                    {


Change To~
#endif // __VER < 8 // __S8_PK
                            g_Neuz.m_dwTempMessage = 1;
                            g_Neuz.m_timerConnect.Set( SEC( 1 ) );
#ifdef __PETFILTER
                            g_DPlay.SendPlayerPetfilter( g_Option.m_dwPetfilter );
#endif //__PETFILTER
                        }
                    }
                    else
                    {
                        CNetwork::GetInstance().OnEvent( CACHE_CONNECT_FAIL );
                        TRACE( _T( "Can't connect to server. : %s \n" ), g_Neuz.m_lpCacheAddr );
                    }
                }
#else // __2ND_PASSWORD_SYSTEM
                g_WndMng.OpenCustomBox( _T( prj.GetText(TID_DIAG_0064) ), new CWndConnectingBox );
                //g_WndMng.OpenCustomBox( _T( "로딩중입니다. 잠시만 기다려 주십시오." ), new CWndConnectingBox );

                if( g_DPlay.Connect( g_Neuz.m_lpCacheAddr, g_Neuz.m_uCachePort ) )
                {                        
                    CNetwork::GetInstance().OnEvent( CACHE_CONNECTED );

                    if( m_nSelectCharacter != -1 && g_Neuz.m_apPlayer[m_nSelectCharacter] )
                    {
///////////////////////////////////Wnd2ndPassword.cpp///////////////////////////////////////////7
Find~
#endif // __VER < 8 // __S8_PK
                        g_Neuz.m_dwTempMessage = 1;
                        g_Neuz.m_timerConnect.Set( SEC( 1 ) );
                    }
                }
                else
                {
                    CNetwork::GetInstance().OnEvent( CACHE_CONNECT_FAIL );
                    TRACE( _T( "Can't connect to server. : %s \n" ), g_Neuz.m_lpCacheAddr );
                }
            }

            break;
        }
    }
    return CWndNeuz::OnChildNotify( message, nID, pLResult );
}

Change To~
#endif // __VER < 8 // __S8_PK
                        g_Neuz.m_dwTempMessage = 1;
                        g_Neuz.m_timerConnect.Set( SEC( 1 ) );
#ifdef __PETFILTER
                        g_DPlay.SendPlayerPetfilter( g_Option.m_dwPetfilter );
#endif //__PETFILTER
                    }
                }
                else
                {
                    CNetwork::GetInstance().OnEvent( CACHE_CONNECT_FAIL );
                    TRACE( _T( "Can't connect to server. : %s \n" ), g_Neuz.m_lpCacheAddr );
                }
            }

            break;
        }
    }
    return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
///////////////////////////////////////////////////WndField.cpp///////////////////////////////////////7
After~
#include "defineNeuz.h"

You Add~
#ifdef __PETFILTER
#include "defineFilter.h"
#endif //__PETFILTER

After~
BOOL CWndCampusSeveranceConfirm::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
    if( message == EN_RETURN && nID == WIDC_EDIT1 )
    {
        g_DPlay.SendRemoveCampusMember( m_idTarget );
        Destroy();
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
    }
    
    switch( nID )
    {
    case WIDC_BUTTON1:
        {
            g_DPlay.SendRemoveCampusMember( m_idTarget );
            Destroy();
            break;
        }
    case WIDC_BUTTON2:
        {
            Destroy();
            break;
        }
    }
    return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//-----------------------------------------------------------------------------
#endif // __CAMPUS

You Add~
#ifdef __PETFILTER

CWndPetfilter::CWndPetfilter() 
{ 
    dwPetfilter = 0;
} 
CWndPetfilter::~CWndPetfilter() 
{ 
} 
void CWndPetfilter::OnDraw( C2DRender* p2DRender ) 
{ 
} 
void CWndPetfilter::OnInitialUpdate() 
{ 
    CWndNeuz::OnInitialUpdate(); 

    dwPetfilter = g_Option.m_dwPetfilter;

    SetButtonStatus();

    MoveParentCenter();

} 
void CWndPetfilter::SetButtonStatus()
{
    CWndButton* pWndCheck1 = (CWndButton*)GetDlgItem( WIDC_PF_HPFOOD );
    CWndButton* pWndCheck2 = (CWndButton*)GetDlgItem( WIDC_PF_MPFOOD );
    CWndButton* pWndCheck3 = (CWndButton*)GetDlgItem( WIDC_PF_FPFOOD );
    CWndButton* pWndCheck4 = (CWndButton*)GetDlgItem( WIDC_PF_BWEAPON );
    CWndButton* pWndCheck5 = (CWndButton*)GetDlgItem( WIDC_PF_GWEAPON );
    CWndButton* pWndCheck6 = (CWndButton*)GetDlgItem( WIDC_PF_BSET );
    CWndButton* pWndCheck7 = (CWndButton*)GetDlgItem( WIDC_PF_GSET );
    CWndButton* pWndCheck8 = (CWndButton*)GetDlgItem( WIDC_PF_NECKLACE );
    CWndButton* pWndCheck9 = (CWndButton*)GetDlgItem( WIDC_PF_EARRING );
    CWndButton* pWndCheck10 = (CWndButton*)GetDlgItem( WIDC_PF_RING );
    CWndButton* pWndCheck11 = (CWndButton*)GetDlgItem( WIDC_PF_EGG );
    CWndButton* pWndCheck12 = (CWndButton*)GetDlgItem( WIDC_PF_SUNSTONE );
    CWndButton* pWndCheck13 = (CWndButton*)GetDlgItem( WIDC_PF_MOONSTONE );
    CWndButton* pWndCheck14 = (CWndButton*)GetDlgItem( WIDC_PF_QUESTS );
    CWndButton* pWndCheck15 = (CWndButton*)GetDlgItem( WIDC_PF_ELECARD );
    CWndButton* pWndCheck16 = (CWndButton*)GetDlgItem( WIDC_PF_4PCARD );
    CWndButton* pWndCheck17 = (CWndButton*)GetDlgItem( WIDC_PF_7PCARD );
    CWndButton* pWndCheck18 = (CWndButton*)GetDlgItem( WIDC_PF_BPIECARD );
    CWndButton* pWndCheck19 = (CWndButton*)GetDlgItem( WIDC_PF_APIECARD );

    if( dwPetfilter & FILTER_HPFOOD        ) pWndCheck1->SetCheck( TRUE );
    if( dwPetfilter & FILTER_MPFOOD        ) pWndCheck2->SetCheck( TRUE );
    if( dwPetfilter & FILTER_FPFOOD        ) pWndCheck3->SetCheck( TRUE );
    if( dwPetfilter & FILTER_BWEAPON    ) pWndCheck4->SetCheck( TRUE );
    if( dwPetfilter & FILTER_GWEAPON    ) pWndCheck5->SetCheck( TRUE );
    if( dwPetfilter & FILTER_BSET        ) pWndCheck6->SetCheck( TRUE );
    if( dwPetfilter & FILTER_GSET        ) pWndCheck7->SetCheck( TRUE );
    if( dwPetfilter & FILTER_NECKLACE    ) pWndCheck8->SetCheck( TRUE );
    if( dwPetfilter & FILTER_EARRING    ) pWndCheck9->SetCheck( TRUE );
    if( dwPetfilter & FILTER_RING        ) pWndCheck10->SetCheck( TRUE );
    if( dwPetfilter & FILTER_EGG        ) pWndCheck11->SetCheck( TRUE );
    if( dwPetfilter & FILTER_SUNSTONE    ) pWndCheck12->SetCheck( TRUE );
    if( dwPetfilter & FILTER_MOONSTONE    ) pWndCheck13->SetCheck( TRUE );
    if( dwPetfilter & FILTER_QUESTITEM    ) pWndCheck14->SetCheck( TRUE );
    if( dwPetfilter & FILTER_ELECARDS    ) pWndCheck15->SetCheck( TRUE );
    if( dwPetfilter & FILTER_4PCARD        ) pWndCheck16->SetCheck( TRUE );
    if( dwPetfilter & FILTER_7PCARD        ) pWndCheck17->SetCheck( TRUE );
    if( dwPetfilter & FILTER_BPIECARD    ) pWndCheck18->SetCheck( TRUE );
    if( dwPetfilter & FILTER_APIECARD    ) pWndCheck19->SetCheck( TRUE );

}
// 처음 이 함수를 부르면 윈도가 �*린다.
BOOL CWndPetfilter::Initialize( CWndBase* pWndParent, DWORD /*dwWndId*/ ) 
{ 
    // Daisy에�* 설정한 리소스로 윈도를 연다.
    return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_PETFILTER, WBS_MOVE, CPoint( 0, 0 ), pWndParent );

} 

BOOL CWndPetfilter::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ) 
{ 
    return CWndNeuz::OnCommand( nID, dwMessage, pWndBase ); 
} 
void CWndPetfilter::OnSize( UINT nType, int cx, int cy ) \
{ 
    CWndNeuz::OnSize( nType, cx, cy ); 
} 
void CWndPetfilter::OnLButtonUp( UINT nFlags, CPoint point ) 
{ 
} 
void CWndPetfilter::OnLButtonDown( UINT nFlags, CPoint point ) 
{ 
} 
BOOL CWndPetfilter::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ) 
{ 
    CWndButton* pWndCheck1 = (CWndButton*)GetDlgItem( WIDC_PF_HPFOOD );
    CWndButton* pWndCheck2 = (CWndButton*)GetDlgItem( WIDC_PF_MPFOOD );
    CWndButton* pWndCheck3 = (CWndButton*)GetDlgItem( WIDC_PF_FPFOOD );
    CWndButton* pWndCheck4 = (CWndButton*)GetDlgItem( WIDC_PF_BWEAPON );
    CWndButton* pWndCheck5 = (CWndButton*)GetDlgItem( WIDC_PF_GWEAPON );
    CWndButton* pWndCheck6 = (CWndButton*)GetDlgItem( WIDC_PF_BSET );
    CWndButton* pWndCheck7 = (CWndButton*)GetDlgItem( WIDC_PF_GSET );
    CWndButton* pWndCheck8 = (CWndButton*)GetDlgItem( WIDC_PF_NECKLACE );
    CWndButton* pWndCheck9 = (CWndButton*)GetDlgItem( WIDC_PF_EARRING );
    CWndButton* pWndCheck10 = (CWndButton*)GetDlgItem( WIDC_PF_RING );
    CWndButton* pWndCheck11 = (CWndButton*)GetDlgItem( WIDC_PF_EGG );
    CWndButton* pWndCheck12 = (CWndButton*)GetDlgItem( WIDC_PF_SUNSTONE );
    CWndButton* pWndCheck13 = (CWndButton*)GetDlgItem( WIDC_PF_MOONSTONE );
    CWndButton* pWndCheck14 = (CWndButton*)GetDlgItem( WIDC_PF_QUESTS );
    CWndButton* pWndCheck15 = (CWndButton*)GetDlgItem( WIDC_PF_ELECARD );
    CWndButton* pWndCheck16 = (CWndButton*)GetDlgItem( WIDC_PF_4PCARD );
    CWndButton* pWndCheck17 = (CWndButton*)GetDlgItem( WIDC_PF_7PCARD );
    CWndButton* pWndCheck18 = (CWndButton*)GetDlgItem( WIDC_PF_BPIECARD );
    CWndButton* pWndCheck19 = (CWndButton*)GetDlgItem( WIDC_PF_APIECARD );

    switch( nID )
    {
    case WIDC_BUTTON1:
        {
            g_Option.m_dwPetfilter = dwPetfilter;
            g_Option.Save( "neuz.ini" );
            g_DPlay.SendPlayerPetfilter( dwPetfilter );
            Destroy();
        }
    case WIDC_PF_HPFOOD :
        if( pWndCheck1->GetCheck() )
            dwPetfilter |= FILTER_HPFOOD;
        else
            dwPetfilter &= ~FILTER_HPFOOD;
        SetButtonStatus();
        break;
    case WIDC_PF_MPFOOD :
        if( pWndCheck2->GetCheck() )
            dwPetfilter |= FILTER_MPFOOD;
        else
            dwPetfilter &= ~FILTER_MPFOOD;
        SetButtonStatus();
        break;
    case WIDC_PF_FPFOOD :
        if( pWndCheck3->GetCheck() )
            dwPetfilter |= FILTER_FPFOOD;
        else
            dwPetfilter &= ~FILTER_FPFOOD;
        SetButtonStatus();
        break;
    case WIDC_PF_BWEAPON :
        if( pWndCheck4->GetCheck() )
            dwPetfilter |= FILTER_BWEAPON;
        else
            dwPetfilter &= ~FILTER_BWEAPON;
        SetButtonStatus();
        break;
    case WIDC_PF_GWEAPON :
        if( pWndCheck5->GetCheck() )
            dwPetfilter |= FILTER_GWEAPON;
        else
            dwPetfilter &= ~FILTER_GWEAPON;
        SetButtonStatus();
        break;
    case WIDC_PF_BSET :
        if( pWndCheck6->GetCheck() )
            dwPetfilter |= FILTER_BSET;
        else
            dwPetfilter &= ~FILTER_BSET;
        SetButtonStatus();
        break;
    case WIDC_PF_GSET :
        if( pWndCheck7->GetCheck() )
            dwPetfilter |= FILTER_GSET;
        else
            dwPetfilter &= ~FILTER_GSET;
        SetButtonStatus();
        break;
    case WIDC_PF_NECKLACE :
        if( pWndCheck8->GetCheck() )
            dwPetfilter |= FILTER_NECKLACE;
        else
            dwPetfilter &= ~FILTER_NECKLACE;
        SetButtonStatus();
        break;        
    case WIDC_PF_EARRING :
        if( pWndCheck9->GetCheck() )
            dwPetfilter |= FILTER_EARRING;
        else
            dwPetfilter &= ~FILTER_EARRING;
        SetButtonStatus();
        break;
    case WIDC_PF_RING :
        if( pWndCheck10->GetCheck() )
            dwPetfilter |= FILTER_RING;
        else
            dwPetfilter &= ~FILTER_RING;
        SetButtonStatus();
        break;
    case WIDC_PF_EGG :
        if( pWndCheck11->GetCheck() )
            dwPetfilter |= FILTER_EGG;
        else
            dwPetfilter &= ~FILTER_EGG;
        SetButtonStatus();
        break;
    case WIDC_PF_SUNSTONE :
        if( pWndCheck12->GetCheck() )
            dwPetfilter |= FILTER_SUNSTONE;
        else
            dwPetfilter &= ~FILTER_SUNSTONE;
        SetButtonStatus();
        break;
    case WIDC_PF_MOONSTONE :
        if( pWndCheck13->GetCheck() )
            dwPetfilter |= FILTER_MOONSTONE;
        else
            dwPetfilter &= ~FILTER_MOONSTONE;
        SetButtonStatus();
        break;
    case WIDC_PF_QUESTS :
        if( pWndCheck14->GetCheck() )
            dwPetfilter |= FILTER_QUESTITEM;
        else
            dwPetfilter &= ~FILTER_QUESTITEM;
        SetButtonStatus();
        break;
    case WIDC_PF_ELECARD :
        if( pWndCheck15->GetCheck() )
            dwPetfilter |= FILTER_ELECARDS;
        else
            dwPetfilter &= ~FILTER_ELECARDS;
        SetButtonStatus();
        break;
    case WIDC_PF_4PCARD :
        if( pWndCheck16->GetCheck() )
            dwPetfilter |= FILTER_4PCARD;
        else
            dwPetfilter &= ~FILTER_4PCARD;
        SetButtonStatus();
        break;
    case WIDC_PF_7PCARD :
        if( pWndCheck17->GetCheck() )
            dwPetfilter |= FILTER_7PCARD;
        else
            dwPetfilter &= ~FILTER_7PCARD;
        SetButtonStatus();
        break;
    case WIDC_PF_BPIECARD :
        if( pWndCheck18->GetCheck() )
            dwPetfilter |= FILTER_BPIECARD;
        else
            dwPetfilter &= ~FILTER_BPIECARD;
        SetButtonStatus();
        break;
    case WIDC_PF_APIECARD :
        if( pWndCheck19->GetCheck() )
            dwPetfilter |= FILTER_APIECARD;
        else
            dwPetfilter &= ~FILTER_APIECARD;
        SetButtonStatus();
        break;

    }

    return CWndNeuz::OnChildNotify( message, nID, pLResult ); 
} 
#endif //__PETFILTER
/////////////////////////////////////WndField.h//////////////////////////////////////7
After~
class CWndCampusSeveranceConfirm : public CWndNeuz
{
public:
    CWndCampusSeveranceConfirm( u_long idTarget = 0, const CString& rstrTargetName = _T( "" ) );
    virtual ~CWndCampusSeveranceConfirm( void );

public:
    virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
    virtual    void OnInitialUpdate( void );
    virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );

private:
    u_long m_idTarget;
    CString m_strTargetName;
};
#endif // __CAMPUS

You Add~
#ifdef __PETFILTER
class CWndPetfilter : public CWndNeuz 
{ 
public: 
    CWndPetfilter(); 
    ~CWndPetfilter(); 

    DWORD dwPetfilter;

    virtual void SetButtonStatus();
    virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK ); 
    virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); 
    virtual void OnDraw( C2DRender* p2DRender ); 
    virtual    void OnInitialUpdate(); 
    virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ); 
    virtual void OnSize( UINT nType, int cx, int cy ); 
    virtual void OnLButtonUp( UINT nFlags, CPoint point ); 
    virtual void OnLButtonDown( UINT nFlags, CPoint point ); 
}; 
#endif //__PETFILTER
////////////////////////////////////HwOption.cpp//////////////////////////////////////////////////////
After~
#if __VER >= 11 // __ADD_ZOOMOPT
    m_bZoomLimit = TRUE;
#endif

You Add~
#ifdef __PETFILTER
    m_dwPetfilter = 0;
#endif //__PETFILTER

After~
#if __VER >= 12 // __UPDATE_OPT
    else if(scan.Token == _T( "VIEWMASK" ))
    {
        m_bViewMask = scan.GetNumber();
    }
#endif

You Add~
#ifdef __PETFILTER
    else if(scan.Token == _T("Petfilter") )
    {
        m_dwPetfilter = scan.GetNumber();
    }
#endif //__PETFILTER

After~
#if __VER >= 12 // __UPDATE_OPT
    _ftprintf(fp, _T( "VIEWMASK %d\n" ), m_bViewMask );
#endif

You Add~
#ifdef __PETFILTER
    _ftprintf(fp, _T( "Petfilter %d\n" ), m_dwPetfilter );
#endif //__PETFILTER
///////////////////////////////////////////////////////HwOption.h//////////////////////////////////////
After~
#if __VER >= 11 // __ADD_ZOOMOPT
    BOOL    m_bZoomLimit;        // 줌 제한 여부
#endif

You Add~
#ifdef __PETFILTER
    DWORD m_dwPetfilter;
#endif //__PETFILTER
///////////////////////////////////RESOURCEN///////////////////////////////
//////////////////////////////defineFilter.h//////////////////////////////
#define FILTER_HPFOOD 1
#define FILTER_MPFOOD 2
#define FILTER_FPFOOD 4
#define FILTER_BWEAPON 8
#define FILTER_GWEAPON 16
#define FILTER_BSET 32
#define FILTER_GSET 64
#define FILTER_NECKLACE 128
#define FILTER_EARRING 256
#define FILTER_RING 512
#define FILTER_EGG 1024
#define FILTER_SUNSTONE 2048
#define FILTER_MOONSTONE 4096
#define FILTER_QUESTITEM 8192
#define FILTER_ELECARDS 16384
#define FILTER_4PCARD 32768
#define FILTER_7PCARD 65536
#define FILTER_BPIECARD 131072
#define FILTER_APIECARD 262144
///////////////////////////////////ResData.h/////////////////////////////
#define APP_PETFILTER                                                   2022

#define WIDC_PF_GSET                    475
#define WIDC_PF_ELECARD                 476
#define WIDC_PF_4PCARD                  486
#define WIDC_PF_7PCARD                  498
#define WIDC_PF_FPFOOD                  533
#define WIDC_PF_NECKLACE                534
#define WIDC_PF_RING                    536
#define WIDC_PF_EARRING                 537
#define WIDC_PF_BWEAPON                 552
#define WIDC_PF_MPFOOD                  699
#define WIDC_PF_HPFOOD                  912
#define WIDC_PF_GWEAPON                 989
#define WIDC_PF_BSET                    990
#define WIDC_PF_BPIECARD                995
#define WIDC_PF_APIECARD                996
#define WIDC_PF_EGG                     997
#define WIDC_PF_SUNSTONE                998
#define WIDC_PF_MOONSTONE               999
#define WIDC_PF_QUESTS                  1000
/////////////////////////////////////////Resdata.inc v15 Paramter///////////////////////
APP_PETFILTER "WndTile00.tga" 1 432 240 0x2410040 26
{
// Title String
IDS_RESDATA_INC_008801
}
{
// Help Key
IDS_RESDATA_INC_008802
}
{
    WTYPE_STATIC WIDC_STATIC1 "WndEditTile200.tga" 1 8 8 120 24 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008803
    }
    {
    // ToolTip
IDS_RESDATA_INC_008804
    }
    WTYPE_BUTTON WIDC_BUTTON1 "ButtCharApply.tga" 0 284 150 336 170 0x220010 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008805
    }
    {
    // ToolTip
IDS_RESDATA_INC_008806
    }
    WTYPE_BUTTON WIDC_PF_HPFOOD "ButtCheck.bmp" 0 8 30 104 46 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008807
    }
    {
    // ToolTip
IDS_RESDATA_INC_008808
    }
    WTYPE_BUTTON WIDC_PF_MPFOOD "ButtCheck.bmp" 0 8 50 104 66 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008809
    }
    {
    // ToolTip
IDS_RESDATA_INC_008810
    }
    WTYPE_BUTTON WIDC_PF_FPFOOD "ButtCheck.bmp" 0 8 70 120 86 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008811
    }
    {
    // ToolTip
IDS_RESDATA_INC_008812
    }
    WTYPE_STATIC WIDC_STATIC2 "WndEditTile200.tga" 1 132 8 244 24 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008813
    }
    {
    // ToolTip
IDS_RESDATA_INC_008814
    }
    WTYPE_BUTTON WIDC_PF_NECKLACE "ButtCheck.bmp" 0 140 30 236 46 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008815
    }
    {
    // ToolTip
IDS_RESDATA_INC_008816
    }
    WTYPE_BUTTON WIDC_PF_EARRING "ButtCheck.bmp" 0 140 50 236 66 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008817
    }
    {
    // ToolTip
IDS_RESDATA_INC_008818
    }
    WTYPE_BUTTON WIDC_PF_RING "ButtCheck.bmp" 0 140 70 236 86 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008819
    }
    {
    // ToolTip
IDS_RESDATA_INC_008820
    }
    WTYPE_STATIC WIDC_STATIC3 "WndEditTile200.tga" 1 8 88 120 104 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008821
    }
    {
    // ToolTip
IDS_RESDATA_INC_008822
    }
    WTYPE_BUTTON WIDC_PF_BWEAPON "ButtCheck.bmp" 0 8 110 120 126 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008823
    }
    {
    // ToolTip
IDS_RESDATA_INC_008824
    }
    WTYPE_BUTTON WIDC_PF_GWEAPON "ButtCheck.bmp" 0 8 130 120 146 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008825
    }
    {
    // ToolTip
IDS_RESDATA_INC_008826
    }
    WTYPE_BUTTON WIDC_PF_BSET "ButtCheck.bmp" 0 8 150 120 166 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008827
    }
    {
    // ToolTip
IDS_RESDATA_INC_008828
    }
    WTYPE_BUTTON WIDC_PF_GSET "ButtCheck.bmp" 0 8 168 120 184 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008829
    }
    {
    // ToolTip
IDS_RESDATA_INC_008830
    }
    WTYPE_STATIC WIDC_STATIC4 "WndEditTile200.tga" 1 256 8 368 24 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008831
    }
    {
    // ToolTip
IDS_RESDATA_INC_008832
    }
    WTYPE_BUTTON WIDC_PF_ELECARD "ButtCheck.bmp" 0 258 30 358 46 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008833
    }
    {
    // ToolTip
IDS_RESDATA_INC_008834
    }
    WTYPE_BUTTON WIDC_PF_4PCARD "ButtCheck.bmp" 0 258 50 354 66 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008835
    }
    {
    // ToolTip
IDS_RESDATA_INC_008836
    }
    WTYPE_BUTTON WIDC_PF_7PCARD "ButtCheck.bmp" 0 258 70 354 86 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008837
    }
    {
    // ToolTip
IDS_RESDATA_INC_008838
    }
    WTYPE_BUTTON WIDC_PF_BPIECARD "ButtCheck.bmp" 0 258 90 354 106 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008839
    }
    {
    // ToolTip
IDS_RESDATA_INC_008840
    }
    WTYPE_BUTTON WIDC_PF_APIECARD "ButtCheck.bmp" 0 258 110 354 126 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008841
    }
    {
    // ToolTip
IDS_RESDATA_INC_008842
    }
    WTYPE_STATIC WIDC_STATIC5 "WndEditTile200.tga" 1 132 88 244 104 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008843
    }
    {
    // ToolTip
IDS_RESDATA_INC_008844
    }
    WTYPE_BUTTON WIDC_PF_EGG "ButtCheck.bmp" 0 136 110 232 126 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008845
    }
    {
    // ToolTip
IDS_RESDATA_INC_008846
    }
    WTYPE_BUTTON WIDC_PF_SUNSTONE "ButtCheck.bmp" 0 136 130 232 146 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008847
    }
    {
    // ToolTip
IDS_RESDATA_INC_008848
    }
    WTYPE_BUTTON WIDC_PF_MOONSTONE "ButtCheck.bmp" 0 136 150 232 166 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008849
    }
    {
    // ToolTip
IDS_RESDATA_INC_008850
    }
    WTYPE_BUTTON WIDC_PF_QUESTS "ButtCheck.bmp" 0 136 168 232 184 0x220018 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008851
    }
    {
    // ToolTip
IDS_RESDATA_INC_008852
    }
    WTYPE_STATIC WIDC_STATIC6 "WndEditTile200.tga" 1 8 184 376 200 0x2220011 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_008853
    }
    {
    // ToolTip
IDS_RESDATA_INC_008854
    }

}
//////////////////////////////ResData.inc v17 Paramter/////////////////////////
APP_PETFILTER "WndTile00.tga" "" 1 432 240 0x2410040 26
{
// Title String
IDS_RESDATA_INC_008801
}
{
// Help Key
IDS_RESDATA_INC_008802
}
{
    WTYPE_STATIC WIDC_STATIC1 "WndEditTile200.tga" 1 8 8 120 24 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008803
    }
    {
    // ToolTip
IDS_RESDATA_INC_008804
    }
    WTYPE_BUTTON WIDC_BUTTON1 "ButtCharApply.tga" 0 284 150 336 170 0x220010 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008805
    }
    {
    // ToolTip
IDS_RESDATA_INC_008806
    }
    WTYPE_BUTTON WIDC_PF_HPFOOD "ButtCheck.bmp" 0 8 30 104 46 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008807
    }
    {
    // ToolTip
IDS_RESDATA_INC_008808
    }
    WTYPE_BUTTON WIDC_PF_MPFOOD "ButtCheck.bmp" 0 8 50 104 66 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008809
    }
    {
    // ToolTip
IDS_RESDATA_INC_008810
    }
    WTYPE_BUTTON WIDC_PF_FPFOOD "ButtCheck.bmp" 0 8 70 120 86 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008811
    }
    {
    // ToolTip
IDS_RESDATA_INC_008812
    }
    WTYPE_STATIC WIDC_STATIC2 "WndEditTile200.tga" 1 132 8 244 24 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008813
    }
    {
    // ToolTip
IDS_RESDATA_INC_008814
    }
    WTYPE_BUTTON WIDC_PF_NECKLACE "ButtCheck.bmp" 0 140 30 236 46 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008815
    }
    {
    // ToolTip
IDS_RESDATA_INC_008816
    }
    WTYPE_BUTTON WIDC_PF_EARRING "ButtCheck.bmp" 0 140 50 236 66 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008817
    }
    {
    // ToolTip
IDS_RESDATA_INC_008818
    }
    WTYPE_BUTTON WIDC_PF_RING "ButtCheck.bmp" 0 140 70 236 86 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008819
    }
    {
    // ToolTip
IDS_RESDATA_INC_008820
    }
    WTYPE_STATIC WIDC_STATIC3 "WndEditTile200.tga" 1 8 88 120 104 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008821
    }
    {
    // ToolTip
IDS_RESDATA_INC_008822
    }
    WTYPE_BUTTON WIDC_PF_BWEAPON "ButtCheck.bmp" 0 8 110 120 126 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008823
    }
    {
    // ToolTip
IDS_RESDATA_INC_008824
    }
    WTYPE_BUTTON WIDC_PF_GWEAPON "ButtCheck.bmp" 0 8 130 120 146 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008825
    }
    {
    // ToolTip
IDS_RESDATA_INC_008826
    }
    WTYPE_BUTTON WIDC_PF_BSET "ButtCheck.bmp" 0 8 150 120 166 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008827
    }
    {
    // ToolTip
IDS_RESDATA_INC_008828
    }
    WTYPE_BUTTON WIDC_PF_GSET "ButtCheck.bmp" 0 8 168 120 184 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008829
    }
    {
    // ToolTip
IDS_RESDATA_INC_008830
    }
    WTYPE_STATIC WIDC_STATIC4 "WndEditTile200.tga" 1 256 8 368 24 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008831
    }
    {
    // ToolTip
IDS_RESDATA_INC_008832
    }
    WTYPE_BUTTON WIDC_PF_ELECARD "ButtCheck.bmp" 0 258 30 358 46 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008833
    }
    {
    // ToolTip
IDS_RESDATA_INC_008834
    }
    WTYPE_BUTTON WIDC_PF_4PCARD "ButtCheck.bmp" 0 258 50 354 66 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008835
    }
    {
    // ToolTip
IDS_RESDATA_INC_008836
    }
    WTYPE_BUTTON WIDC_PF_7PCARD "ButtCheck.bmp" 0 258 70 354 86 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008837
    }
    {
    // ToolTip
IDS_RESDATA_INC_008838
    }
    WTYPE_BUTTON WIDC_PF_BPIECARD "ButtCheck.bmp" 0 258 90 354 106 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008839
    }
    {
    // ToolTip
IDS_RESDATA_INC_008840
    }
    WTYPE_BUTTON WIDC_PF_APIECARD "ButtCheck.bmp" 0 258 110 354 126 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008841
    }
    {
    // ToolTip
IDS_RESDATA_INC_008842
    }
    WTYPE_STATIC WIDC_STATIC5 "WndEditTile200.tga" 1 132 88 244 104 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008843
    }
    {
    // ToolTip
IDS_RESDATA_INC_008844
    }
    WTYPE_BUTTON WIDC_PF_EGG "ButtCheck.bmp" 0 136 110 232 126 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008845
    }
    {
    // ToolTip
IDS_RESDATA_INC_008846
    }
    WTYPE_BUTTON WIDC_PF_SUNSTONE "ButtCheck.bmp" 0 136 130 232 146 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008847
    }
    {
    // ToolTip
IDS_RESDATA_INC_008848
    }
    WTYPE_BUTTON WIDC_PF_MOONSTONE "ButtCheck.bmp" 0 136 150 232 166 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008849
    }
    {
    // ToolTip
IDS_RESDATA_INC_008850
    }
    WTYPE_BUTTON WIDC_PF_QUESTS "ButtCheck.bmp" 0 136 168 232 184 0x220018 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008851
    }
    {
    // ToolTip
IDS_RESDATA_INC_008852
    }
    WTYPE_STATIC WIDC_STATIC6 "WndEditTile200.tga" 1 8 184 376 200 0x2220011 0 0 0 0 46 112 169
    {
    // Title String
IDS_RESDATA_INC_008853
    }
    {
    // ToolTip
IDS_RESDATA_INC_008854
    }

}
//////////////////////////////ResData.txt////////////////////////////////////////
IDS_RESDATA_INC_008801    Petfilter
IDS_RESDATA_INC_008802    
IDS_RESDATA_INC_008803    Food
IDS_RESDATA_INC_008804    
IDS_RESDATA_INC_008805    
IDS_RESDATA_INC_008806    Save Petfilter settings and exit window.
IDS_RESDATA_INC_008807    HP Food
IDS_RESDATA_INC_008808    
IDS_RESDATA_INC_008809    MP Food
IDS_RESDATA_INC_008810    
IDS_RESDATA_INC_008811    FP Food
IDS_RESDATA_INC_008812    
IDS_RESDATA_INC_008813    Accessories
IDS_RESDATA_INC_008814    
IDS_RESDATA_INC_008815    Necklace
IDS_RESDATA_INC_008816    
IDS_RESDATA_INC_008817    Earring
IDS_RESDATA_INC_008818    
IDS_RESDATA_INC_008819    Ring
IDS_RESDATA_INC_008820    
IDS_RESDATA_INC_008821    Equipment
IDS_RESDATA_INC_008822    
IDS_RESDATA_INC_008823    Blue Weapons
IDS_RESDATA_INC_008824    
IDS_RESDATA_INC_008825    Green Weapons
IDS_RESDATA_INC_008826    
IDS_RESDATA_INC_008827    Blue Set Items
IDS_RESDATA_INC_008828    
IDS_RESDATA_INC_008829    Green Set Items
IDS_RESDATA_INC_008830    
IDS_RESDATA_INC_008831    Cards
IDS_RESDATA_INC_008832    
IDS_RESDATA_INC_008833    Element Cards
IDS_RESDATA_INC_008834    
IDS_RESDATA_INC_008835    4% Cards
IDS_RESDATA_INC_008836    
IDS_RESDATA_INC_008837    7% Cards
IDS_RESDATA_INC_008838    
IDS_RESDATA_INC_008839    B Cards
IDS_RESDATA_INC_008840    
IDS_RESDATA_INC_008841    A Cards
IDS_RESDATA_INC_008842    
IDS_RESDATA_INC_008843    Misc.
IDS_RESDATA_INC_008844    
IDS_RESDATA_INC_008845    Egg
IDS_RESDATA_INC_008846    
IDS_RESDATA_INC_008847    Sunstone
IDS_RESDATA_INC_008848    
IDS_RESDATA_INC_008849    Moonstone
IDS_RESDATA_INC_008850    
IDS_RESDATA_INC_008851    Quest Items
IDS_RESDATA_INC_008852    
IDS_RESDATA_INC_008853    Choose the items you DO NOT want to pick up
IDS_RESDATA_INC_008854    
///////////////////////////////////defineItemKind.h///////////////////////////////
ARMOR_GEN Definieren
//////////////////////////////////SpecItem.txt / ProbItem.txt///////////////////
Bluearmor -> ARMOR_GEN
01/04/2012 15:02 Jopsi332#2
petfilter is doch schon released oder nich?
01/04/2012 15:03 マリブ#3
Quote:
Originally Posted by Jopsi332 View Post
petfilter is doch schon released oder nich?
Lern to Read..
01/04/2012 15:04 19Dani92#4
Quote:
Originally Posted by Jopsi332 View Post
petfilter is doch schon released oder nich?
ja auf rz schreibt er doch ^^

der is wirklich gut, falls es der von Xakzi is :)
01/04/2012 15:05 Synxx�#5
es ist der von Xakzi
01/04/2012 15:12 Jopsi332#6
ne hier ist doch auch einer released das meinte ich
01/04/2012 15:15 マリブ#7
Quote:
Originally Posted by Jopsi332 View Post
ne hier ist doch auch einer released das meinte ich
Ist mir nicht bekannt.
01/04/2012 15:17 Jopsi332#8
Quote:
Originally Posted by Malibux33 View Post
Ist mir nicht bekannt.
ist dieser hier f�r ein eigenes fenster?
also net f�r buffpet fenster?
01/04/2012 15:19 Synxx�#9
Quote:
Originally Posted by Jopsi332 View Post
ne hier ist doch auch einer released das meinte ich
Du meinst die buffpet petfilter
[IMG]http://forum.********.com/attachments/f457/94132d1322001568-fully-working-pet-filter-wakazaki-flyff00001.jpg[/IMG]
Das ist er
Edit:Fail bild:D
diese sternchen einfach mit dem richtigen ersetzen...
01/04/2012 15:25 マリブ#10
[Only registered and activated users can see links. Click Here To Register...]
01/04/2012 15:29 Synxx�#11
Malibu,du hast was vergessen,
blue armor wird garnicht gefiltert,
man muss erst in defineitemkind.h ARMOR_GEN ganz am ende adden und alle bluearmor mit ARMOR_GEN versehen
01/04/2012 15:32 マリブ#12
Quote:
Originally Posted by Synxx� View Post
Malibu,du hast was vergessen,
blue armor wird garnicht gefiltert,
man muss erst in defineitemkind.h ARMOR_GEN ganz am ende adden und alle bluearmor mit ARMOR_GEN versehen
Yu hatte ich vergessn, jetzt wissen sie es ja ^^
01/04/2012 16:02 Shuya83#13
Den Pet Filter hab ich auch schon seit 2 wochen drinne, funktioniert soweit super nur das man beim Client neustarten die einstellungen in Filter neuspeichern muss.
01/12/2012 03:05 Mariomarter#14
was filtert der eigentlich mit Blue Armor? ich kann mir darunter jetzt gar nichts vorstellen o.O die ganz normalen r�stungen? Ebenso bei den Waffen...
01/12/2012 03:45 Flash!#15
Quote:
Originally Posted by Mariomarter View Post
was filtert der eigentlich mit Blue Armor? ich kann mir darunter jetzt gar nichts vorstellen o.O die ganz normalen r�stungen? Ebenso bei den Waffen...
Es gibt doch einmal Rare (Greens) und einmal normale (Unrare oder auch Blue's genannt) Setteile/Waffen.