|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
& v& G( { `# Y2 Z; `. [5 XI posted this because someone kinda posted a youtube thingy about it :O.6 J; `, N1 Y# m3 I9 y
# c9 G! I5 m1 g X4 ~9 XFind this in DPSrv.cpp @ worldserver& K# h; [1 | T, y+ x, Z g: u4 E
- z1 r4 G) m2 I" t' s8 r
Code:
X7 N: L: t! g/ t$ v8 B* v# {void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: C9 k, n {+ g( c1 X{
3 a( C' K5 Y! H: z( H1 p2 B+ ^ i DWORD nId;+ A' D5 ^9 r" K" Z( z
int nPart;# s% ?/ E F" N; T9 F/ Q+ W
7 g# y, s! G8 k7 p6 ]4 m6 a: Y ar >> nId;, g: ~0 P* E3 A, I
ar >> nPart; 2 V |9 ^& A1 P" ~2 L
7 g6 _, c2 A/ P- {' K' {! E, W if( nPart >= MAX_HUMAN_PARTS )
) B2 ~! y, R @- I) s+ n return;4 A( A; l, i! h( ]7 C: Y2 A
) a" y& t2 t3 x7 V. w. [# Q- P7 q
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ Y# N S2 T3 F3 v5 h# x! b, w* V& B- D k) K. M
; U( v# |. l! k- v
Code:
, s, F2 s4 R+ w' f4 I+ M#ifdef __QUGET_SWAP_FIX3 m7 N3 ]* ^7 F- O% x- I j
* n% i( z0 T- W' W
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )( S( e0 w! `4 {
pUser->SetHitPoint( pUser->GetMaxHitPoint());& I S1 S! Q/ S0 m0 W
; W3 U+ v3 j' w7 v1 u' S: i if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
$ D) m: g: c* V O! ^( x pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 h) T! j' [: e; J) v
4 Q1 N( ]0 D4 E& K' t8 K' F
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )" l9 y }3 p! A* L$ Y
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 w$ ~8 [0 D# S" N! c
% t! O8 {* X+ M7 E, a/ S' I5 K#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 B+ G) Q2 w2 ~# z5 p' w$ Eand add under; a W8 l& S" R7 G. l
2 Q4 F1 u3 k3 ^+ t6 gCode:
! z/ l c6 ]+ S% oif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 f& ~1 l, Q: H+ S; |) x
{3 ~* {9 Z$ j8 S$ T* e6 K
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 );
: D" n' q: S" i$ ?' G; x4 B! e* ~ I, q( @ }this
( Q, o+ v/ _9 ?# S4 h- q3 U: d8 @. O& K
Code:7 z6 z- T. Y$ {2 ?
#ifdef __QUGET_SWAP_FIX+ ?0 h! o5 ^, H. }) ]
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )& g+ K& c3 o* u5 C% |% |. j
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());3 c! l$ j8 ~" i- y) I: e2 ~
' c1 c/ K8 k$ F. P if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
8 [4 C; C9 n+ [, S+ ~; o$ f pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
& M L. u3 L+ i/ E* C0 h2 @. o" p4 F# S! K1 w/ h+ _- K: \
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
) ~2 o& \5 J1 h3 M pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& \) n" Y: X# k r3 I/ [8 c0 n& ]8 s7 T4 G
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
R, m. _6 m/ X% o4 n- I7 [) O1 z/ e& u6 L1 Q% K& V
8 d0 }) v- P# w& K. {: x
|
|