|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
% K8 j, Z$ q& W+ g* @9 XI posted this because someone kinda posted a youtube thingy about it :O.3 }$ \9 V' u1 K( A# j; ]( d
1 C. d2 t9 u+ z: ?: |+ Z& w6 P rFind this in DPSrv.cpp @ worldserver
& n: S0 |9 C" ]: E/ t3 H! V, O$ H$ E2 P% c
Code:
( _- W5 c7 N# t7 ?; Xvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 M+ ^( @4 K9 q! w
{
: U( q* L. B4 F2 o: B' G) _ DWORD nId;
+ u7 z' U$ Q+ g int nPart;& X& d, c' b0 c% j2 P
0 ]# o" f# L: N" P ar >> nId;4 a1 ?. u, p' t, v: k
ar >> nPart;
q* i! m- J3 x8 l' n* z! H/ T
& o6 b; \2 `% X if( nPart >= MAX_HUMAN_PARTS ) 8 E! g% W3 @+ G3 N* P8 T8 K
return;
( ?& m$ g" M0 g8 B$ K8 v; H0 u$ S8 l! N4 g% l
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! X- X& \- k( g! Q. c2 d" z. [
% V; P3 @9 X/ q2 D4 n0 \/ V4 ~* d+ B; e2 j1 m+ s0 T4 p
Code:
5 v4 z! n8 `# Q$ R0 \+ t#ifdef __QUGET_SWAP_FIX8 X" b) _6 t/ B! U
+ q. l/ u+ i% ?/ R* f) E% T# ` if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )3 d4 d p, [5 M/ X8 J2 _
pUser->SetHitPoint( pUser->GetMaxHitPoint());( ?7 h/ c- P {' c6 ^4 M, i A: g
1 U2 b, \, U' O% R( D0 G
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
3 y" t# o& Q/ E pUser->SetManaPoint( pUser->GetMaxManaPoint() );
0 g) p6 Q. s: x0 a1 B0 V3 {% t
6 \% s3 N8 _4 i0 N7 x2 P; I/ j, t: v if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
9 ^5 S. c( g% _! [! b pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 T' ^$ F- a2 q; y
, r" J# c% p P$ e% o: L5 |#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 @& m; h& a' D" dand add under
8 \: f F0 _! y x7 x3 W/ w s* m! v/ K
Code:
: i1 |8 r' V; C0 N4 fif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )0 x* H5 q, {( S2 G3 W" d
{5 [7 |, A, m5 T6 ^ a
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 p- Y* L x3 g- u& `* v7 M9 | }this
) K+ w1 x* ]" u: m
3 I, t' G: ^% a0 x Q) V" L7 vCode:/ P7 M% p G( e8 W- F
#ifdef __QUGET_SWAP_FIX N" N4 ~4 g3 O" f
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
7 P' S) f6 G. c @2 { ?$ a9 N pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());- `- i9 q8 }& u) @
( @' C9 B; d, Q5 T0 H% B' Z if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
# q* Y* q2 k" t; r0 K- M8 C* b# @ pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );0 A4 l \( z% H7 B1 Q) _
' S T$ J% ?" |; `- G
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )! s/ {0 z3 e* O5 P! W% Z) G
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- k. h' g \" W% P% w. j
: C" g' D( ~4 f: K( P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* N" m( O1 @. Y: k5 E& N
# \1 i$ Y% n; Q6 j( F8 j) o n6 {& A0 B; x; r7 Z3 v7 @ i0 l2 p! Z
|
|