|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
7 I3 L9 z- K; K4 w/ ^* `3 e) U1 ^I posted this because someone kinda posted a youtube thingy about it :O.3 `" F) S6 f. V4 j5 v8 e
4 m$ v, c e) TFind this in DPSrv.cpp @ worldserver+ H" z3 f: A# c7 I5 y- E
% ]& G& x" O# K* E- |9 U% h
Code: N4 I3 G# @. m6 Z
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ), x r8 b* H7 `: f8 L. D
{' [* G/ M: D# h$ z# E8 ]$ Z: A- d
DWORD nId;
% S% q- O$ k N% h3 a int nPart;0 F7 F, E, y9 D6 i
6 u% T) ^( w/ j+ u* A* M+ [2 C
ar >> nId;+ h* l" f8 p: d0 e3 y
ar >> nPart; 3 _: k/ f/ l% K' G; R
4 Z- l l0 H( K a# d) @3 b if( nPart >= MAX_HUMAN_PARTS )
5 e+ Y& r6 h. I3 R# q) X return;
, T/ _0 F& x `! [! D8 l: d; I) ~! T5 R8 \
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
0 b1 b4 x! O% m0 E. K- g, U
2 N: Q& N- }4 E, O7 d2 g4 L& \
" R* B3 @8 H, tCode:) @" M- ]5 g: e; x9 J6 H" k A% O# ]
#ifdef __QUGET_SWAP_FIX
. N8 j3 a2 F: \) H2 O1 D' ]8 [0 C. u7 t# e0 |# E' J) B& R) ^
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ). s5 |: b" q9 ^& g/ ]
pUser->SetHitPoint( pUser->GetMaxHitPoint());
% N2 |5 { {' p2 b1 m9 Y; E0 j8 E9 D( l/ r
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )0 H0 Y0 `" K& d, V5 m1 Q
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 m- E0 L. i$ M
7 _+ ^8 U5 ?+ U) X' j if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
3 K. m ?' }$ S4 D7 z, x& ` pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 ^. z# m' d9 X! N. S. u% Q$ s1 _* d, a" c
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp" W& q1 a2 S3 h: |; V! ~8 d
and add under! T3 d2 ?( W7 L7 G0 K ^
* @6 \/ d0 A; k+ P2 L) j
Code:
! e( i- F' ]" i/ D* @) C6 w! Aif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); d. H8 |( B& ~3 E+ m
{
$ e% A9 }- r. P1 p) B0 L1 }% P 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 );* w4 w/ `+ v" s# [; P3 X
}this6 E2 {( O9 k* x% [5 Y
3 _% W5 E6 }) |0 ~! T5 W; E
Code:
# i/ G' J- C# {* V4 G#ifdef __QUGET_SWAP_FIX
# w$ ?8 D' F% W6 n% k' P" Q if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
* ]- M, I' x$ n- [/ Z pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ Q7 M7 {; n% e" N$ q+ E, F
: M$ K1 ^ f& x if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )" ~ x! t7 u. @$ W" F
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );" u5 x! w& J& a! r: g D& @
- a. W/ [' O7 Y6 u9 h
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
0 B1 c+ f A& E/ S0 p. W6 [ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
4 O% C8 b8 K, `8 |8 |( w; s5 R6 ?
l: _9 v/ y1 R#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
- B+ k3 f1 v6 R/ }
* z V6 S$ d& v5 U4 O+ H" y5 Z6 B' t, B( b# S1 k% h
|
|