|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked % O2 O! H- W& {9 R" `* ^$ p) }
I posted this because someone kinda posted a youtube thingy about it :O.5 r! H5 h9 e/ Z3 E# G! `
1 B4 b7 B3 Z, `1 M# L- X9 E; LFind this in DPSrv.cpp @ worldserver
& u( ? o( w+ G/ C1 C
! e* }- `, j7 s8 Q2 w, }; _Code:
$ W' k( O7 n" X- i$ uvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )9 b0 {* e7 l3 H# |2 y6 ?
{
( a/ [ i& G" P/ E DWORD nId;
) @+ N5 K( _/ r& N% g int nPart;1 S, d q/ @5 S, m) A
' K, P6 _9 r8 m, R0 R$ M
ar >> nId;
9 n& H. Z4 K0 z9 M! u- B ar >> nPart;
% O. R" x- W% |' V0 F
* i. L) U( a% Q# s9 {" T5 W if( nPart >= MAX_HUMAN_PARTS ) : G3 ]2 S# s6 ]& A& I6 @+ {! d
return; [/ s! M* K _, D4 c: B" R
. |0 n4 w- E$ m; ~ T1 T CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
|1 M8 L. w& ~; e: F/ a3 [
. H( c+ k7 E) i+ m+ L3 J0 L
+ e+ h |, C' S. Z9 r a, K8 rCode:: K# J3 R. k9 A- B W6 J
#ifdef __QUGET_SWAP_FIX
, u% w* ]2 [9 w1 v/ y# S+ A% `; Y. k7 _
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
k5 E7 J1 `. }. Z7 ~, R x pUser->SetHitPoint( pUser->GetMaxHitPoint());$ n( d; f5 a3 s( a1 K
7 ~! p5 X% t5 b1 Y2 M3 h6 y if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
- U' F3 w5 Z% v: E. @ pUser->SetManaPoint( pUser->GetMaxManaPoint() );% r$ U) w/ Q, d3 L8 D
1 S, e8 g$ g5 W9 u' K) | if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
" a% [9 e& d* E8 P pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( s4 T F( |* |" d
' H4 f# |7 i& N6 x! n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. g: \9 T8 b; d6 j6 l' C d5 xand add under t/ N V: e* q% ?# j
: }' l& t) V" t
Code:
: e6 a3 e; ^6 N' L& Rif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )+ H4 Q; @) K# E2 H5 K
{5 W- l: G' N0 e" }5 u
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 );
6 j. G9 J; L9 P9 {& P6 I& F }this
. g; d$ u& b* A+ h2 O B9 E4 Y1 d' s, C; |3 m& {6 P. K: _; r
Code:$ {$ w8 e% }& b) y, L+ v
#ifdef __QUGET_SWAP_FIX' }. n# I) h# ~8 }. J
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
( Y# T6 m* W0 x# v8 V. z pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
3 q/ d& u: t: ]- i% \! O2 h1 \# ~$ [7 b {( v0 M
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
0 k, T# r! K# v) ?1 T: I: ?5 d pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
; D* y% Q8 S7 o* _) _) x
' g, N) W& c8 ]- v3 i+ X0 v if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
& H) S2 h1 l1 E/ j' i2 C" x pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! a6 ]7 B# C; Y) M6 [/ g$ h+ @
f: q; d0 Z% t' G
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver % t1 @! x% k" |3 S6 ]6 ~0 ]& k
$ H0 k8 N/ R: b' W# X( I0 Z" Z5 Z$ Z, G- E
|
|