shevechco
4级·生命之泉
4级·生命之泉
  • UID17
  • 注册日期2011-05-19
  • 最后登录2018-03-28
  • 粉丝4
  • 关注0
  • 发帖数308
  • QQ
  • 铜币274枚
  • 威望0点
  • 银元433个
阅读:3136回复:5

【源码编辑】时尚组合系统——转自外国论坛

楼主#
更多 发布于:2011-11-10 17:00

randomoption.h

于:
PHP代码:
public:
    bool    IsCheckedSafeFlag( __int64 n64RandomeOption );
    void    SetSafeFlag( __int64* pn64RandomOption );
    void    ResetSafeFlag( __int64* pn64RandomOption );
    //    mulcom    END100405    °¢¼º º¸È£ÀÇ µÎ·ç¸¶¸®  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
public:
    int        MergeRandomOption( CItemElem* pItemElemMain, CItemElem* pItemElemDestroy, int nMaxCombinedSize = 3 );
#endif // __FASHION_COMBINE  

---------------------------------------------------------------------------------------------------------------------
randomoption.cpp

下功能:
PHP代码:
bool    CRandomOptionProperty::IsCheckedSafeFlag( __int64 n64RandomeOption )  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
int CRandomOptionProperty::MergeRandomOption( CItemElem* pItemElemMain, CItemElem* pItemElemDestroy, int nMaxCombinedSize )
{
    int nMainSize = g_xRandomOptionProperty->GetRandomOptionSize( pItemElemMain->GetRandomOptItemId() );
    int nDestroySize = g_xRandomOptionProperty->GetRandomOptionSize( pItemElemDestroy->GetRandomOptItemId() );

    if( nMainSize + nDestroySize > nMaxCombinedSize )
        return 1;

    for( int i = 0; i < nDestroySize; i++ )
    {
        int nDst, nAdj;
        if( g_xRandomOptionProperty->GetParam( pItemElemDestroy->GetRandomOptItemId(), i, &nDst, &nAdj ) )
            g_xRandomOptionProperty->SetParam( pItemElemMain->GetRandomOptItemIdPtr(), nDst, nAdj );
    }
    return 0;
}
#endif // __FASHION_COMBINE  

-----------------------------------------------------------------------------------------------------------------------
MsgHdr.h

前的快照:
PHP代码:
#ifdef __FASHION_COMBINE
#define PACKETTYPE_COMBINE_FASHION                    (DWORD)0x88100299
#endif // __FASHION_COMBINE  

-------------------------------------------------------------------------------------------------------------------------
DPSrvr.h

于:
PHP代码:
#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  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
    void    OnFashionCombine( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif // __FASHION_COMBINE  

-------------------------------------------------------------------------------------------------------------------------
DPSrvr.cpp

于:
PHP代码:
#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  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
    ON_MSG( PACKETTYPE_COMBINE_FASHION, OnFashionCombine );
#endif // __FASHION_COMBINE  


就在最后:
PHP代码:
#ifdef __FASHION_COMBINE
void CDPSrvr::OnFashionCombine( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    if( IsValidObj( pUser ) )
    {
        DWORD dwItem = NULL_ID;
        CItemElem* pItemElem[8];

        for( int i = 0; i < 8; i++ )
        {
            ar >> dwItem;
            pItemElem = pUser->m_Inventory.GetAtId( dwItem );
            if( !IsUsableItem( pItemElem))
                return;
        }
        if( xRandom( 10000 ) < 10000 )
        {        
            int nResult = 0;
            nResult = g_xRandomOptionProperty->MergeRandomOption( pItemElem[0], pItemElem[1] );
            nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[2], pItemElem[3] );
            nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[4], pItemElem[5] );
            nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[6], pItemElem[7] );
            if( nResult > 0 )
            {
                Error( "packet editor detected. tried to combine more then 3 awakening on one item. User: %s", pUser->GetName() );
            }
            for( int i = 1; i < 8; i += 2 )
            {
                pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );
            }
            for( int i = 0; i < 8; i += 2 )
            {
                pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
            }

            pUser->AddDefinedText( TID_COSTUME_COSTUMEMIXCOMPLETE );
        }else
        {
            pUser->AddPlaySound( SND_INF_UPGRADEFAIL );
            if( pUser->IsMode( TRANSPARENT_MODE ) == 0 )
                g_UserMng.AddCreateSfxObj( (CMover *)pUser, XI_INT_FAIL, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z );

            if( pUser->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_COSTUMEDEFENDER ) )
            {
                pUser->RemoveBuff( BUFF_ITEM , II_SYS_SYS_SCR_COSTUMEDEFENDER );
                pUser->AddDefinedText( TID_MMI_COSTUME_SAFEMIXITEM03 );

            }else
            {
                pUser->AddDefinedText( TID_MMI_COSTUME_COSTUMEMIXFAILED );
                for( int i = 0; i < 8; i++ )
                {
                    pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );
                }
            }
        }
    }
}
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
WndField.h

下功能:
PHP代码:
class CWndCampusSeveranceConfirm : public CWndNeuz  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
class CWndFashionCombine : public CWndNeuz
{
public:
    CItemElem* m_pItemElem[12];
    CTexture*  m_pTexture[12];

public:  
    CWndFashionCombine();  
    virtual ~CWndFashionCombine();  

    virtual void OnDraw( C2DRender* p2DRender );  
    virtual    void OnInitialUpdate();  
    virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );  
    virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );  
    virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase );  
    virtual void OnSize( UINT nType, int cx, int cy );  
    virtual BOOL OnDropIcon( LPSHORTCUT pShortcut, CPoint point );
};
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
WndField.cpp

于:
PHP代码:
#include "wndwebbox.h"  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
#include "randomoption.h"
#endif // __FASHION_COMBINE  

就在最后:
PHP代码:
#ifdef __FASHION_COMBINE
CWndFashionCombine::CWndFashionCombine()  
{
    for( int i = 0; i < 12; i++ )
    {
        m_pItemElem = NULL;
        m_pTexture = NULL;
        //ZeroMemory( m_pItemElem, sizeof( m_pItemElem ));
        //ZeroMemory( m_pTexture, sizeof( m_pTexture ));
    }    
}
CWndFashionCombine::~CWndFashionCombine()  
{
    for( int i = 0; i < 8; i++ )
    {
        if( m_pItemElem != NULL )
        {
            if( !g_pPlayer->m_vtInfo.IsTrading( m_pItemElem ))
                m_pItemElem->SetExtra(0);
        }
    }
}
void CWndFashionCombine::OnDraw( C2DRender* p2DRender )  
{
    LPWNDCTRL wndCtrl[12];

    wndCtrl[0] = GetWndCtrl( WIDC_ST_HAT_A );
    wndCtrl[1] = GetWndCtrl( WIDC_ST_CLOTH_A );
    wndCtrl[2] = GetWndCtrl( WIDC_ST_GLOVE_A );
    wndCtrl[3] = GetWndCtrl( WIDC_ST_SHOES_A );
    wndCtrl[4] = GetWndCtrl( WIDC_ST_HAT_B );
    wndCtrl[5] = GetWndCtrl( WIDC_ST_CLOTH_B );
    wndCtrl[6] = GetWndCtrl( WIDC_ST_GLOVE_B );
    wndCtrl[7] = GetWndCtrl( WIDC_ST_SHOES_B );
    wndCtrl[8] = GetWndCtrl( WIDC_ST_RESULT_HAT );
    wndCtrl[9] = GetWndCtrl( WIDC_ST_RESULT_CLOTH );
    wndCtrl[10]= GetWndCtrl( WIDC_ST_RESULT_GLOVE );
    wndCtrl[11]= GetWndCtrl( WIDC_ST_RESULT_SHOES );

    for( int i = 0; i < 12; i++ )
    {
        if( m_pItemElem != NULL && m_pTexture != NULL )
        {
            m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top));
        }
    }
}
void CWndFashionCombine::OnInitialUpdate()  
{  
    CWndNeuz::OnInitialUpdate();  

    CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_START);
    pButton->EnableWindow(FALSE);

    MoveParentCenter();
}  
BOOL CWndFashionCombine::Initialize( CWndBase* pWndParent, DWORD /*dwWndId*/ )  
{  
    return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_COSTUME_MIXMENU, 0, CPoint( 0, 0 ), pWndParent );
}  
BOOL CWndFashionCombine::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )  
{  
    return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );  
}  
void CWndFashionCombine::OnSize( UINT nType, int cx, int cy )  
{  
    CWndNeuz::OnSize( nType, cx, cy );  
}  



BOOL CWndFashionCombine::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{
    CRect rect[8];
    LPWNDCTRL wndCtrl[8];

    wndCtrl[0] = GetWndCtrl( WIDC_ST_HAT_A );
    wndCtrl[1] = GetWndCtrl( WIDC_ST_CLOTH_A );
    wndCtrl[2] = GetWndCtrl( WIDC_ST_GLOVE_A );
    wndCtrl[3] = GetWndCtrl( WIDC_ST_SHOES_A );
    wndCtrl[4] = GetWndCtrl( WIDC_ST_HAT_B );
    wndCtrl[5] = GetWndCtrl( WIDC_ST_CLOTH_B );
    wndCtrl[6] = GetWndCtrl( WIDC_ST_GLOVE_B );
    wndCtrl[7] = GetWndCtrl( WIDC_ST_SHOES_B );

    BOOL bUpdate = FALSE;

    for( int i = 0; i < 8; i++ )
    {
        rect = wndCtrl->rect;
        
        if( rect.PtInRect( point ))
        {
            CItemElem* pTempElem;
            pTempElem = (CItemElem*) g_pPlayer->GetItemId( pShortcut->m_dwId );
            if( pTempElem != NULL )
            {
                if( 0 < CRandomOptionProperty::GetInstance()->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ))
                {
                    ItemProp* pItemProp = pTempElem->GetProp();

                    if(( i == 0 || i == 4 ) && ( pItemProp->dwItemKind3 == IK3_HAT ))
                    {    
                        if( i == 0 )
                        {
                            if( m_pItemElem[4] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[4]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[8] = m_pItemElem[0];
                                m_pTexture[8] = m_pTexture[0];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[8], m_pItemElem[4] );
                            }
                        }
                        if( i == 4 )
                        {
                            if( m_pItemElem[0] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[0]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[8] = m_pItemElem[0];
                                m_pTexture[8] = m_pTexture[0];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[8], m_pItemElem[4] );
                            }
                        }
                    }else
                    if(( i == 1 || i == 5 ) && ( pItemProp->dwItemKind3 == IK3_CLOTH ))
                    {
                        if( i == 1 )
                        {
                            if( m_pItemElem[5] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[5]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[9] = m_pItemElem[1];
                                m_pTexture[9] = m_pTexture[1];

//                                g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[9], m_pItemElem[5] );
                            }
                        }
                        if( i == 5 )
                        {
                            if( m_pItemElem[1] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[1]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[9] = m_pItemElem[1];
                                m_pTexture[9] = m_pTexture[1];
                                //g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[9], m_pItemElem[5] );
                            }
                        }
                    }else
                    if(( i == 2 || i == 6 ) && ( pItemProp->dwItemKind3 == IK3_GLOVE ))
                    {
                        if( i == 2 )
                        {
                            if( m_pItemElem[6] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[6]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[10] = m_pItemElem[2];
                                m_pTexture[10] = m_pTexture[2];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[10], m_pItemElem[6] );
                            }
                        }
                        if( i == 6 )
                        {
                            if( m_pItemElem[2] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[2]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[10] = m_pItemElem[2];
                                m_pTexture[10] = m_pTexture[2];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[10], m_pItemElem[6] );
                            }
                        }
                    }else
                    if(( i == 3 || i == 7 ) && ( pItemProp->dwItemKind3 == IK3_SHOES ))
                    {
                        if( i == 3 )
                        {
                            if( m_pItemElem[7] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[7]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[11] = m_pItemElem[3];
                                m_pTexture[11] = m_pTexture[3];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[11], m_pItemElem[7] );
                            }
                        }
                        if( i == 7 )
                        {
                            if( m_pItemElem[3] != NULL )
                            {
                                int nSize = 0;
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
                                nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[3]->GetRandomOptItemId() );
                                if( nSize > 3 )
                                {
                                    g_WndMng.OpenMessageBox( "oversize" );
                                    return TRUE;
                                }else
                                {
                                    bUpdate = TRUE;
                                }
                            }
                            if(m_pItemElem != NULL)
                                m_pItemElem->SetExtra(0);

                            m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
                            m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
                            m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);

                            if( bUpdate == TRUE )
                            {
                                m_pItemElem[11] = m_pItemElem[3];
                                m_pTexture[11] = m_pTexture[3];
                            //    g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[11], m_pItemElem[7] );
                            }
                        }
                    }else
                    {
                        g_WndMng.OpenMessageBox( prj.GetText( TID_COSTUME_REGISTERNOTSLOT ) );
                        // wrong tab
                    }
                }else
                {
                    g_WndMng.OpenMessageBox( prj.GetText( TID_COSTUME_REGISTERNOTSLOT ) );
                    // not blessed
                }
            }
        }
    }

    int nCheck = 0;
    for( int i = 0; i < 8; i++ )
    {
        if( m_pItemElem != NULL )
            nCheck++;
    }
    if( 8 <= nCheck )
    {
        CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_START);
        pButton->EnableWindow(TRUE);            
    }
    return TRUE;
}
BOOL CWndFashionCombine::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )  
{  
    switch( nID )
    {
        case WIDC_BUTTON1:
        {
            g_DPlay.SendCombineFashion(  
                m_pItemElem[0]->m_dwObjId, m_pItemElem[4]->m_dwObjId,
                m_pItemElem[1]->m_dwObjId, m_pItemElem[5]->m_dwObjId,
                m_pItemElem[2]->m_dwObjId, m_pItemElem[6]->m_dwObjId,
                m_pItemElem[3]->m_dwObjId, m_pItemElem[7]->m_dwObjId                
                );
            Destroy();
            break;
        }
        case WIDC_BUTTON2:
        {
            Destroy();
            break;
        }
    }
    return CWndNeuz::OnChildNotify( message, nID, pLResult );  
}  
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
WndWorld.cpp

于:
PHP代码:
       case MMI_REMOVE_CAMPUS:
            {
                if( g_WndMng.m_pWndCampusSeveranceConfirm )
                    SAFE_DELETE( g_WndMng.m_pWndCampusSeveranceConfirm );
                g_WndMng.m_pWndCampusSeveranceConfirm = new CWndCampusSeveranceConfirm( pFocusMover->m_idPlayer, pFocusMover->GetName() );
                g_WndMng.m_pWndCampusSeveranceConfirm->Initialize( NULL );
                break;
            }
#endif // __CAMPUS  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
        case MMI_COSTUMEMIX01:
            {
                SAFE_DELETE( g_WndMng.m_pWndFashionCombine );
                g_WndMng.m_pWndFashionCombine = new CWndFashionCombine;
                g_WndMng.m_pWndFashionCombine->Initialize();
            }
            break;
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
WndManager.h

于:
PHP代码:
#ifdef __GUILD_HOUSE_MIDDLE
    CWndGuildHouseBid* m_pWndGHBid;
#endif //__GUILD_HOUSE_MIDDLE  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
    CWndFashionCombine* m_pWndFashionCombine;
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
WndManager.cpp

于:
PHP代码:
#ifdef __GUILD_HOUSE_MIDDLE
    else if( m_pWndGHBid == pWndChild )
    {
        SAFE_DELETE( m_pWndGHBid );
        pWndChild = NULL;
    }
#endif //__GUILD_HOUSE_MIDDLE  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
    else if(m_pWndFashionCombine == pWndChild)
    {
        SAFE_DELETE( m_pWndFashionCombine );
        pWndChild = NULL;
    }
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
DPClient.h

于:
PHP代码:
#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  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
    void    SendCombineFashion( DWORD dwItem1,DWORD dwItem2,DWORD dwItem3,DWORD dwItem4,DWORD dwItem5,DWORD dwItem6,DWORD dwItem7,DWORD dwItem8 );
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------
DPClient.cpp

于:
PHP代码:
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  

认为:
PHP代码:
#ifdef __FASHION_COMBINE
void CDPClient::SendCombineFashion( DWORD dwItem1,DWORD dwItem2,DWORD dwItem3,DWORD dwItem4,DWORD dwItem5,DWORD dwItem6,DWORD dwItem7,DWORD dwItem8 )
{
    BEFORESENDSOLE( ar, PACKETTYPE_COMBINE_FASHION, DPID_UNKNOWN );
    ar << dwItem1 << dwItem2 << dwItem3 << dwItem4 << dwItem5 << dwItem6 << dwItem7 << dwItem8;
    SEND( ar, this, DPID_SERVERPLAYER );
}
#endif // __FASHION_COMBINE  

----------------------------------------------------------------------------------------------------------------------------

现在大家都addet VersionCommon.h认为:
PHP代码:
#define        __FASHION_COMBINE  

所有于就是在下面这段代码之后,前的快照就在下面这段代码之前 ,认为就是插入,不想翻译了。自己加吧,编译无任何错误




admin
管理员
管理员
  • UID1
  • 注册日期2011-05-18
  • 最后登录2022-08-22
  • 粉丝94
  • 关注0
  • 发帖数1061
  • QQ
  • 铜币1232枚
  • 威望8点
  • 银元1218个
沙发#
发布于:2011-11-10 17:41
谢谢楼主的分享精神    楼主辛苦啦
哎...今天够累的,签到来了3...
〆一抹悲凉.笑叹
4级·生命之泉
4级·生命之泉
  • UID136
  • 注册日期2011-06-04
  • 最后登录2011-11-15
  • 粉丝0
  • 关注0
  • 发帖数24
  • QQ
  • 铜币65枚
  • 威望0点
  • 银元-1个
板凳#
发布于:2011-11-11 02:03
看不懂啊看不懂
newage
  • UID126
  • 注册日期2011-06-01
  • 最后登录2011-11-22
  • 粉丝0
  • 关注0
  • 发帖数9
  • QQ
  • 铜币0枚
  • 威望0点
  • 银元0个
地板#
发布于:2011-11-12 08:41
合成机率是否无法控制?我怎么改都是100%
tangjie134
2级·斗气风暴
2级·斗气风暴
  • UID993
  • 注册日期2011-08-27
  • 最后登录2011-12-16
  • 粉丝4
  • 关注0
  • 发帖数99
  • QQ
  • 铜币16枚
  • 威望-1点
  • 银元-3个
4楼#
发布于:2011-11-12 22:13
什么意思啊 看不懂
东、
禁止发言
禁止发言
  • UID521
  • 注册日期2011-07-31
  • 最后登录2014-01-17
  • 粉丝3
  • 关注0
  • 发帖数252
  • QQ
  • 铜币136枚
  • 威望-4点
  • 银元223个
5楼#
发布于:2011-12-04 13:39
用户被禁言,该主题自动屏蔽!
游客

返回顶部