|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
?' M' M1 i2 G& r; ~I posted this because someone kinda posted a youtube thingy about it :O.
9 M9 R! x0 G% x; w7 a9 i+ e8 A/ R+ \% E" I& T% h$ t h# [: x& g
Find this in DPSrv.cpp @ worldserver
0 n, i, t2 g" Z( e4 C5 L7 D) h4 W" u7 f/ }- d) W
Code:
. g. E) j6 |; {3 v* t# @void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 Y4 o3 @, L# g3 q( H{! E5 i1 K- \0 H9 O" K
DWORD nId;
( q" t+ G4 \1 C" a int nPart;8 x! L0 B$ F9 k" i4 x
Y" E' ^* @/ d8 _5 \9 i ar >> nId;
) r1 G5 D( i7 q. o ar >> nPart;
- ` _% G; \, N. \& I0 p & L' c9 |! C6 Y; x
if( nPart >= MAX_HUMAN_PARTS )
c2 J0 i9 @6 k; u3 Y! ` L+ B2 A return;
9 @2 |0 b- e8 S9 A$ n, c: w! _' N' E9 Y( L% Y6 ~: e- Q+ d
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; i9 S- J/ P! X* ]# D: x4 j) z% _8 {
6 F" x1 N' C) C2 I( f
Code:$ [1 {7 i0 l% Q1 E B( ~* R
#ifdef __QUGET_SWAP_FIX
& l0 t# g8 b5 V8 {9 ^; Q, t, p
' x% D v) Y) Q0 m+ e if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )7 a* n2 m. S; Z0 j' b; H" K
pUser->SetHitPoint( pUser->GetMaxHitPoint());
& N4 w% U- X/ a% S" a' M9 u+ U* ]( f' K1 V
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )6 i* ~( k2 y) t3 d2 U
pUser->SetManaPoint( pUser->GetMaxManaPoint() );% U- @$ S6 P& ^/ S" y+ w) p( N
% w2 W, |% B3 D( ^9 F if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )1 m- d+ h: V8 o6 |5 R; M
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: o% D4 X8 @) z4 _
$ {4 z; y% s( |9 J$ v/ q#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; V. J) y4 Y8 [! Yand add under D3 w+ q5 W: l/ [7 e% b. a
$ A6 Z' m+ p" J- {, TCode:
, U2 V& P% p$ Z( \3 T! Q" x! pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )' ~0 O& a5 w9 L8 _
{
: W4 W9 z& u% N( ~ 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 );
8 n* a* J9 e. m" M! @' Q( N }this
% i& c" b& G" t# g4 m( J% @" F( n8 b8 v9 o$ l/ L1 T
Code:, N4 R; I. | V; y7 |
#ifdef __QUGET_SWAP_FIX
7 J5 ]% `! l, F- r7 G% {# A if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 c" _, U! V2 E3 ~
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! }6 ~+ ~$ ^* w) u8 O# a; H3 |& K+ K2 H8 `2 U( o5 p' g
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
3 L$ Z* J* a7 M8 A" p pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- @$ ]9 S5 F- f/ w) F7 Q4 {( I5 `2 ^6 {
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
2 ~6 z c+ G6 t& t. r! g pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 A0 K2 F0 L( p7 u; O3 {* X
$ r* T& u( E' c2 c2 F#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / L) C, h- E! z" o" L- f& `
, P6 r/ m; X4 c. a' g/ |0 E" N9 G. J0 p! H, \
|
|