|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
& I v+ b# g; r4 HI posted this because someone kinda posted a youtube thingy about it :O., ~* n) \- l% p
) n H4 S+ q& j4 o, s+ [0 e% m# m) KFind this in DPSrv.cpp @ worldserver/ Z3 H/ l$ i! V. d( d8 z
0 o' R2 _1 s7 g7 D3 v' o
Code:" }4 ?0 S; p1 v. q$ P( h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
' F2 y3 F, ~+ o1 H{
! G. s* |* D# ? DWORD nId;
/ \9 t. V( x* A; x int nPart;, X! G/ z& W" f H( b
: }' ]2 K( O V# ~1 K& O' L ar >> nId;9 a5 Q* D2 z$ b' {! G
ar >> nPart; o* g" J, ? Y o1 ?
" ^8 ]8 b' C, Y9 _( { if( nPart >= MAX_HUMAN_PARTS ) ) s$ |. m! l" [% y
return;
9 K0 o) M4 _7 b3 a! C# Q$ ?2 g" D; r; h; J/ L
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, l7 R3 c k9 k* S6 [
( F2 V% \* h$ R1 E) h: W: V# T% I
0 U. ^: F: I% C# A# |$ P4 dCode:5 m/ J H4 c# }( j# o" y# o% }
#ifdef __QUGET_SWAP_FIX0 @; g6 D3 Z' D% \# S4 h
7 `5 O9 T% O- v j# A if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
& r7 W7 S4 ~ p; F5 u3 h pUser->SetHitPoint( pUser->GetMaxHitPoint());' ?, z3 Z( f+ C( a- Z. v
) r0 l4 w* F9 @. d: M2 S
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
5 b) f/ f4 A/ M1 D% r pUser->SetManaPoint( pUser->GetMaxManaPoint() );, O7 l$ W* S% d& j5 i* H. r$ n! W
: Q3 E2 w+ G1 B9 e/ J5 @/ G
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
; E7 w; k9 k/ @ x pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) O, u; C# ^. ]- Z, y
, L' n: ~9 j4 ]8 I# ]* g5 |
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp9 V, t9 s+ @ m/ T. ^
and add under
4 _0 w6 p: O3 j3 J1 o
$ r- h: C+ t' L S! Y/ yCode:
' \6 K' `+ I* C/ `8 ?$ Hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 ~" a& i% G% O$ X$ c$ ^' s! u {
& k& L6 g. N" v, W 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 );
# s" _. M6 v( u1 F! G# I9 \ }this, ~! H+ t# i# H) _9 C- Z
2 E, D: t0 V% a7 LCode:
6 `- a* X" R5 a% @#ifdef __QUGET_SWAP_FIX* c, b) H$ h1 N
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ) L# _: H( n% D/ G1 J' i8 S" M
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" u h" l& o# {* |* Y, @( C" g7 `( ^4 J- Z
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )% Y ~% D: D$ U+ H2 N* l2 M$ T
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 ]7 J9 i; A6 h* ?* e
* {7 o. ~" v6 A if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )! W7 v7 Z: o5 e# ]
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 Z$ A0 v4 L" H0 U; h( B
w8 I. P. w5 A1 ?$ y- d/ [#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
8 F( s/ [* R/ s8 a( Z* X- v. Q0 k
# Q& k" J( ]7 g* ]9 w; J
- ~. i9 Y: e! {' |5 C9 ]& J* K |
|