|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked % e' x. Z6 @0 f$ h0 O6 @
I posted this because someone kinda posted a youtube thingy about it :O.7 ]( o$ Q3 X5 L9 n3 |2 i6 j9 W
9 ]# L' I3 ]4 g8 R/ F. y z8 MFind this in DPSrv.cpp @ worldserver
. F! s4 ]7 ~; R) F
) `4 Y$ a! a& P: j$ l8 d! lCode:
) i$ H/ k; |! N1 k* A; lvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% @# Z; g) k' ~# o7 _{: ]' R1 ]6 {0 i+ b1 h
DWORD nId;
7 ?! V. I5 U3 g int nPart;* {5 n! |2 B! Z' i* x2 K
r3 h3 f% y6 c) e) f. v
ar >> nId;& w ]0 v% U3 v5 h: L
ar >> nPart; ' {' F( P! Z7 a/ l" v( k
1 b. w) h- G# Q/ a
if( nPart >= MAX_HUMAN_PARTS )
. X0 X* \" B$ \5 n. m return;' [! n1 s* B- Z) L% ~& ~* p) c
" B3 k9 D+ D" m, H CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it1 d$ U; M$ }: d4 T- J' Q
+ T3 l- x' ~8 X! w! P4 @% a3 n& m
5 R, D! q" h, MCode:
1 S3 |4 S! \0 y4 Q2 }1 _#ifdef __QUGET_SWAP_FIX) d: I9 b; {2 i$ Z0 d9 z
8 C: i+ s2 B3 R) e% o0 R2 {8 H if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )! J5 [1 z! c- I/ }9 [. r$ k9 R5 {
pUser->SetHitPoint( pUser->GetMaxHitPoint());
/ G( K, g& W$ J4 m! h
9 i: X w0 E. z4 v% H8 F, s3 U8 E$ F if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
: L+ A# ~6 I4 ?: H& T* C, h pUser->SetManaPoint( pUser->GetMaxManaPoint() );) D) ^- t# B/ L
: O% @3 U2 {; C- u* F if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )5 X8 q Z6 R- [
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 [' P. F- V c$ ^$ _3 [
) x: ?4 z( [- |8 S1 T9 D; h/ e#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp2 H, g. R* U+ E, w
and add under' K0 y% m, q4 m2 U( H0 K
! T) }7 h/ e$ i0 I; h. U' pCode:
; ~9 c' J4 {( [8 t" K+ Cif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ t& W7 u: T7 @- ` {3 s8 v' U l9 e7 p# V. z; `
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 );1 t9 y0 s3 b& S U
}this
`" B' L2 N+ L" Q( c3 E* v# n
+ n* P& C: |! z. UCode:
; y+ x, {7 u8 ^( y9 A+ o, q#ifdef __QUGET_SWAP_FIX% X+ }2 j: `( R ^
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
+ \1 G! e M1 P; x$ m# F pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());" }6 e; H- ?% W6 c' Z7 f
: A; I- v0 b5 x1 Q# K6 ]) `; u) } if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )# d: f$ n4 z1 D& @# r7 `
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
' F2 H+ k3 K. W9 R- e9 Q+ ~( \9 G* T
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )- d: p3 g6 Q6 d% y$ b9 l, T8 }
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );) ]: `4 I; V; N$ f: C: }) f5 i: y7 K
3 `: b, j' Z4 ~' `) U#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
; ~) \8 i& e/ ~0 S+ U; M. A' m6 h
5 b) y9 T: |9 J/ v1 ?5 f6 c( |% U
0 K0 ^1 H/ p4 N7 G7 n$ G3 }7 \ |
|