|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 6 r% _- y' j2 R/ g [$ e
I posted this because someone kinda posted a youtube thingy about it :O." `0 b' N7 u3 j' _
0 g; y+ o) V6 m6 ?) ]9 B2 c6 B7 SFind this in DPSrv.cpp @ worldserver9 L: w1 u1 R# i" M( t5 y
g$ J5 F3 Z- d4 y" YCode:. }2 T0 V: m9 t5 [/ t2 M* J
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 R3 l8 I% O# t/ y/ ?: B0 s$ \{
2 M0 c7 ~& ?/ Z+ [& b( ?1 Q, ]" D6 l8 P DWORD nId;2 [4 M1 u3 v* @) b' c, ? o
int nPart;& T/ l6 d+ [/ y, z7 Q
" w' G [# k# z4 d# F1 s5 N# o8 C3 u
ar >> nId;
3 T: P5 [6 g8 T. m6 J ar >> nPart;
, Q' H p5 f+ [% I9 c 4 K! I2 I. {1 E# x* k
if( nPart >= MAX_HUMAN_PARTS ) # i- U2 x& x3 y4 \+ G
return;
5 z" j+ n& N/ H* u. |
6 N, y+ [- k9 ]6 { D+ Q CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it! _) H, V9 S4 o! v/ ]' F
$ F# X( N) ]" ~* h9 Q/ q5 B0 ^* \) \- d, }
Code:9 V C# [. l$ W8 }3 p8 ^% V2 `7 J& d
#ifdef __QUGET_SWAP_FIX# n m( f9 d4 p8 x/ U; u C5 n% u
7 u" t& b. E8 y# H5 ~ if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )$ B9 W& p k. Y$ b! D
pUser->SetHitPoint( pUser->GetMaxHitPoint());
* ^& b/ l# r; D0 E1 q
- l, Z( A, Y+ J+ i- _ if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
+ A7 o8 x5 W# M" b8 c' @1 p. ^2 e: o pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' t" H8 W. k% d" j! ]/ A2 @( j
a) t- E X6 d0 c# p; R- M8 e if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ): z" ~( `2 v2 m! U
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, `7 X4 @' n$ h: g( x
, ?. y/ u/ q* r/ D. D6 e" {6 W1 w#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% d1 G' ~+ @' g. t& O9 G
and add under
& E! k( e Y# i5 a. O4 C
& j9 D: `1 X& d# HCode:
, p" J2 o# ^6 F/ o% X) M# Sif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 k- K! m$ d: \. ~$ a# R- ?: g
{ K v8 D# m9 S
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 );
) a8 b6 R- ]! E$ ]5 N3 v) { }this
" [, s$ r T& o5 n2 D0 z. ?& i& Q4 q0 D" C$ d
Code:
# t8 R6 t( F& c- p+ U& Q i#ifdef __QUGET_SWAP_FIX2 C) w. B( z+ N
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
9 C2 u% o8 {/ g pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
7 ~5 Q2 f9 A$ Z! Q, L
4 B" s. x) s( F if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )1 C4 Z8 f; ?, r8 D" X' s Q
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 E+ W5 y( \: U3 P# Y2 D& c5 M# d( G7 Z8 A* F3 Y: }& F+ `
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
6 i8 W* r+ @, h( S, q pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
L: J& m* S0 g5 R- V8 G: t
6 m6 I. c( G; z" r: |* S6 g) s#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . P4 G) E: E z% g& x
2 {: v7 ^3 B. O1 k/ h! Y/ p$ a
7 s6 z9 g q2 o" I# x, Z0 j |
|