|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
) G* u& R/ l4 q" B; ^- UI posted this because someone kinda posted a youtube thingy about it :O.
* q' J) ?9 ~/ F- O
$ x3 H$ A2 ^ e" Z) QFind this in DPSrv.cpp @ worldserver4 c7 M+ v& j& }$ e( c
8 G; E% p5 E X( DCode:* z/ r) T5 A. b8 q% v
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
+ v5 r t) z1 h1 m- q{
3 c" j4 p. I2 R. ?3 e DWORD nId;7 z* H! N+ Z& V6 @6 N
int nPart;( O! J" ]+ E, t( W( p* _1 U; j1 Q+ h; F
# ]& ~8 C [1 N& O" F% \& s ar >> nId;4 r3 I: l; O3 ^% x+ g7 l
ar >> nPart;
4 q0 {, p7 b+ c& {& }& r% z- w
9 w( j8 S/ j$ Y4 T* K8 j- E5 s B if( nPart >= MAX_HUMAN_PARTS ) V5 L ~" q/ X* R( p1 F1 ^
return;) k' s4 J( E: R1 r% H) m: c
( a, Q4 ^% R+ ~! g9 H
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 N; a+ ~4 k7 k9 }7 }! C2 U
) J! J' G; n4 m( f
8 Y8 B6 Q1 }2 y G- h( rCode:
& Z3 s W# H" l+ C& @- V- V$ j#ifdef __QUGET_SWAP_FIX+ v4 U9 y5 m6 F8 V; |
: V" L& y. r- Q: B B) K if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )7 Z" \, R7 l* h- \4 ?+ s7 S
pUser->SetHitPoint( pUser->GetMaxHitPoint());
* G( Q& W5 F* E- {
3 [1 W9 u" Q `" b1 J. F8 \ if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
/ m% j# C0 L1 h) i pUser->SetManaPoint( pUser->GetMaxManaPoint() );
: @- Q' E" L8 ~2 n) e
- X6 e$ ?4 Z9 X if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )0 x* O* g, D: P4 d
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* [6 k% S' w! B/ g5 a
/ }7 H5 @# u* y5 R ?, B6 q#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, |( h' [& d7 i: a
and add under9 M ~8 `* F9 m' h/ N' o
, y4 i: r+ _) n% n! N) }
Code:: U/ Y$ ~+ n; z4 l l# w; r
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )7 j, [+ f; q: i, w! }
{
& W3 f3 {# Q. b$ V9 \1 L: h6 B 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 );
8 q$ k6 E/ k. B+ w }this
7 |. w& R+ D: q7 G- T+ d1 l0 B3 y. I5 v9 q, U; |
Code:, U0 A- I. n( j
#ifdef __QUGET_SWAP_FIX: O' H. h. ]. L7 f. t: w& ]. _
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )0 w$ C8 c( c* [* a% o% D
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 q D8 L) e7 D& L/ r) J
7 ]: a$ H6 T0 {- h8 Z if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )2 `/ Z/ k0 d0 d5 c7 d( e) o
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
2 r) I- {- F, _3 N" R
# u& k/ _0 c2 K1 ^9 C8 { if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )( H; Z' _% d+ {7 [, Y
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
3 Z% N7 t- ^9 e% l' }7 a% \0 O" C0 b$ o0 y( j4 [# m
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
8 L8 }; V7 z- v# u; t9 A+ C+ e0 h" Y( G$ m, s4 F0 q3 P4 E
' z" r; s2 k, @% \9 @% } |
|