|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
& i/ p: m$ j. D( W( m2 bI posted this because someone kinda posted a youtube thingy about it :O.! g, _) F2 Z! Y$ u/ x5 k
2 I( |( v$ r* ^; f% u* Q
Find this in DPSrv.cpp @ worldserver1 j/ |5 S5 h' g1 m
$ O& O" q: J. A3 C: J
Code:
; O2 F3 O" z3 f* f+ @! Z: Ovoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' a! ?! t8 k; F2 {1 x
{
5 Y. }# h4 i; s( M! x DWORD nId;
]; |$ W+ |# _' A; q int nPart;
0 p( L% A3 _; @+ u" a
9 ~ Y- o) s# _: b; _# S* g: P ar >> nId;& t% W- X" c Q! b
ar >> nPart;
/ ~+ H$ @; b/ R1 N' h " r: {+ m. _" C) \, P" y+ } d
if( nPart >= MAX_HUMAN_PARTS ) & d+ ~/ d; h; G3 U* f5 B4 ~' [& w
return;! y1 Q- l, t% _! g6 F/ E9 m0 w! {
, W1 G* ^& {4 e
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it$ E; F( |. }9 g7 o+ ~- I: |
N0 b0 Y' q( v) R B: Y
/ L- @+ M0 Z$ p, `Code:; d+ g$ z+ _( S% r6 o+ q7 ?$ e
#ifdef __QUGET_SWAP_FIX
) V" @) b$ g% c' _. ~+ l( a( u5 u
2 B* S* w2 V, h( i. W) L$ f if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )" A7 F, \+ j) M- y: h# U
pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 q, O1 L% t5 Q; ~6 `
8 @/ Q8 [& A" X) G: a! Y. I7 h if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )' c/ x6 \- t" o, W, y
pUser->SetManaPoint( pUser->GetMaxManaPoint() );' @( T8 J7 d% p( C+ q
2 K/ ?9 u: w- ^! j5 o8 L& h+ s
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
( M! @/ R1 [3 ^# y+ P pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. O9 ] S2 j7 f3 N A% @
7 b, o) U' Z$ O5 Z5 p7 n
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, M5 L! j4 G" [9 T7 w
and add under
% p5 G0 D' p3 h6 _$ e( E4 o+ m4 \! k# I
Code:5 R6 K7 j4 V' }8 J
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) O. E3 N) q% {
{
- c. _/ ]: {) q2 j( e2 q, g 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 \4 R7 C+ J2 p, u' z* j7 _ }this
$ \. m/ J( f1 @$ k/ }+ W% g; S- w
~6 |+ }% K9 u4 e$ i) F& pCode:5 z& i: z8 |: z' r# o3 Y
#ifdef __QUGET_SWAP_FIX
/ h$ s+ a8 ^5 R2 f( E if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )' J6 X+ @- E' {/ ~
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! C" ~8 I5 f% y1 p) \: y/ |; e6 s0 _6 K
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() ), Y5 l- b. [7 v8 L2 b
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );% [% \" b: V4 z. v( H5 g
3 L P1 M) p6 h* g
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )8 M0 e& D6 V# c; }; m- {
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ n8 M8 t! G P5 }$ m
5 j5 P j- J* X#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver $ ^0 ^; q+ t* j
o; U2 v7 X8 g' P% h, O* e* P' L- o% [' x
|
|