|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
, v, o7 _6 C3 Z$ QI posted this because someone kinda posted a youtube thingy about it :O.
3 |- @$ O7 f2 T7 W, p% p
* f' n- I2 d. b+ G+ s2 AFind this in DPSrv.cpp @ worldserver. i+ O& A: K: u
_8 W- o% I# {Code:
, t8 J' q$ X2 s8 i A$ J: qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 ~4 f9 @" l& J8 e& _{
9 S5 H7 P& e& s" f DWORD nId;
3 X( O9 \7 L! U; G) m int nPart;! |. W; k3 k0 u3 q1 J/ g; b7 w
' x. Y" K9 O2 J) j! r# s ar >> nId;
6 h& w& ?* h1 n4 y. i: D+ p# u/ i ar >> nPart; " i# k; C& U6 g1 W) L( c
$ _, b# U. `! l- \& ~. y# K, P) y if( nPart >= MAX_HUMAN_PARTS )
! s& r/ e2 z' |, V/ q! o! m- R$ F return;
/ c! z" ?' M& m' B: w' X( I2 I7 w: Z* F9 ^3 ]% _
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 U- M0 t8 z; E, O
5 p" C- m7 C# v! U. e+ G# l% z( k* R9 m3 B* x
Code:9 _; @+ k% P; w& J0 f- S
#ifdef __QUGET_SWAP_FIX
( y- n, K5 c) I- d" X
) Q! f$ N) }$ S% ?6 [8 z if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
' M3 ^( n" I! F4 Q8 q8 ^# o( V pUser->SetHitPoint( pUser->GetMaxHitPoint());& I1 t( `- s; U) @0 |
& w D8 L" H2 X& J$ z if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )7 L8 a9 E9 s, e1 A- c
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
4 N1 y8 k ~0 c5 L
# s( Q- Z# O9 t4 z if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )7 E$ ?1 B7 A8 W( c. Y
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# r O/ j8 G& u& e% Q. c( C3 h; w
/ Q! K$ l/ }/ _- h* T#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ b1 w) w! E* m7 b
and add under q* s5 H8 ]% L# T T
. a# \) v( g! \) T
Code:6 {. x9 c+ C0 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 `6 @; c" p* A/ {8 C
{ s2 I3 k6 ?4 h, A, W( q
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 );
& f5 W% d6 ?3 ]5 {; r }this5 f N9 @0 v7 {7 `' f! O
9 ]' R; Z* q( \7 s$ V9 s3 XCode:
& C- D/ b) e8 J3 f t#ifdef __QUGET_SWAP_FIX3 u1 |. m2 Y T! d5 G
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
) O* C7 v, y; s pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- w6 ?4 U1 z! U. o1 T" c9 Y- s
# {# _0 ~8 b+ e if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
; N, A. i. \1 W4 j' l/ G' f% Q: e! k pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- M, w* s9 f- M d; w
1 ]$ V: R4 m5 e if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )/ \# a% J# w4 d
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 y8 }0 i h7 A8 r
3 Y4 O4 V U, @! J u# P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver # ^ V5 ~) k& h+ t$ `
1 i) h4 ^ D6 Q0 L" p# s ~, w
8 w0 @7 Z9 G* C; v$ `6 [/ s; f |
|