|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
6 @; ^3 C k* p: _! \0 {% W/ fI posted this because someone kinda posted a youtube thingy about it :O.( @* @, p2 E4 \3 X
5 K4 t- C( F- h+ J7 x, M+ m5 XFind this in DPSrv.cpp @ worldserver$ M, i9 ]' _$ u% W
* @" A) k1 l: K! d, i# i- W/ q
Code:+ ~6 p' A4 q/ N. Y$ a. f
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )$ [6 z( ] S- `: {/ i
{5 i) I; b4 M! F6 Z: h$ |( J
DWORD nId;# O$ i: b1 \: ?% z+ w
int nPart;
$ l5 ?1 @! x; Q! S6 }9 o$ U6 y( F/ a
: M+ {0 K1 [9 Y" ~9 I0 s* d ar >> nId;
! M( ]! S; U2 G ar >> nPart; 9 r8 O7 ?+ r, r1 V
4 M4 m" ?) x- H' A6 o9 ^
if( nPart >= MAX_HUMAN_PARTS ) . x- t/ m5 ^$ s+ p) Y2 t( w8 I
return;
5 B7 ]* R$ H4 b! f m3 l2 o- x& r) O/ a# L
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! V. H5 u) S2 U, N0 S3 C! c9 @5 T, Q. ]; G4 I
' b4 u$ P& G8 Z- J) |Code:1 N; p7 X" S5 `. `" ?
#ifdef __QUGET_SWAP_FIX; V& R( F/ V8 A' j, {" h
! @9 Z/ S/ @5 r if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )% M7 y* X6 [) ?+ H
pUser->SetHitPoint( pUser->GetMaxHitPoint());4 T" C5 @1 z% @ R
1 E7 W0 S3 I6 R+ k
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
+ ], s" K8 o/ M4 e4 Z/ D pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 m! {2 y* U, [! F" |1 b
3 _: J4 V6 N) n2 w
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
. Q \* \- p) [$ @' C2 y pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& i) K6 @7 a0 ]" Y3 j2 h; q, K0 S
8 n9 N, y5 ^5 G
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
: G9 {0 a% h( s0 ^+ ]% z6 ~and add under
$ \1 x* u- J7 }% ` P5 R% P" k* Z' j' U* m" q3 a( l$ M3 R8 \
Code:
; K3 q% k9 m5 ~& {5 n9 E7 W' _if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
U: E) o" Z! ?0 S {3 O, G( o. V; K
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 );0 x4 O z% E/ ?$ B4 M
}this( b% _ e' y k4 A% N+ c8 Q
$ B8 x u: n4 o
Code:
4 _$ }7 K( G; m2 l#ifdef __QUGET_SWAP_FIX
: I) e a1 a6 j0 B! Z7 h. _2 q if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )2 K. B; L; ^7 P4 x0 E$ R) O. c0 t9 E
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());6 \5 s) m, Y0 v1 F" Y+ g% Y& K
* m1 U7 C# X! R$ a8 x if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )7 o4 g9 [+ O. O
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- x V/ q: C8 c+ U& v+ F) y; ^
1 q! |) Q. l8 b; S! T" u6 w if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
5 G* W1 C/ Y5 l: C9 M, s0 G pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
# x' D9 \5 s: n4 X' j! [. G8 r7 F: M5 X _# W
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 P& x: |5 Q6 C3 k9 P5 N( s: h
5 Y+ d( v7 h1 o# `/ s: U
* d7 m& f+ i5 k& f |
|