|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
" m/ x X( A* }2 q2 a( x) i# eI posted this because someone kinda posted a youtube thingy about it :O.5 o' `0 [* g8 b8 [% r0 F4 m0 \8 n
" A" b, @4 X& EFind this in DPSrv.cpp @ worldserver" f3 w8 o5 r' P2 A
N+ K. U! v- J! l, j; M
Code:
- C$ F' `) v3 U9 A8 avoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
; R- g! R' d7 x( Z2 H/ h{
8 s4 E8 I5 W {- @0 w! H: E; b( C DWORD nId;
9 l- {8 a; x X1 j" F" t9 y int nPart;4 @' g4 ]3 B5 k$ h( b
* x4 T, a, q: f5 f, t3 l& ] ar >> nId;; x+ J" U. w4 P7 u$ C H) d
ar >> nPart;
9 } E; K$ ^8 J! ~7 N) D7 g: u+ o
8 b, x" G) U7 b% ^6 L) m$ u if( nPart >= MAX_HUMAN_PARTS ) 0 l- p n7 Z4 s" Y! g3 a! l+ x
return;/ O- W8 k& H1 P+ Y, t9 V; M
8 v# ?' H e5 K7 e# v CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ V9 n6 H% }( n* j! n! D# ?: B
6 |% h1 b/ Z' `$ W: T7 w0 Y" P
Code:6 Z8 _/ e( I" D" |$ M: v; H
#ifdef __QUGET_SWAP_FIX! A0 D& w$ D; Y
$ h0 V' x$ i/ A+ B! _
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )2 [4 I: d9 k$ r7 ^7 M7 E- }5 z; {( q
pUser->SetHitPoint( pUser->GetMaxHitPoint()); n* N) B' b. V; y& _: s
0 e' C5 ^) J6 H4 v
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )! D( S- s( M7 W. G
pUser->SetManaPoint( pUser->GetMaxManaPoint() );% }# W! r% J* v4 @) Y, X; h
' B1 a' ]' A7 F5 ?/ P- j* g
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ), w5 r6 F" o5 {% i1 N
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 t9 u% c5 u) F2 E+ N5 S
+ }" z& V: j7 p: @! t- l) N; A' A
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 N. _: |: Y, S5 P" n( s" H4 A0 Cand add under
' v. K) W- D. i. e9 D8 W, U* j" V5 a7 B) b, w3 g7 K8 M" U \( c
Code:5 _' G' [* w$ B* \ e
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 b- v" e- H4 ^ F m( |2 D {, b: \4 |) {6 ]& ~( E
CMover::UpdateParts( pPlayer->GetSex(), pPlayer->m_dwSkinSet, pPlayer->m_dwFace, pPlayer->m_dwHairMesh, pPlayer->m_dwHeadMesh, pPlayer->m_aEquipInfo, g_WndMng.m_pWndBeautyShop->m_pModel, &pPlayer->m_Inventory );
/ d% e2 K; T7 R: `( M2 O- Q3 ? }this
. f2 E/ A2 {; Y ~. Y, a. P. o8 b2 M" \% i
Code:4 Q ^: e7 ]" n, N) V! U
#ifdef __QUGET_SWAP_FIX) M) m' I" o" `6 N6 Z- @: X
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
( Q& i; w' \* j. j+ C" B# F pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" o& m6 L% B- J9 f/ |) T- D9 d3 A
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )( H3 _2 P1 k: F V Z* o$ J
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ ?9 B& U( l# v. U* A7 V
/ E" ~. C+ r9 U% Y1 S+ S
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
2 S( |+ d( M/ O8 A% o1 a0 V M3 v1 o pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& l7 e- r- A: P5 O
4 Z1 z3 S- c$ l; I: m) a# c#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ' j/ b3 v" e0 H E- _# o( P6 _# l
% k( U6 x% L3 F, V7 ]1 Q7 r7 [
) i; b9 P; A8 U, x0 `4 Y( s; |9 N |
|