|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
8 p! @! }& D" w" s4 jI posted this because someone kinda posted a youtube thingy about it :O.) T c. m& J6 s! T' o6 O$ Z
3 E. V, f2 U, e- ~% |! H! C# [Find this in DPSrv.cpp @ worldserver
8 i) b( o0 W% V& s m3 q+ J$ t1 _# q! {& M! S- G
Code:
, |9 `" u/ Z: O& jvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
F9 z% x; A3 W& v{* n- t. h" M9 v5 s* l0 T6 d+ Z) }
DWORD nId;7 f* F+ Q- Z- X. `, P/ ]4 W
int nPart;2 K; B& t6 [4 ]8 ]
' x9 X2 e; F! ^ l) ], i7 N
ar >> nId;
; h9 R, N2 _. J; K2 z; E3 J& i ar >> nPart;
. v* x; v& |* w1 b) n3 n4 y7 j
+ |; X. K2 Q$ V if( nPart >= MAX_HUMAN_PARTS )
) ?8 `* e" Y# q1 B1 H$ [' k return;
& \. Y, R3 A* U8 ~+ ~
3 F: J* T- C3 i2 L CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 z. Q; {2 H x# b% W6 Z# p
. G3 |8 A; B. `. @$ i( n- L
* c$ M* P0 ?" SCode:
0 h4 n; H! @1 G#ifdef __QUGET_SWAP_FIX
$ |1 W4 s5 ]4 W. c
- @1 u8 a- z& K0 u if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )$ C7 E: i4 Q/ D, Q' k
pUser->SetHitPoint( pUser->GetMaxHitPoint());
; v2 z, X- w4 l* D7 Q& d
( G6 s/ \2 r0 d1 B5 U. K if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
" \; T2 ]& P$ k5 M W& w5 r5 W pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- W0 w+ }# }; J) a" P" X7 I4 E$ ^: n. A4 V u* F
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
, p$ y1 a4 S. M pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 f$ _3 O/ u. o* A5 u/ F0 T- H0 i! `' i
# i5 o1 i# N6 M: O) j, d
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp! ]: _; G0 N C% G7 Z' n, N; @
and add under
# S6 s; @6 x) A& Q% t- o( B
+ _& J3 p% c R( n0 Q* rCode:
% Z3 G7 u. T' D lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 T e( z* G4 s5 |; ` {
8 v2 q* Q6 Q( _5 i/ T6 x 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 );
, g; R, Q9 ^6 }, Q/ i3 F4 O }this5 A! b2 y+ }9 F- K! B1 d) \
/ |; h9 Y9 V9 s+ V; PCode:
4 b- N6 b( R. r. i7 c#ifdef __QUGET_SWAP_FIX
8 [' X$ t% {& x if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
, m# e/ j) P, N. | pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 ~7 W$ u+ i8 j3 F- g; K' u9 D2 ^, D8 T
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )2 x3 T3 {1 Z/ u% |9 d
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- y7 w( F2 X& x& c* u$ a
8 G. f: T1 n! ~' \ if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
6 q- s3 d6 z; o" [& m pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* |# C8 {. s% _, l, f% \
8 {' l( M6 ]" n+ f g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
, O# k4 C9 J' D* C) `
Y. w) N$ Z% P1 x8 u$ ^% }% U* [ y1 `
|
|