|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( }' \: N2 H/ |. Y% ]
I posted this because someone kinda posted a youtube thingy about it :O.
" l& Y1 X( Y, `7 [/ J, D o* |' ?. @1 @
Find this in DPSrv.cpp @ worldserver4 W7 k# t, P# T9 G
' z' Z2 B# x9 [8 _% c9 L" D* h
Code:
$ [% L8 U6 f- C. j* Y, R2 {void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )4 {( k3 Z& ?* M& K6 r! A7 @+ S* y
{7 T* b" x V5 C r& {
DWORD nId;
$ r4 N" O3 W# } | int nPart;
# ?. C5 |5 m- | E8 P3 _" L( r O) c7 X- J8 [/ @% x, p; A; Q) m T
ar >> nId;
: ?5 P, _! |* Y9 [2 ^ ar >> nPart;
5 q' C4 M% F% C( i) Y
8 C! Z) T. y# z. `, e if( nPart >= MAX_HUMAN_PARTS ) r' L" y3 Q6 i- u( l1 W
return;7 f; l! f' _0 I ]" I* J
) Q: _1 K, s* B$ s7 I* Y" m CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it! U/ W. Y& {# E8 T
9 A p0 h* w2 Z: K* s1 k
7 b. E5 J1 o* S6 Y$ o( ?( S/ m RCode:: P( b7 I* U* F
#ifdef __QUGET_SWAP_FIX
! M2 B. {5 V- H1 P0 t; g" P0 N$ x/ m2 l/ ?# x; I
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
3 S6 R% \9 A- W: a pUser->SetHitPoint( pUser->GetMaxHitPoint());8 Z* p. g) f2 P2 }: L/ l
0 f4 w4 y* C6 J4 V if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ) T% C: n; K7 c' R
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
1 Q l2 q$ \! P* ]. f8 b$ R3 U& g1 e4 |
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )' E$ A4 s1 Z' k, A' ?0 B2 z
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( ], z2 v! X, H8 E( g. [* D
: U0 t$ l' x8 H) C& ]7 k3 V
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. H G+ ]( @! M/ X; zand add under+ b& q/ [/ A. R% }1 I: [- b
8 u& f6 H e2 y- ]0 M% b5 K
Code:
. M# w$ d$ E9 }: U( l( w9 hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
- j' s e9 D1 K9 V. l {
2 b/ i* P. f) R2 {/ X 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 );% L: P2 B- S, D
}this
8 ~' ~" b A) w) o: @4 Z o
3 d) z5 I; n8 nCode:
* e. j# j4 e0 O# P! R4 _#ifdef __QUGET_SWAP_FIX2 f Y) S- R9 Q3 A! S# I
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ) l* d0 _ h' [, m6 e9 J, o
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
8 f1 p. F* G5 s l+ A/ r2 U! C( `/ `# S }/ n3 E4 O
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )9 F% Y+ r$ n* c
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );! |# J& R$ d8 \9 S7 @/ R) C
* b: Z0 z! U2 k7 d2 ^0 s6 p9 t/ S' p if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )0 J# }* y$ Q/ }$ T
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 k2 G1 x8 n* D* {" q0 i5 @' n* l* K8 A% N
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 E+ A P$ B: R8 Q' f: E% H) e4 n
@3 o8 X+ N. b" r/ S* S3 W& r4 b; L; S4 Q L5 N, u: A2 t
|
|