|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
- W& I6 J8 A7 V! R: s0 Y6 u" ` e4 FI posted this because someone kinda posted a youtube thingy about it :O.: A. p' r& f: `
$ ]6 M1 s- `) \" }9 r* QFind this in DPSrv.cpp @ worldserver
& O( ~8 E' H, L% |
. p$ [4 i& o$ mCode:& J+ q2 B8 a. C: b4 K8 o( W' H6 M6 p. G7 K
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 A- N: G! g. E/ _
{
9 k1 @* ~# _/ B) A! p8 K: Y- E DWORD nId;
* q& t+ l4 ]7 F1 x, E int nPart;. J6 z7 X) e* O( N
+ Q/ g2 ?# ~; n+ ?! {
ar >> nId;
- h6 f; o3 S# {- M6 Y ar >> nPart; 6 _ t$ _6 ?# S. a# Z; t
( E, C3 v" f' V# A if( nPart >= MAX_HUMAN_PARTS )
( Z; t$ c6 o+ S: J1 q. n0 H) ] return;
; D& C: ^3 x; B) L6 `% L3 \7 u
* C8 |4 t/ K* P' {; z: v CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 p j3 [ J% ?& [, F, z2 s. N9 M
1 {/ Y2 a! H7 @
# Y% y5 B7 F8 ?: ?
Code:
$ N3 G: I2 Y# G2 K0 S#ifdef __QUGET_SWAP_FIX
6 s7 G: B" S8 k. c1 p% y6 P# m2 ~7 @* l! Y4 n, C3 r
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
- O5 s; R# O" b: c pUser->SetHitPoint( pUser->GetMaxHitPoint());8 C$ O. O9 o+ M. q5 {5 v- s/ e$ o3 i* ?
1 C- S9 i& G, ~ g7 ]
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )* y/ \, ]4 l2 J' m4 |# P9 y
pUser->SetManaPoint( pUser->GetMaxManaPoint() );. C2 ^/ i+ u& ?' o7 v* M) T
; N& N- F, [: \! i6 J f% y
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )$ |. ]. g+ ^+ Z3 d
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 p3 i+ t( F. X+ q
7 {4 y: N' p# p#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) F$ z/ {% z- U! v
and add under" S+ @, J. h( B" o; w& {* @
8 O) n+ _" q6 E5 I% R
Code:
E8 W& y/ Y( yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
& z1 S8 H+ |% |' \ {
) j0 }8 Y5 S- q( L) b6 O0 ^2 J 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 );7 W8 s' g, N e4 {1 h
}this4 g1 l# m) ^2 ^8 f! ~! O: d
4 a9 O2 C6 F6 P. V/ h7 a* C, nCode:
" l: e9 f; m, O2 @7 b) u#ifdef __QUGET_SWAP_FIX) z* s& v% F$ ?; o. U1 V* O+ K
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ): j' C% D7 T. I, L, q R6 p
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 i8 o, A. G( j/ E% A
$ T+ O4 a( k1 T! h* D" _; I if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )8 @: s7 ?6 R" b
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
2 h% h C$ l# V# T$ n$ A# e& X8 m \. B4 f* l: G" D. ^" \
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
* r0 z% f. ~; q! R- Q pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );% ?3 w: L3 a" m, k& T
9 c$ q5 p% L( m0 h1 b1 i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . x1 l% _+ u+ E3 b* \4 E* i- g
, p+ ]: t' m5 Q! j c
% K0 y' u! D8 _% T { |
|