标题: 修复交换错误 [打印本页] 作者: 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 ' j Q" q F3 G& i0 o; |I posted this because someone kinda posted a youtube thingy about it :O.( Q/ A" u, R) F3 s
: Q. S' b8 T; H: |( B! MFind this in DPSrv.cpp @ worldserver6 P$ F% E2 X* b) J: ^8 Q$ T8 p
; F) @+ H3 u; a1 n z1 C( X
Code:& V# @3 Q2 o# i, S& q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )* L" k, {$ k+ a# O
{# ?4 P4 ^ _! n* U& ]7 U
DWORD nId; 5 D/ ]; H0 D4 ] int nPart;2 Z. @+ p' W5 ~9 \1 _: _/ T
8 v. F( [+ O/ u) O# y
ar >> nId;% j5 o1 ~ k3 z
ar >> nPart; 9 R$ A. _* J7 }! u' y, j 2 Z8 O7 ^1 }1 o0 n/ m$ i6 F0 x& o if( nPart >= MAX_HUMAN_PARTS ) ! V) ?2 `' Q+ f6 I, G$ L. s$ { return;2 @; \+ L5 t$ B: `% G* t% L
& d. V5 |( _' e0 j CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it $ r4 E2 q( c" T% z( N; q9 P: @/ X- v; W" X" K2 ?# r* b# \
. r5 M* ?2 s3 f7 }
Code: / e/ ]9 D4 O" k#ifdef __QUGET_SWAP_FIX4 a% m1 ^4 b4 l: y4 ]
, [, {; |1 R/ K( V# C2 v
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )8 t3 H. n0 s8 F& `! b* z
pUser->SetHitPoint( pUser->GetMaxHitPoint());) A( t3 ?: W- |5 n. Q
3 z& u P( l) O! k m' l& Q if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ) 4 m6 s! e( \. z6 e. i" y, n pUser->SetManaPoint( pUser->GetMaxManaPoint() ); ( F$ p# C4 i, [, m) Z5 z1 e; N6 O6 Q S9 k {4 f
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ) 4 B6 W6 L( Y/ o( S$ b pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );- P5 P h/ O' O
: T9 b% z: ^- N. R* g#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp * B I8 Y& W9 @5 eand add under$ u; ]+ _$ d2 Z8 M- W5 ~" }7 E