|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ) T! Q' F! K, L i, k0 \
I posted this because someone kinda posted a youtube thingy about it :O.1 W/ a$ D i8 Y& e$ M
& t, p2 }8 n# n8 D. j4 MFind this in DPSrv.cpp @ worldserver3 E5 e9 v. j7 F
1 G. B7 T; t2 n2 W& B4 Y
Code:
3 \- ~1 h E: v) a* j& d% q- r Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' r, Q, b6 }# d1 U* E
{! G/ |3 S" R$ }* B
DWORD nId;
1 s4 h6 p1 g3 K: P ] int nPart;
% i# v% N. R! g; E% h
1 i8 v) j7 z: D' @& |/ I ar >> nId;! N3 I0 r/ J$ m8 d+ _
ar >> nPart;
/ p, z/ f0 x9 z: s7 E
, R3 e" |7 i* I% ]$ d2 D if( nPart >= MAX_HUMAN_PARTS ) 3 u& u& g* v3 ^& {4 E7 L
return;
6 ~5 z* q0 }, |& j' i3 W
8 D" K1 o: t1 [! p CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 t4 N0 b% ]3 u9 X* A. \4 L4 F1 A
) r& h5 b( y3 n' `3 l* o% P/ D* k8 G% ]6 X8 G0 ?7 ?+ _- M
Code:. R2 G: q" \0 Z U7 g9 O/ G
#ifdef __QUGET_SWAP_FIX8 Q$ G6 w) L, U7 M
2 q2 L j1 }% {; ^+ C C
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
1 Q9 N5 @" I5 R# Z: g" ^ pUser->SetHitPoint( pUser->GetMaxHitPoint());2 ]: H a$ `3 @% K: `/ B
6 ^+ @& l$ }+ b$ e if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
! M- W4 n% |/ x/ w/ n# u pUser->SetManaPoint( pUser->GetMaxManaPoint() );: K9 ?9 j$ w7 x1 C
2 B6 y5 D6 a( ^5 ~! L if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
8 U3 _* _. C/ O2 @: b) B; B/ b8 w pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
, s- z5 }/ P& G1 n( u5 L- J! L; C4 t* O0 z- q5 d, p$ R4 Z0 X
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 W/ X/ h. V8 c# X
and add under& \! `+ m* w$ H) A
( p; M: ]( R- H; k# L
Code:
* z# J( a7 [3 z2 Lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), \9 W' _- j5 g* h5 |3 `3 M2 C: ]
{: e' E1 r6 P2 |0 r" H: `
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 );! f G2 E" ?6 I: F& j6 B( N
}this1 L: u) p. n7 s T6 E9 w
' h j& D7 p$ o1 Q( b
Code:
' N( I7 w! i/ I9 K- V0 N#ifdef __QUGET_SWAP_FIX' x1 v/ H- c, r8 m+ R( Z* v: F
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
/ i7 _' v. W$ d6 ~ pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
$ A2 R _$ [; g2 c+ f
# g3 A% H! B( O0 p: N5 X if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
5 I' Y4 q# O5 K pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() ); G5 U$ ^ v7 B' i: ^9 n. G
) P6 V! A6 m, W% `
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
X& c! q& Z& Q7 \& e pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );( ?# ]; S/ @- K- }8 o' ~- u+ J, @
7 M& ?2 ~8 M$ a4 ~. Q+ g9 k% Y) }#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ( {1 s( V4 _2 t' ^8 k
; t: e8 L( y. S1 U q+ N
6 t3 B& W3 m. W3 Z* G( i |
|