Source:
MsgHdr.h (_Network)
über:
das hier:
DpSrvr.cpp (WorldServer)
über dem hier:
das hier:
und ganz unten das hier einfügen:
DPSrvr.h (WorldServer)
über dem hier:
das hier:
DPClient.cpp (Neuz)
über dem hier:
das:
DPClient.h (Neuz)
über dem hier:
das hier:
WndField.h
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
WndField.cpp (_Interface)
unter dem hier:
das hier:
unter dme hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter:
das:
unter dme hier:
das hier:
unter dem hier:
das hier:
unter dme hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
uner dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
unter dem hier:
das hier:
MoverActEvent.cpp (_Common)
unter:
das hier:
Mover.cpp (_Common)
unter:
das hier:
Mover.h (_Common)
unter:
das hier:
unter:
das hier:
Achtung folgenden schritt nur machen falls ihr die folgende funktion nicht schon implementiert habt.
Ctrl.cpp (_Common)
ganz unten das adden:
Ctrl.h (_Common.h)
uber:
das hier adden:
nun noch in der Versioncommon.h der neuz und des Worldservers __BURNOUT_SYSTEM definieren
über:
Code:
/*------------------------------------------------------------------------------------------------------------------------------------------------------------*/ #define SNAPSHOTTYPE_CHAT (WORD)0x0001 #define SNAPSHOTTYPE_ACTMSG (WORD)0x0002
Code:
#ifdef __BURNOUT_SYSTEM #define PACKETTYPE_SENDBURNOUT (DWORD)0x88100262 #endif //__BURNOUT_SYSTEM
DpSrvr.cpp (WorldServer)
über dem hier:
Code:
}
CDPSrvr::~CDPSrvr()
{
Code:
#ifdef __BURNOUT_SYSTEM ON_MSG( PACKETTYPE_SENDBURNOUT, OnSendBurnout ); #endif //__BURNOUT_SYSTEM
Code:
#ifdef __BURNOUT_SYSTEM
void CDPSrvr::OnSendBurnout( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
CMover* pMover = pUser;
g_UserMng.AddCreateSfxObj( (CMover *)pUser, XI_SKILL_KNT_TWOAX_POWERSTUMP03, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z );
if( pMover->GetBurnoutExp() >= 100 )
{
CCtrl* pCtrl = (CCtrl*)pMover;
pCtrl->DoAddBuff( SI_CHEER_BURNOUT, 1, pCtrl );
pMover->SetBurnoutExp( 0 );
}
}
#endif //__BURNOUT_SYSTEM
DPSrvr.h (WorldServer)
über dem hier:
Code:
}; #endif // __DPSRVR_H__
Code:
#ifdef __BURNOUT_SYSTEM
public:
void OnSendBurnout( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif //__BURNOUT_SYSTEM
DPClient.cpp (Neuz)
über dem hier:
Code:
CDPClient g_DPlay;
Code:
#ifdef __BURNOUT_SYSTEM
void CDPClient::SendBurnout()
{
BEFORESENDSOLE( ar, PACKETTYPE_SENDBURNOUT, DPID_UNKNOWN );
SEND( ar, this, DPID_SERVERPLAYER );
}
#endif //__BURNOUT_SYSTEM
DPClient.h (Neuz)
über dem hier:
Code:
//________________________________________________________________________________ // Operator commands void OnShout( CAr & ar ); void OnPlayMusic( CAr & ar ); void OnPlaySound( CAr & ar );
Code:
#ifdef __BURNOUT_SYSTEM public: void SendBurnout(); #endif //__BURNOUT_SYSTEM
WndField.h
unter dem hier:
Code:
LPDIRECT3DVERTEXBUFFER9 m_pVBHPGauge; LPDIRECT3DVERTEXBUFFER9 m_pVBMPGauge; LPDIRECT3DVERTEXBUFFER9 m_pVBFPGauge; LPDIRECT3DVERTEXBUFFER9 m_pVBEXPGauge;
Code:
#ifdef __BURNOUT_SYSTEM LPDIRECT3DVERTEXBUFFER9 m_pVBBEXPGauge; #endif //__BURNOUT_SYSTEM
Code:
BOOL m_bVBHPGauge; BOOL m_bVBMPGauge; BOOL m_bVBFPGauge; BOOL m_bVBEXPGauge;
Code:
#ifdef __BURNOUT_SYSTEM BOOL m_bVBBEXPGauge; #endif //__BURNOUT_SYSTEM
Code:
int m_nEXPWidth; int m_nPXPWidth;
Code:
#ifdef __BURNOUT_SYSTEM int m_nBEXPWidth; #endif //__BURNOUT_SYSTEM
Code:
virtual void SetWndRect( CRect rectWnd, BOOL bOnSize = TRUE ); virtual void PaintFrame( C2DRender* p2DRender );
Code:
#ifdef __BURNOUT_SYSTEM virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); #endif //__BURNOUT_SYSTEM
WndField.cpp (_Interface)
unter dem hier:
Code:
m_nEXPWidth = -1; m_nPXPWidth = -1;
Code:
#ifdef __BURNOUT_SYSTEM m_nBEXPWidth = -1; #endif //__BURNOUT_SYSTEM
Code:
m_pVBMPGauge = NULL; m_pVBFPGauge = NULL; m_pVBEXPGauge = NULL;
Code:
#ifdef __BURNOUT_SYSTEM m_pVBBEXPGauge = NULL; #endif //__BURNOUT_SYSTEM
Code:
m_bVBMPGauge = TRUE; m_bVBFPGauge = TRUE;
Code:
#ifdef __BURNOUT_SYSTEM m_bVBBEXPGauge = TRUE; #endif //__BURNOUT_SYSTEM
Code:
CWndStatus::~CWndStatus()
{
DeleteDeviceObjects();
}
Code:
#ifdef __BURNOUT_SYSTEM
BOOL CWndStatus::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
switch (nID)
{
case WIDC_BUTTON1:
{
CWndButton* pWndButton = ( CWndButton* )GetDlgItem( WIDC_BUTTON1 );
CMover* pMover = g_pPlayer;
CCtrl* pCtrl = (CCtrl*)pMover;
pCtrl->DoAddBuff( SI_CHEER_BURNOUT, 1, pCtrl );
pMover->SetBurnoutExp( 0 );
g_DPlay.SendBurnout();
pWndButton->EnableWindow( FALSE );
}break;
}
return TRUE;
}
#endif //____BURNOUT_SYSTEM
Code:
LPWNDCTRL lpPxp = GetWndCtrl( WIDC_CUSTOM5 ); LPWNDCTRL lpFace = GetWndCtrl( WIDC_CUSTOM6 );
Code:
#ifdef __BURNOUT_SYSTEM LPWNDCTRL lpBExp = GetWndCtrl( WIDC_CUSTOM7 ); #endif //__BURNOUT_SYSTEM
Code:
nWidth = nWidthClient * pMover->GetHitPoint() / pMover->GetMaxHitPoint();
if( m_nHPWidth != nWidth )
{
m_nHPWidth = nWidth;
rect = lpHP->rect;//.SetRect( 105, 6, 105 + nWidthClient, 6 + 12 );
rectTemp = rect;
rectTemp.right = rectTemp.left + nWidth;
ClientToScreen( rectTemp );
m_bVBHPGauge = m_pTheme->MakeGaugeVertex( m_pApp->m_pd3dDevice, &rectTemp, 0x64ff0000, m_pVBHPGauge, &m_texGauFillNormal );
}
Code:
#ifdef __BURNOUT_SYSTEM
nWidth = nWidthClient * pMover->GetBurnoutExp() / 100;
if( m_nBEXPWidth != nWidth )
{
m_nBEXPWidth = nWidth;
rect = lpBExp->rect;
rectTemp = rect;
rectTemp.right = rectTemp.left + nWidth - 20;
ClientToScreen( rectTemp );
m_bVBBEXPGauge = m_pTheme->MakeGaugeVertex( m_pApp->m_pd3dDevice, &rectTemp, 0xffffd100, m_pVBBEXPGauge, &m_texGauFillNormal );
}
#endif //__BURNOUT_SYSTEM
Code:
LPWNDCTRL lpFP = GetWndCtrl( WIDC_CUSTOM3 ); LPWNDCTRL lpExp = GetWndCtrl( WIDC_CUSTOM4 ); LPWNDCTRL lpFace = GetWndCtrl( WIDC_CUSTOM6 );
Code:
#ifdef __BURNOUT_SYSTEM LPWNDCTRL lpBExp = GetWndCtrl( WIDC_CUSTOM7 ); #endif //__BURNOUT_SYSTEM
Code:
if( m_bVBMPGauge ) m_pTheme->RenderGauge( p2DRender->m_pd3dDevice, m_pVBMPGauge, &m_texGauFillNormal ); if( m_bVBFPGauge ) m_pTheme->RenderGauge( p2DRender->m_pd3dDevice, m_pVBFPGauge, &m_texGauFillNormal );
Code:
#ifdef __BURNOUT_SYSTEM if( m_bVBBEXPGauge ) m_pTheme->RenderGauge( p2DRender->m_pd3dDevice, m_pVBBEXPGauge, &m_texGauFillNormal ); #endif //__BURNOUT_SYSTEM
Code:
char cbufFp[16] = {0,};
char cbufExp[16] = {0,};
char cbufPxp[16] = {0,};
Code:
#ifdef __BURNOUT_SYSTEM
char cbufBExp[16] = {0,};
#endif //__BURNOUT_SYSTEM
Code:
int nCharHP, nCharMP, nCharFP, nCharEXP; //, nCharPXP;
Code:
#ifdef __BURNOUT_SYSTEM int nCharBEXP; #endif //__BURNOUT_SYSTEM
Code:
wsprintf(cbufMp, "%d%%", pMover->GetManaPointPercent()); wsprintf(cbufFp, "%d%%", pMover->GetFatiguePointPercent());
Code:
#ifdef __BURNOUT_SYSTEM wsprintf(cbufBExp, "%d%%", pMover->GetBurnoutExp()); #endif //__BURNOUT_SYSTEM
Code:
p2DRender->TextOut( lpMP->rect.right - 90, lpMP->rect.top - nTopGap, cbufMp, dwColor, 0xff000000 ); p2DRender->TextOut( lpFP->rect.right - 90, lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );
Code:
#ifdef __BURNOUT_SYSTEM p2DRender->TextOut( lpBExp->rect.right -70, lpBExp->rect.top - nTopGap, cbufBExp, dwColor, 0xff000000 ); #endif //__BURNOUT_SYSTEM
Code:
nCharMP = wsprintf(cbufMp, prj.GetText( TID_GAME_WND_STATUS_PERCENT_POINT ), pMover->GetManaPoint()); nCharFP = wsprintf(cbufFp, prj.GetText( TID_GAME_WND_STATUS_PERCENT_POINT ), pMover->GetFatiguePoint());
Code:
#ifdef __BURNOUT_SYSTEM nCharBEXP = wsprintf(cbufBExp, prj.GetText( TID_GAME_WND_STATUS_PERCENT_POINT ), pMover->GetBurnoutExp()); #endif //__BURNOUT_SYSTEM
Code:
p2DRender->TextOut( x - (int)(nCharMP*5.8f), lpMP->rect.top - nTopGap, cbufMp, dwColor, 0xff000000 ); p2DRender->TextOut( x - (int)(nCharFP*5.8f), lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );
Code:
#ifdef __BURNOUT_SYSTEM p2DRender->TextOut( x - (int)(nCharBEXP*5.8f), lpBExp->rect.top - nTopGap, cbufBExp, dwColor, 0xff000000 ); #endif //__BURNOUT_SYSTEM
Code:
nCharMP = wsprintf(cbufMp, "%d", pMover->GetManaPoint()); nCharFP = wsprintf(cbufFp, "%d", pMover->GetFatiguePoint());
Code:
#ifdef __BURNOUT_SYSTEM nCharBEXP = wsprintf(cbufBExp, "%d%%", pMover->GetBurnoutExp()); #endif //__BURNOUT_SYSTEM
Code:
p2DRender->TextOut( x - (int)(((float)nCharMP / 2.0f) * size.cx), lpMP->rect.top - nTopGap, cbufMp, dwColor, 0xff000000 ); p2DRender->TextOut( x - (int)(((float)nCharFP / 2.0f) * size.cx), lpFP->rect.top - nTopGap, cbufFp, dwColor, 0xff000000 );
Code:
#ifdef __BURNOUT_SYSTEM p2DRender->TextOut( x - (int)(((float)nCharBEXP / 3.0f) * size.cx), lpBExp->rect.top - nTopGap, cbufBExp, dwColor, 0xff000000); #endif //__BURNOUT_SYSTEM
Code:
p2DRender->TextOut( lpMP->rect.right - nGap, lpMP->rect.top - nTopGap, "/", dwColor, 0xff000000 ); p2DRender->TextOut( lpFP->rect.right - nGap, lpFP->rect.top - nTopGap, "/", dwColor, 0xff000000 );
Code:
#ifdef __BURNOUT_SYSTEM p2DRender->TextOut( lpBExp->rect.right - nGap, lpBExp->rect.top - nTopGap, "", dwColor, 0xff000000 ); #endif //__BURNOUT_SYSTEM
Code:
m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBMPGauge, NULL ); m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBFPGauge, NULL ); m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBEXPGauge, NULL );
Code:
#ifdef __BURNOUT_SYSTEM m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBBEXPGauge, NULL ); #endif //__BURNOUT_SYSTEM
MoverActEvent.cpp (_Common)
unter:
Code:
BOOL CMover::OnDamage( int nItemID, DWORD dwState, CMover *pHitObj, const D3DXVECTOR3 *pvDamagePos, DWORD dwAtkFlag )
{
Code:
#ifdef __BURNOUT_SYSTEM if( pHitObj && pHitObj->IsPlayer() && pHitObj->GetBurnoutExp() < 100 ) pHitObj->SetBurnoutExp( pHitObj->GetBurnoutExp() + 1 ); #endif
Mover.cpp (_Common)
unter:
Code:
int i; for( i = 0; i < MAX_ADJPARAMARY; i ++ ) m_adjParamAry[i] = 0; for( i = 0; i < MAX_ADJPARAMARY; i ++ ) m_chgParamAry[i] = 0x7FFFFFFF; // ÀÌÀ¯°¡ ÀÖ´Ù. }
Code:
#ifdef __BURNOUT_SYSTEM m_nBurnoutExp = 0; #endif //__BURNOUT_SYSTEM
Mover.h (_Common)
unter:
Code:
DWORD m_dwSkinSet, m_dwFace, m_dwHairMesh, m_dwHairColor, m_dwHeadMesh; /// ¿Ü¾ç FLOAT m_fHairColorR, m_fHairColorG, m_fHairColorB; /// ¸Ó¸®»ö LONG m_nJob; /// Á÷¾÷ DWORD m_dwAuthorization; /// À¯Àú ±ÇÇÑ (ÀϹݿ¡¼* ÃÖ°í °ü¸®ÀÚ±îÁö )
Code:
#ifdef __BURNOUT_SYSTEM public: int m_nBurnoutExp; #endif //__BURNOUT_SYSTEM
Code:
BOOL Disguise( LPDIRECT3DDEVICE9 pd3dDevice, DWORD dwMoverIndex );
DWORD IsAuthorization( DWORD dwAuthorization ) { return dwAuthorization == m_dwAuthorization; }
DWORD IsAuthHigher( DWORD dwAuthorization ) { return dwAuthorization <= m_dwAuthorization; }
Code:
#ifdef __BURNOUT_SYSTEM
void SetBurnoutExp( int nBurnoutExp ) { this->m_nBurnoutExp = nBurnoutExp; }
int GetBurnoutExp() { return this->m_nBurnoutExp; }
#endif //__BURNOUT_SYSTEM
Achtung folgenden schritt nur machen falls ihr die folgende funktion nicht schon implementiert habt.
Ctrl.cpp (_Common)
ganz unten das adden:
Code:
#ifdef __BURNOUT_SYSTEM
void CCtrl::DoAddBuff( DWORD dwSkill, int nLevel, CCtrl *pTarget )
{
ItemProp* pSkillProp;
AddSkillProp* pAddSkillProp;
GetSkillProp( &pSkillProp, &pAddSkillProp, dwSkill, nLevel, "DoActiveSkill" );
if( pAddSkillProp )
{
DoApplySkill( pTarget, pSkillProp, pAddSkillProp, 0, 0, FALSE, 0 );
#ifdef __WORLDSERVER
g_UserMng.AddDoApplySkill( this, pTarget->GetId(), dwSkill, nLevel );
#endif
}
}
#endif //__BURNOUT_SYSTEM
uber:
Code:
CShip* GetIAObjLink() { return m_pIAObjLink; }
void SetIAObjLink( CShip *pIA );
D3DXMATRIX* GetInvTM() { return &m_mInvTM; }
Code:
#ifdef __BURNOUT_SYSTEM public: void DoAddBuff( DWORD dwSkill, int nLevel, CCtrl *pTarget); #endif //__BURNOUT_SYSTEM
Resource:
resdata.inc (eure APP_STATUS mit dieser ersetzten)
Code:
APP_STATUS "WndStatus.tga" 0 192 112 0x2410000 26
{
// Title String
IDS_RESDATA_INC_001574
}
{
// Help Key
IDS_RESDATA_INC_001575
}
{
WTYPE_CUSTOM WIDC_CUSTOM1 "" -842150451 96 5 176 15 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001576
}
{
// ToolTip
IDS_RESDATA_INC_001577
}
WTYPE_CUSTOM WIDC_CUSTOM2 "" -842150451 96 20 176 30 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001578
}
{
// ToolTip
IDS_RESDATA_INC_001579
}
WTYPE_CUSTOM WIDC_CUSTOM3 "" -842150451 96 35 176 45 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001580
}
{
// ToolTip
IDS_RESDATA_INC_001581
}
WTYPE_CUSTOM WIDC_CUSTOM4 "" -842150451 96 51 176 59 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001582
}
{
// ToolTip
IDS_RESDATA_INC_001583
}
WTYPE_CUSTOM WIDC_CUSTOM5 "" -842150451 96 65 176 73 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001584
}
{
// ToolTip
IDS_RESDATA_INC_001585
}
WTYPE_CUSTOM WIDC_CUSTOM6 "" -842150451 4 4 68 72 0x260000 0 0 0 0
{
// Title String
IDS_RESDATA_INC_001586
}
{
// ToolTip
IDS_RESDATA_INC_001587
}
}
Credits 100% Unleashed!







