|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( G# S) E6 q4 @! F
I posted this because someone kinda posted a youtube thingy about it :O.
: M8 t+ Y+ Q1 Q8 F6 E" W! _! q' o9 c) r: Y9 x. a2 ]
Find this in DPSrv.cpp @ worldserver
/ j& \# V7 @; v6 x8 e- ~
7 m! s- V% [( F9 |0 xCode:7 E) z% Y2 U% u. S2 N" R& n7 u* f
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 K$ d' D0 F/ B5 a! Q) v5 y{
6 t" ]9 e! W3 B. Z DWORD nId;
M9 X& `; c+ X7 _, \ int nPart; R6 z! w: M+ ^: a( n: s+ A
6 w2 W, E; e6 o" M+ e$ ~, | ar >> nId;
" N+ [4 h8 B6 C5 M* j5 D4 A) t ar >> nPart; . x0 E8 O# O0 i6 ^8 p, \5 B4 z
1 [! f8 C; T; Q; t* H if( nPart >= MAX_HUMAN_PARTS )
4 Y3 D* B& d, f" y return;4 L; E% ?/ T, D$ w9 n* S
) h9 Q6 P" R# w2 q3 U
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it0 Q! W3 c- s+ o3 `+ i! J/ Y8 S
. @# ]! B4 s, b' q
; `) G& H% b4 v+ c+ T- |3 JCode:5 @% C2 ~/ f, e; X& _! @3 `
#ifdef __QUGET_SWAP_FIX
- X7 j# [9 Q) Z5 \6 W6 t& L" `: M* z. w$ _2 ^4 q
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ), t( O- y9 r$ F( X
pUser->SetHitPoint( pUser->GetMaxHitPoint());: F \7 I9 M& }6 ?. p: ~' y
- Q; p( ]6 ~5 O3 S: c if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
7 b, v5 t/ Q/ t9 t2 b pUser->SetManaPoint( pUser->GetMaxManaPoint() );1 D' b5 N7 X! Z% C
* |( r6 Y+ q" j$ S
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
7 d; A7 _1 v- h" ?) N$ X pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
8 F5 z( z/ M t/ m
( c: C/ U, t* H. _; ?1 U#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp! \! I8 J2 r3 R" Z
and add under* ^2 l) ~) ]: T% I p1 l
0 S6 ~1 o( r% B3 m2 v2 cCode:6 C3 q4 P& ~& G
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 w% b4 f6 _0 ]7 I8 Q {( k6 a! d* }4 g) C+ |; 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 );
3 h/ R' e, M6 a0 Z! L f- C1 | }this
- g/ q8 _* a. v z, ] o2 B B+ N
Code:& z4 v s3 g% a4 M+ q, Y6 f
#ifdef __QUGET_SWAP_FIX! Y% @2 ^2 H) ^( T. t& f' F
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
) ?6 J, i2 x7 q: q% o& T1 U pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, z1 {7 x, b q2 r$ G+ h# j4 @; I }
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )5 r+ }/ l* b) W8 K& T4 [' v
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );* ^, `! W0 z; M/ O' h
) E5 [* x% ~( ~3 O
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )7 F% a) n B$ [0 S
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );3 e. `1 T1 \1 y, {* i# O
) p& f% S9 \" \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 _& k* E; O9 _* ^7 }4 @& }
4 }$ [: H; e! p1 W; O
1 H1 F4 U9 G _
|
|