|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
' n5 d; f5 A3 u' K1 VI posted this because someone kinda posted a youtube thingy about it :O.
# G/ P- D; k9 S& V# t
( X: I3 {* B4 m. H- SFind this in DPSrv.cpp @ worldserver
; R% p# }/ ?8 a
! V' q" J2 W2 M) }+ U6 g) fCode:4 c' T( S8 _% o, z: u' e
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
( m$ {* s, q' Q2 ^6 }4 b7 O{# G0 i! p. p. I q4 T$ D
DWORD nId;. t3 h9 z8 K r: ^4 t: M2 L+ e- v+ `
int nPart;# {9 G7 I: g5 d% @% k5 b
4 j5 G2 Q4 z- T8 M4 Q; x5 g8 F+ E ar >> nId; Y0 A# m5 { }3 p G( o
ar >> nPart; * X' _! e: ?) o
6 L! M8 _$ ^; g7 o9 }
if( nPart >= MAX_HUMAN_PARTS )
1 z$ i% Q- M; H) G1 [ return;
$ i8 R- S- U& k: M; g
% x3 b \* @3 e$ i, _- b CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
( w) J6 t0 @# r" z8 ?
+ K7 N, d. ]0 H0 ^/ `: R6 L, P/ x
5 k3 U2 O% ]" b! ]8 p: p" ^( XCode:+ |7 Q6 D* X8 d2 Y* Z. x+ C
#ifdef __QUGET_SWAP_FIX- ~) }3 x( E" J3 H- @6 d! b# E' C
, ]& R2 M- D; Q/ `: k if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )5 H( I5 P' T, g' n' A- ?' `
pUser->SetHitPoint( pUser->GetMaxHitPoint());( d0 ]- a* o7 L
( r- J; }/ ~; e if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
; b+ y" r0 t5 N8 \2 ]( C pUser->SetManaPoint( pUser->GetMaxManaPoint() );
4 {- {1 A- M8 \$ R7 h
) u; Z9 \. K$ w8 y2 | if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )" f: Z" M; {' f; U
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* I3 v* K: R0 q1 E/ W% G4 D8 z. `: p
! T) h1 ?! Y9 b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' p, @" e7 S+ \5 s7 _- X4 Z
and add under- _: d4 h( K, M4 m
4 ?% X" v# B' Q& x* a9 oCode:
l9 }) ?+ M9 l- z1 p- O ]- iif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 o: C) V' a/ W) x& l" Q1 @ {
* C( A- X* [% z8 K8 V 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 );
2 d% e1 @8 I9 o' @; s3 G, C7 E }this
+ Q" {7 o1 R0 u" b4 V5 }9 y9 e2 D( s$ H$ B
Code:
* O K5 ]1 f/ c1 Z#ifdef __QUGET_SWAP_FIX G0 T* s/ }* n# h; l$ m2 Z: l
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )8 m/ q) U0 N. ?( J; Y' F2 e* \
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
' E3 K# @( n' m/ d/ q# F3 Q0 ?, b8 _0 Q- z7 Q) q
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
1 C" @8 Z8 S, D) N pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, K1 E* ^: y( k! S% m: P
* T/ Q6 b/ L( N7 S* }" m2 X! g if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ). z* J% J. }6 ^' a4 {7 i
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );6 _# J+ y; t9 P* {9 A& Z
* } {! G: i/ M1 N% }8 N/ ?#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
- t7 A& x, `" Z8 @8 Q3 s; D; ?- ~8 H. A8 `
3 a7 X% R C0 m) H5 W |
|