标题: 修复交换错误 [打印本页] 作者: 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 $ o" Y$ s, W1 f, M4 i, V! pI posted this because someone kinda posted a youtube thingy about it :O.6 Z( W W- P, U5 k! \+ o/ A
: b2 p6 w: w, q; T% pFind this in DPSrv.cpp @ worldserver8 N! I$ A( P/ w# P |5 E% l
0 Y5 l! S% @5 n J) j
Code: 8 N. u! m4 R# ~9 lvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 f+ o. Y- Q: n' a, P4 [5 L5 J& U
{7 E' [( k4 D: d
DWORD nId; . `" R6 @8 z$ H( K: J int nPart; 0 ?+ \8 |1 u# {6 |" Z# K( K/ f1 z7 _2 C) a$ U9 L) {: ]3 C" Q \: e1 K
ar >> nId; ) g6 @8 E( g. b+ T# H- [) z2 Q& ]2 d6 p ar >> nPart; 4 ?$ O0 Y! ~$ ]! c/ c! i1 @ ( ?7 O; k9 W; x$ i& ]. Y
if( nPart >= MAX_HUMAN_PARTS ) ) Y, @, C# d) \( H/ Q9 J* D2 S return; , F* t7 }+ O! k2 g1 u) Y0 C0 U% p7 I) k! g
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it n- B0 d4 Q& \* ~, A- ? + e, ]" W z1 n* U, v; d0 f6 X: K4 b4 B
Code: 5 u, Z/ U. h( t# n l#ifdef __QUGET_SWAP_FIX- K$ r- u; y4 r9 G; e7 \# ^4 A8 Q9 o
# w$ Q: ?8 I/ q if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ); s5 r ~$ f, {4 j, D+ ?
pUser->SetHitPoint( pUser->GetMaxHitPoint()); " `7 ]% b3 R$ T, G' R7 u ; x& y7 E6 c* s+ S! ?4 m' F if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ), m1 a- n) X$ e: k
pUser->SetManaPoint( pUser->GetMaxManaPoint() ); 4 ?, s# B# o/ j4 R" c 9 k; j0 H C% ] if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )) r* |2 ~: I: L" ?2 |
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() ); m4 Z" |# [1 s6 u* W ) b% L; N7 d4 f6 @#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp ) d7 s7 a* S7 @! Y' q& h6 qand add under+ M$ s. _+ I) p! k6 }9 f. S