标题: 修复交换错误 [打印本页] 作者: 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 0 w3 m- X0 x# Z" l q- F8 o0 h
I posted this because someone kinda posted a youtube thingy about it :O., {/ f; J. F$ R
7 n5 M! h" m% n: x+ ], `& [Find this in DPSrv.cpp @ worldserver' S: E# _2 b/ m& K2 [3 E
$ B; I5 v8 z. [ OCode:5 u* }- {% `9 w7 g, I7 B; M4 P
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ) f( ~( M9 x% W( l1 J: t{! f+ {4 l' J/ Q- O/ k. j
DWORD nId; , a. ~. c4 Y5 M, G int nPart; 9 V* ?- X$ ?/ l, k, X. o" {; p# {* n* _5 i; r
ar >> nId;% S9 ]" D& ]- A2 }+ n' N- Y( x: k$ ]
ar >> nPart; ; T! C% H3 }: S8 [0 D1 h6 p
& F( I1 W' c$ c; l3 z
if( nPart >= MAX_HUMAN_PARTS ) 1 h# J) v$ b: j- |6 x
return; O z8 D0 p; v, a: `! P. F! f6 F1 y0 Z7 j7 T
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it; o% ^% j, J" p7 _7 t$ h2 r
9 B2 S8 `3 s8 X0 m' X2 z0 ?; R$ p! p/ e8 |, f5 U+ Y# Q
Code: ( [# w8 p- B, B' P#ifdef __QUGET_SWAP_FIX( K _4 O. A' Y. g
! L2 I0 g8 a& e+ j6 D5 q4 u5 O: z
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ) 9 m6 s* J% N7 H) Q# J pUser->SetHitPoint( pUser->GetMaxHitPoint());5 ^* t/ E* ~5 S0 c
- T! W% E9 S$ k1 X- w9 ~: f5 q$ l if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )! Q3 D: M5 A6 ~# H' N5 ^7 ]$ s
pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 y S+ o; Y! }# i0 Z+ C- K, V
7 ^: x6 }6 f- g
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ) 2 O5 p+ U+ N1 `0 C' Z pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );% |% P( q- q: s* F/ N w& g* _