|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked / d4 Y# U, h [2 |- q, o: y
I posted this because someone kinda posted a youtube thingy about it :O.
% p& R7 r0 F# Y/ u/ L" ^4 ]- W! c' t' s
Find this in DPSrv.cpp @ worldserver
2 v% d% g+ O6 V9 Y- y- J
2 Y6 m7 Y& S$ rCode:
9 u& ~8 \9 r7 V8 I+ |' I; O7 x* |void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )% q& T; D6 Y# Q; h5 ^& p8 ]
{
" W2 ?+ O! i* i DWORD nId;
1 c$ m3 E9 L3 D; W& U int nPart;9 z7 s W5 X7 l6 G2 [+ s6 E
9 X6 @" d8 t( V
ar >> nId;5 k) B& K0 s! F8 B/ d) O8 G) M2 ^% R9 }
ar >> nPart;
) d8 O, P9 e8 S0 }: P2 f+ L 8 X/ N" f* i8 J, I; i6 h; l5 t
if( nPart >= MAX_HUMAN_PARTS ) 6 j+ w. x$ X. G9 \ S
return;; _$ B( X6 t9 g, C6 L
/ {) L7 r( L: Z* o5 O+ T. X
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 r; u- {0 d: ]) }
% c: F6 ?( ~: X7 u
) k" g" C, y3 X( E1 F# D1 P
Code:; }3 G9 S# W4 ~8 D5 m- A" p8 V
#ifdef __QUGET_SWAP_FIX& K- ]3 ^3 \1 `3 c i
. N: z; B( j% P! p$ e% ` if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
9 K# ~) K3 G" r! | pUser->SetHitPoint( pUser->GetMaxHitPoint());$ @2 p0 @/ B$ f+ t1 q+ Q
& t* S3 |( Z8 _5 R' O5 I' y* H" z if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )3 |0 Y P# l! F$ @3 K. [# `& m
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
) S" I# y! ~1 l( k9 x0 A( Z7 t6 _: c4 R. c
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )0 B# j. C0 }( |
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( x8 V5 f; _% Z
' s+ R7 k4 C4 h5 P. ?7 n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; p/ u( ~. G( U$ \and add under) T: P7 |2 b2 V+ Q+ l
7 f- m/ G0 h$ ?5 U& j* XCode:
# {6 R# w" P* r, N7 ~5 p* ?if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 K& }* [5 |7 b; i% | {1 a5 w6 x4 _6 ?$ x+ U# 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 );
/ q$ U* J# i! B s/ _- m+ S; f }this
& a0 X0 k3 s4 [; f
, D$ M7 G N( O& M9 VCode:. @5 U4 F" C; e/ ]. Q2 U! D( S
#ifdef __QUGET_SWAP_FIX
1 K) H. T0 G: D- ]! T2 t if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )- W$ S e; ^& [5 X( p: t
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 b8 K K$ d+ X) G' }2 L: K( S+ Z6 I8 z( y
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )- g6 _1 d+ ^2 U
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 b' v1 [9 p5 o! a% X5 { _ G
0 v C+ x1 j$ N' J: `: z
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )1 {: c( i1 ~0 {; O
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
3 C0 R1 S4 [1 M7 u( _' r+ x) n1 q) F" g
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , |. z+ @3 E" T+ L$ @
3 d# c5 U& [/ N0 F. a0 G# ?
, w& `' |9 A+ u7 R
|
|