|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( J6 T5 u; A- L2 W+ E
I posted this because someone kinda posted a youtube thingy about it :O.6 c7 S; o$ c" @$ X8 X0 C- b% k4 d% ]
, V- A# x# P; a* r- { I& C5 }6 PFind this in DPSrv.cpp @ worldserver) f- e7 h6 h' V
" I/ j" |/ T L; o) V9 ?" C6 c: R% WCode:
s+ A( a/ R! M ]void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! |8 K5 q3 B5 g
{
$ ?4 z8 j5 O) O% | DWORD nId;! h9 k4 M# t+ }$ `1 d4 k
int nPart;
" v5 h5 m) Z; T1 i! ^; r4 I' { I. f8 x
ar >> nId;, k9 ?7 C- `/ n1 L% I( z7 G' P1 V
ar >> nPart; + L) U- I( t. y" f; l
7 Z+ I( ]5 y) A, A) t if( nPart >= MAX_HUMAN_PARTS )
4 `3 S4 }: T" P return;
' H" r/ X& ?/ \$ v0 J# q* l; B! b# s$ I7 R- m" c
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* P' |9 V% R3 B A6 }. ~9 a. v6 _3 z/ y' q1 ]* N
$ n9 o1 R. P1 y0 g* ~
Code:5 e+ z2 A/ n/ E4 O. s# o
#ifdef __QUGET_SWAP_FIX
$ |( ]* f# W# h6 [- Q) M0 X
5 B& L c- z" Q. m3 N, J if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )& ]7 w# l0 P+ i# `/ M; U4 b) w
pUser->SetHitPoint( pUser->GetMaxHitPoint());+ x2 h3 w J* B( m. S3 { H
# r2 C7 ?: x* ^" }2 r5 h5 e" I
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
) P3 Y/ R2 T$ n2 T( o pUser->SetManaPoint( pUser->GetMaxManaPoint() );
$ Y8 J) m8 |" v: S ?8 J, b! ]: h- f0 o5 J, z
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
: c3 _% l2 p) X pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 W+ g/ }3 e, T) ?$ t* n& v: ?
4 m" g0 v+ h! b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 l# s+ s) |& u& }and add under
/ ^$ F. S& X$ A4 v p" Y" M* _. f$ `1 e; E0 q
Code:( I* l5 g0 B2 G# D5 @
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ) D: t+ G4 V9 f4 V* y
{
0 i+ E; K0 A7 [. }3 k7 o8 e. D 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 );1 F% X2 v' B* ~0 @) n; r% z& r/ K
}this
' c5 ~) v1 v+ l. \* L# F, ]
H/ e% Y, ]+ t4 ~% fCode:. L- R8 l2 T& M
#ifdef __QUGET_SWAP_FIX! v5 \8 _" E) B: N4 H
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
) z6 J9 }2 w+ i ] b2 T pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 M/ U, C* m P- [0 z5 m1 e& v$ @' B3 V' P
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )# I6 O. _) N( m5 C/ ?/ @1 E
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) S* N' ]" }8 T( E+ I
e# E( |3 T7 G- \ if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
7 M& ~% }: l# L& F) D$ [ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! h6 E; |. Z5 d5 Y! S8 v
$ h( k& l0 ]5 q; i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& f9 P) a- i. E. S
5 x; g( m9 v4 m" B% z- A( K& N
: e/ A# H8 e8 L! r9 g, P |
|