|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked R+ ?+ n% P# P. {+ r1 _) e
I posted this because someone kinda posted a youtube thingy about it :O.
- A+ T1 E7 \9 U1 x2 A A. E4 q3 }6 z. x, W
Find this in DPSrv.cpp @ worldserver
, C3 y% t0 A4 Y) T2 g0 A5 n% e! }0 W2 B1 N5 J
Code:% d( p/ @1 S# h$ r
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
( m/ Q2 i5 ^! \' u+ L7 Y( U0 m: ]{9 e/ y* ^* ]1 B4 k
DWORD nId;
6 N3 q( B) ?- V. K int nPart;
$ y( A) e$ _% K9 a2 a( V9 p. p7 y! K" j+ i, y+ ?! g# D8 I! {8 |
ar >> nId;
, x, u0 R; e3 Y& A N ar >> nPart; / q+ H' ?- w9 ~) d* Q2 o$ ?1 {
; Y! G/ E1 e! U: j( C if( nPart >= MAX_HUMAN_PARTS )
) Q$ s7 g: f r4 a% K return;
5 G# m& u8 q( T! O; L
: }. Q' I; ?( O' f# k CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
" ?; V8 U3 Y0 C/ L
8 C$ F& G, A) y8 f- [/ k8 |; @
1 L7 ]; [3 b: C; ?$ ICode:
) r' A+ c9 q4 u+ O' D8 q2 o& f' {#ifdef __QUGET_SWAP_FIX( R" t9 l/ c4 `7 A
4 P6 [9 n9 |1 A9 ?: p! E
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
/ x( b D D+ K$ \! h/ R pUser->SetHitPoint( pUser->GetMaxHitPoint());( i. Q0 a# o4 F: a
( |- _: C7 A/ l; c4 I8 R6 l8 C
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
$ |' D/ j( l7 H m$ I pUser->SetManaPoint( pUser->GetMaxManaPoint() );) E7 O( a! S9 z
! e0 I9 B Z% J5 ?; ~: ?" P if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
, q) T7 R4 p, V ^4 p pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );# k+ S" {: e7 h" [# H' |
% N$ f: ?, }* g& L% F#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' P& i4 S9 S/ j
and add under- K4 ]9 x4 M% X9 h
7 v5 Y6 G0 h# I& i8 ]! E. m
Code:% M3 d6 q. E. [& T+ E# z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ |! {* V# l' P1 ?5 r: | {
8 X0 W( }& B" u8 L$ S 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 );
9 V2 s9 d5 g2 z8 l" ^ `6 N, w3 P }this
9 E/ O" h" f; |% U! i: J) A A
- j! p" Y3 T& o: x$ f q! K2 q. ZCode:- K0 _0 t y% O* x# l. ]5 H
#ifdef __QUGET_SWAP_FIX& j2 ?1 ~' e) x3 C! S
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )/ g: @0 C& d8 a7 i3 }" P
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());" m% [/ v% i9 s5 K
]6 h, T0 K8 c) U$ k* W if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )" L! u, _$ _8 x3 `( ^
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );" F, Z+ u' z% G$ M7 U- v
& C1 [ a+ K8 M( h0 \% z( M if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
: [2 ^7 O2 o2 D3 x pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 R! K* {1 }- X+ N& d, g+ p9 S# t1 c, f
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
2 }& d5 H+ A. d7 |9 }3 m
( U/ \4 V4 ]! J& b m
; ^% u$ [0 }3 O6 \ d: D% x6 q |
|