|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
; V# w' Z' A/ T8 W: jI posted this because someone kinda posted a youtube thingy about it :O.6 r0 {- R! E& Y: Q
; A8 A* Y" D! H) M2 b1 [! H3 }
Find this in DPSrv.cpp @ worldserver
' F2 h5 p3 U9 T9 T a4 D5 m: A0 r
5 Z6 w' J4 r4 j# ?1 H J4 O( cCode:
9 t7 q4 Y* n) w/ Mvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 l* e6 T% J* }7 i! P
{1 b9 Y) v% {8 @, T
DWORD nId;
( Z7 m+ j7 j7 Z& @- G int nPart;
+ b2 d, ?6 u( K& E
- j) n+ \* U. J: Y: y ar >> nId;& F( I6 i; ^0 R- ?9 N
ar >> nPart; 2 p2 X$ e6 U. b C. D- _
0 h' g3 D( q: k; Q7 N, Q if( nPart >= MAX_HUMAN_PARTS ) : S# ]9 H5 S H- g& d, J( U9 {) z
return;
% e) y& p, V0 B
9 O+ N0 P! j6 H! N7 G' }- [) w CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- o( W! f9 E g; i6 C8 Y! W
$ L! v, S) Q' J) A9 q+ i1 r& x6 J9 o! z* c6 o: n
Code:
# ]: L4 C& o3 B% [( Z#ifdef __QUGET_SWAP_FIX( b0 d& F Z( k W* v9 O
* g9 C5 t( `. d3 n" `! L5 z7 {3 c
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
7 ^( d$ u. [% A) h/ P pUser->SetHitPoint( pUser->GetMaxHitPoint());! h( C& T2 f8 ^( q
( j$ |! I9 i3 p7 A7 a5 f9 | if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )2 ]4 a0 G4 ?% y2 e
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& s @8 p2 ?! k# U3 p5 D" I) _. k% n5 L2 h* x& m" Q5 G q
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
9 W/ t/ r3 f; T pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& Y$ [8 I( ]) f0 F
# w. p. [0 n: s" ?2 v#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
( u2 Y- F0 V3 x9 f' Uand add under0 y b5 i+ t- r# W
- n( V3 ?5 m( {
Code:
8 Z. E! D' K% X) m0 \if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ p& u) u$ d9 `' X _2 T* y {1 _- I) [9 G" A' a$ X6 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 );5 i ^6 {4 A$ q" d" a+ z' f7 S
}this
/ C( {: @ U0 \7 L% C
( f# D. U% U7 e$ X9 M6 oCode:% I; l- v* X) X* O
#ifdef __QUGET_SWAP_FIX* P8 O& {, Q& U- k4 U' S% C. W
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
8 u4 Y7 Z( \" P' P) \. l1 U3 D( W pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ ?& h& I7 c9 {/ P9 K! B
0 m" C% ^1 ^: i if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )/ f4 Y) \$ ~$ N3 J$ P& H
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' K6 V3 y$ v! K# `# ^3 z
0 y$ y% M" |/ l$ S: Z0 d8 P
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )9 T" P+ \. z2 ^5 _( i4 G) d- D
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 e `* R- ~' E9 ]( B( s8 B
9 z( M0 w. `# |$ G. B6 q1 r" X, d; b#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; s& R* X2 a6 Y @. L
8 W2 g! H; r( `' d3 e# c$ P2 |8 C! b7 E0 t! {
|
|