标题: 修复交换错误 [打印本页] 作者: 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 * E' n$ R- A# K; G
I posted this because someone kinda posted a youtube thingy about it :O. : H2 T* ?. h, [# @9 d; `% ?; _- l/ i$ y* T4 _
Find this in DPSrv.cpp @ worldserver+ C$ j$ F8 x- c) Y5 {, w: C
8 |' h9 R3 M1 {7 [7 r6 l! L) U: }
Code:, J3 ]7 v3 u6 s
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 P( ^/ i) |0 e, {+ G. y
{ 6 m3 {6 z8 i9 T& E1 k2 Y DWORD nId;+ X2 E6 ~& w0 r& K8 [3 n
int nPart;& }4 S1 Z- I- T4 Z3 W
2 [( R1 O8 P. Y7 Z/ O ar >> nId;4 u0 Z- R1 q2 r; Y5 @& }/ q
ar >> nPart; 0 G1 Z% G, _! W" V
2 @* i0 H- F1 o! f- k7 U) o: r1 Z if( nPart >= MAX_HUMAN_PARTS ) I- [2 z4 z1 v( D0 u3 c' @
return;# }- G9 a! r* |5 w! \1 a* w6 A
( M# k9 w$ j( M' K5 l
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" q4 m+ @) j: h: w3 M
6 M" i: r- Y% F! M( N. L: g
0 ?- D K& l+ D7 P) a. H- o
Code: 3 I: r. `- Y3 s% a# R7 g#ifdef __QUGET_SWAP_FIX : M S% x5 U% K+ b- D0 D , s" ?4 V1 v, i1 ^& r; S1 ]. K if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ) & N- N" L S1 F! [5 }+ @ R pUser->SetHitPoint( pUser->GetMaxHitPoint());! x" m5 P! n; u$ l# i
) S; c" s( ]2 f/ V3 X1 U
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )3 ]3 B6 h9 A4 k# g5 Q
pUser->SetManaPoint( pUser->GetMaxManaPoint() ); 1 N3 H9 i# v- H3 ]: ?. x* B$ p D, [+ M- g/ T
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ): n; T* D5 ?+ I. d! H+ U) U/ c
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 t6 u' a, X, I! A
|5 Z O* N v( e8 k
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% ^8 T9 G$ f3 B: B- T
and add under/ R3 w |. u9 I. Q& p0 w( H