|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ; ^' @0 _; ~9 ]6 D s6 }
I posted this because someone kinda posted a youtube thingy about it :O.4 B4 D9 L {6 u) P) @, M
% w; _* [$ p# \( F4 M8 M1 R- I" X: b$ fFind this in DPSrv.cpp @ worldserver' Q. d$ \( h2 [2 V* h; S% b
( @4 Z2 Y7 j5 t. P* d% n2 W, ECode:# @# C% ^; b0 k. R2 Y
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 N# V6 S% o- c2 Z
{7 Y' I- m q$ }7 Q" T
DWORD nId;( n$ d6 s& y! h0 C( \& P
int nPart;
* @& X) w& k* U3 y9 W Z
/ N1 r' W* L7 ^1 M0 B" R k$ @ ar >> nId;6 M# {, ~. t2 k3 @. ^8 r+ p
ar >> nPart; 4 w: `, O6 d1 q" c3 H* z4 z& m
" f a3 _$ k1 i$ ] if( nPart >= MAX_HUMAN_PARTS ) 3 E) U$ a: I2 p1 u, }1 ^1 M
return;
- m. I( W" `( F/ t+ D! n$ m) h9 P" x9 S/ f$ l2 t
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# w5 {5 ~2 I! _' j/ W' `+ ^' i& z
& w5 b4 ]7 A: B- c* F: F$ Z! V6 e8 Q4 [
Code:
/ }2 {3 c! m# i6 T% U/ B#ifdef __QUGET_SWAP_FIX6 Z( {7 v0 T+ d
. h: I/ c$ X. j0 \1 I5 r
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ): d% F' v# z6 Q4 l6 E2 _- _
pUser->SetHitPoint( pUser->GetMaxHitPoint());0 P( I( `# I9 ^" W: X; @0 J4 }
, Y. `( c& c) r5 d( ~- A if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )2 \0 A$ S* H, \- D; n- T
pUser->SetManaPoint( pUser->GetMaxManaPoint() );' Y" j+ a6 P$ ^& i: I/ k
3 g! q% o/ S8 J' a- O/ ^8 i/ J0 H if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
' E; ^( Y: _. m- L pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
3 i0 Z q/ b5 G6 R6 Q
# q; L8 k9 r3 S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 u, P0 h, v; _$ l5 w9 p4 S& Kand add under6 m1 b: e/ J8 {+ R
( Z* z6 X/ Z' ?Code:% d2 Z4 P( K) j6 t5 I( @5 ]4 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& n/ K- o; m- J& L
{
1 t# G. W- u/ |; `9 _ 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 );) s& o- m& U8 H$ s1 D5 F- {
}this
- ^# q! N3 x- I5 t6 j& j. v8 _4 M# g9 B
Code:
. S# R( m2 l" \$ ^8 f#ifdef __QUGET_SWAP_FIX3 J2 }" O! j* M4 B& k
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ), d9 j2 j$ n' Z4 Z
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint()); J( r7 S; l7 d1 |. `
X% T/ ^ u& k: d9 Z, o$ g8 E0 r
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
3 \( H9 d3 n% _* b3 ^/ ]* U pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
1 n6 K0 P. u8 V) [, k% _& Z% H7 a. k0 d
* d1 M0 f1 g/ Q if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
( M) Z- S6 u* y9 N: ` pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' |, u5 d( H% i! x; R# w- {
9 J* t% l; E/ k) V6 d* ?; h#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / c4 d4 u7 W$ w7 d
: c& v; G. S% K6 j6 m/ m( D9 s# C
& I i a: t* k5 F! I' ^ |
|