|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked & h) w7 B4 b1 u! g2 ] B& |
I posted this because someone kinda posted a youtube thingy about it :O.6 Y3 [9 A2 B% O( ]1 s. C4 X& Z% m
. Y! ?2 u9 I: g, f1 l2 t
Find this in DPSrv.cpp @ worldserver
9 }/ d& k' W2 u- S1 E, T0 \7 z: [5 f: m$ i$ y
Code:
{: l8 j9 B* W' [( p1 _void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 X; s/ }& R- I# a9 ]- X{
+ f9 z7 ~! E/ {& m; U1 | DWORD nId;
% K$ Z' C: x1 F+ v int nPart;% {" q9 ^- _2 T7 [* o) M
+ p8 M( M- @; N- h* t( P3 z, e ar >> nId;
, j: z8 q3 F ` ar >> nPart;
4 p7 Q9 J. n: c. @$ f$ j 6 x4 E( q, Q$ L9 c
if( nPart >= MAX_HUMAN_PARTS )
. D8 |6 h# C3 `3 T0 q( C0 W6 b( r return;
0 u. X V! E D7 e! M
0 V! L' h! Z; q3 ]/ J% W: z9 h* S CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' H6 c1 F" |+ O F5 F( w
7 B" A) z5 M/ A) ?# l5 P" u7 E# O) \
Code:- @+ }; [' _7 x; a( |. }5 J
#ifdef __QUGET_SWAP_FIX
1 J5 C/ U# K o# ]/ r; e. K- ?8 s) n5 x# M( I- U, N# b9 s4 I) S2 w
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )7 M0 I# m8 U/ Y {
pUser->SetHitPoint( pUser->GetMaxHitPoint());) i p: m( b# ]% g# p' `2 g, K, x( D* y
) _% L1 M, q+ p2 T* ~5 ^ if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
0 `# B, i3 ~- A! K( C' O ?+ @ pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 a1 m* \4 s( p! a
; m: ? B+ r# `7 R3 I6 H if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )/ L) X( w) K$ m
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 U- u; U ~. u) G4 a& I
5 D5 x7 ^6 I7 B+ ~/ p#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp F5 p$ ^8 C5 H2 o8 q& X' C
and add under5 q1 Z+ ~6 G+ a F# w
5 J) Z3 t# ]4 ^- A4 GCode:4 m; x0 E4 t: B$ C
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), k( d3 ?3 h2 |* S9 }
{5 f. q& g1 q: H2 I `1 Y( F4 }
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 );+ e: I6 f/ u6 `/ d. O
}this9 B6 w* x3 h/ d" D& C
& i) b$ V' x M# {* _8 \Code:! N- s9 f0 K o' b7 H
#ifdef __QUGET_SWAP_FIX/ s; S: z& T- C
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )0 F! C7 U) y8 j% R1 y h
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: e9 c/ J# z8 h+ q
) v2 m# M- X: V) s if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )% s1 c& b% B8 x- q0 b' G
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );6 N! H# r6 q% f) A8 R
/ S7 ]/ n6 k& ]
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
" N$ _6 r6 x$ Q pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );0 p9 S2 T; I# E+ m
/ Z& g# \. ~$ C6 C& F#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ V$ T+ l h2 g1 C; v4 ?; L$ S7 J1 Z% m2 n# W
- i' r) u# i! N! _" ^. A1 ^9 a, G4 q |
|