阅读:3136回复:5
【源码编辑】时尚组合系统——转自外国论坛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
|
|
100% |
沙发#
发布于:2011-11-10 17:41
谢谢楼主的分享精神 楼主辛苦啦
|
|
|
板凳#
发布于:2011-11-11 02:03
看不懂啊看不懂
|
|
地板#
发布于:2011-11-12 08:41
合成机率是否无法控制?我怎么改都是100%
|
|
4楼#
发布于:2011-11-12 22:13
什么意思啊 看不懂
|
|
5楼#
发布于:2011-12-04 13:39
用户被禁言,该主题自动屏蔽! |
|