|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 4 _0 a1 L9 |" G, ^+ M' ?$ z
I posted this because someone kinda posted a youtube thingy about it :O.
- b- d. ~4 c: q! a' f4 m2 B; v1 T! i% a6 ?2 S" m1 r
Find this in DPSrv.cpp @ worldserver9 I/ _9 D I" N) I/ U3 o
; }* P% G1 o' E2 j* \7 j$ t
Code:' X8 u% G& v. U7 o
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 Q! O- H( O, z) `, F{
* z" }6 x. b- h. A K DWORD nId;
3 R: W: O5 G5 W, @' i u int nPart;
9 ^; f' U. B5 y; q, b' F& ?
5 T, M$ _ w+ T& p9 R7 w+ |/ t ar >> nId;
9 R4 l* ~+ e" ^& Z c ar >> nPart;
2 R$ e) O; e* Z2 A: Q; K! H: G + m1 a" ~' E3 {, y0 m" g2 A# E
if( nPart >= MAX_HUMAN_PARTS )
4 r H8 a1 {9 u8 ^ return;
5 }& I4 j ?6 e# z) u2 b
& L: }: E/ t/ T! Q, k5 A9 \7 _ CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" y3 P0 J3 s- `' t, |4 j
Y0 R+ w |. X# R8 ?: N; I2 q8 }# Z" d
" @# D6 |2 E) P% u( T8 C& O1 r
Code:
& A: w$ q/ v8 U, A8 B#ifdef __QUGET_SWAP_FIX
: K5 a' g {! B5 V" L9 O/ V" Z& N$ D+ H1 C9 o$ @
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )3 x- I r2 w+ p
pUser->SetHitPoint( pUser->GetMaxHitPoint());# ]9 ?2 k9 J. p
* I' z- q, o) t' B$ g$ x. P9 i
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )1 B% q# B3 _! i3 \8 u1 Y
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
0 w: ?3 k+ p$ B' ?5 R% B
2 W! w+ [2 `* U- z+ _7 g: A if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
' F- u, _- H$ p4 w( F" v pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );6 Y0 S) C8 H, h$ f
8 t. d: d( M8 ]; r+ g. @$ P9 G& e#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp8 C# S- d$ N8 i4 _
and add under. n2 k0 V( l& V5 x/ x
& j# \9 |$ Z8 R1 ~ V1 Z
Code:
; e) L+ `3 V, V8 E6 S3 S+ g3 W( zif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 h, x$ N9 q3 B( g {, s; p/ Z: Q& @% [6 b
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 );; g. [0 x- u: v6 T* N: r' v1 l
}this
6 J- }+ ]9 v' V1 |6 j6 d: z; Q& h- E7 b7 W% Q8 M' I/ u9 ]
Code:
: ?1 M0 J, l0 K5 |7 t' X; x2 w#ifdef __QUGET_SWAP_FIX
$ Y1 N" y. Z6 j ]4 q$ c if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )% L4 |3 a, `7 P0 P
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());: ]( y Z+ _9 q$ G) q# V
2 v. C" b! |/ }7 H5 z. w- ^6 C6 g$ k
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
2 V9 e* `. y/ A$ ]- y q1 I pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 n) m4 | k- Q2 I, d; N- m9 \7 ^7 C! W6 L, S
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ). e. ]( ]% }* @$ W! Z* X
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );) U+ W* V; L, F9 d
! o9 Q! _& l7 S1 l- _
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ) J |; x2 ^1 e3 N2 m. D
# K5 \ o' _/ G+ {" J2 @# V# L' _4 ^& v5 W/ @. f5 e4 [) C
|
|