标题: 修复交换错误 [打印本页] 作者: admin 时间: 2016-1-10 03:43 标题: 修复交换错误 Hi I fixed the swap bug a long time ago it got tested on my server and it worked ! n* V$ n9 |6 N8 WI posted this because someone kinda posted a youtube thingy about it :O.+ `: d3 }0 I' I3 q5 o0 p
( X+ a) F; P. B" s1 D: @" C
Find this in DPSrv.cpp @ worldserver; K+ S" G( ]0 z2 S/ a
$ V; x4 [5 j# |- H! l
Code:* T. H7 K7 h0 u( ~9 B' y; D1 p0 ?+ ?
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' e; ]& f2 r A% I9 P9 m) d
{# l" c: }9 }! j2 O- X0 C6 Z
DWORD nId; - k* x5 q" ~' K' F7 r" h int nPart; 2 y0 n. M8 W" ~ - W* R; r5 y% Z% R ar >> nId; ) T) n6 n5 }! o! N ar >> nPart; $ N! I" d* M8 S# s% V ; ^+ [8 \) }. T n0 Z
if( nPart >= MAX_HUMAN_PARTS ) . j+ L# J4 |# L8 r. @- p+ f# N return;3 H* [" H L/ K) z7 @7 H" F( u
: Q$ ^: S. q' J$ d+ |" D3 o, ` CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it 5 c0 V- j/ X2 ]7 F- s 8 e; i+ x* h _- y$ I + y8 q% n3 D+ W% g% M5 z7 l t9 M* BCode: - y% X8 j5 j# ?5 B$ \( k A* r#ifdef __QUGET_SWAP_FIX- E! B f1 }4 z z' ]! ], I0 j
; y( W1 }- m6 A% P4 R4 l( R8 _ if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ). j- j9 b @$ p5 w, x7 c+ R, X$ |
pUser->SetHitPoint( pUser->GetMaxHitPoint()); " W( \6 ]4 W1 `% I! Y8 Q * u \" B0 g8 A if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ) 8 b5 S7 T0 d. D; w pUser->SetManaPoint( pUser->GetMaxManaPoint() );9 w9 P& f5 Z u3 }
+ d7 C) R/ s6 G) B+ {7 C
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )# W% a! d1 M2 K2 F$ Y
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. C5 q1 {/ f) c( h2 }! j( O& l6 s% G
% |& z6 V! I {% {6 p. N- {7 k
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp0 t% D5 ?' q+ R5 J$ C
and add under( \+ z w; z; N! E: ?
% h5 G. r G* ]( \8 Z0 U* p/ o" `Code:3 V8 a' h3 H7 U! f7 T2 L
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )( i. w; ]& Q* T* g0 C; \% O
{( ]3 C8 J! _& q6 s3 x; K$ B. o, I
CMover::UpdateParts( pPlayer->GetSex(), pPlayer->m_dwSkinSet, pPlayer->m_dwFace, pPlayer->m_dwHairMesh, pPlayer->m_dwHeadMesh, pPlayer->m_aEquipInfo, g_WndMng.m_pWndBeautyShop->m_pModel, &pPlayer->m_Inventory );# g/ A" z1 b$ `# S: ^+ t
}this ( T. c9 S8 f u$ \2 @& k & s0 J# T. Z3 P& `# eCode: + T, {) p, j' P# L#ifdef __QUGET_SWAP_FIX : Z7 P4 I( T, T& T) l, x v* v( U4 b if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 M, ?6 w0 @ m7 {# Y- b
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint()); + v1 P) T2 p1 y& {3 `; E# g. \- ~
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() ) ' P& t4 P1 S' P( U- b5 W# ^. K2 q pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() ); 8 j' o. T8 S. g! S # ~2 a2 I+ J- j6 c( D+ {5 W if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )! R% L2 f$ M; A. n; @7 X
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() ); ) Z$ T6 M9 ?9 ^ V7 d, o- L! j 4 M* l0 I7 Z* {#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " q* ^* A b2 l, E
, Y. w: j9 q$ a# I+ `" b1 m/ E