标题: 修复交换错误 [打印本页] 作者: 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 " H9 C* d$ X: N2 b( S4 F& j4 [I posted this because someone kinda posted a youtube thingy about it :O. 1 ]0 s* g ?- r * s' A" v2 K! b+ _7 t. P( E1 eFind this in DPSrv.cpp @ worldserver + b G! `/ E' F: q ' @: ~# S! k: i( H9 ZCode:( r; t7 l2 ~) R5 m6 n3 w& ~
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ) + q( Q$ ?$ b/ l0 ?* C4 ~' t5 U5 T{4 W) d- a+ |2 d# Q' |
DWORD nId; * O, Z! o) x8 {# R+ o! x int nPart;0 l1 w" I( N9 R' A
# p! v* Y8 y# s
ar >> nId; ' H. S0 w" d2 X9 E! H/ d3 y ar >> nPart; 3 [" L( t3 e$ ~6 ]; E( F( q! b # x$ l* R" H: G9 V) o
if( nPart >= MAX_HUMAN_PARTS ) " Q5 C- Y( ^, v% S
return; * g* j% f, b1 u) l ) Z/ x% `* J! j1 c* Q @ CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it3 {* m, b1 S L/ j, u
% D; b3 J# v' w- A$ R( c# l8 y- |* r2 Q9 N% a3 g
Code:/ B3 }# g" j1 U4 M
#ifdef __QUGET_SWAP_FIX! i/ [9 `, o( R* K# `/ E
7 N0 g, M2 Q* |
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ); x' _9 O$ }# v2 n! ]& } v8 h
pUser->SetHitPoint( pUser->GetMaxHitPoint());; z+ P* n x" U# g o: g
9 y, b) a4 u* k; W+ B+ W0 R if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ) ( c4 m2 M9 Z! N( C+ c3 [1 T2 A pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ `4 W d* R3 Q, A3 _" g& ]( _
" U5 f4 G/ \) t: b
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )" c( Q8 q! Y) C' O! m
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* r) U1 N; Q! w* @
! ]5 {3 Z5 T1 s" M7 {4 h
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' _% ~7 f+ Z" ~- W
and add under5 J: z( v$ ?7 c O* U' H |