|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
* f* v# {9 h2 R/ C, t; _/ cI posted this because someone kinda posted a youtube thingy about it :O.
% g& F0 Z2 O( j
" z- a3 N0 z7 ?2 MFind this in DPSrv.cpp @ worldserver
9 U" Q$ a8 z' X% F$ m; n0 i4 r1 \ ^: T! X& F
Code:
& R- e; c# ~; f: d0 w0 T5 ?0 nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 a5 t6 U6 }% [
{& H1 F9 s" \ ^! H9 {$ i/ G/ P' s
DWORD nId;
( e, U0 ]0 F9 l8 |# S+ ] int nPart;4 w I7 y* ~* r% E
/ V& ?* [+ J! t& W9 x. f
ar >> nId;
, E* L! S, `; r* F- E1 Q4 q% F ar >> nPart;
~# z) z/ V- x, ^ G, |- o" R " u' c V# @' O# m
if( nPart >= MAX_HUMAN_PARTS ) + ~2 v9 `+ T' [4 |
return;' g$ J# k+ y7 Q v/ [/ T1 E4 V
: c' M4 W+ z9 [$ R. f
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# f* q8 X5 `$ z$ L [- w) U& s! k% j: _" W5 l$ }- T2 C! q
- K+ r+ Y* f5 g' P2 P
Code:8 o7 `$ O8 Z& z$ l4 F r
#ifdef __QUGET_SWAP_FIX; o# C3 Q" d4 k9 d
) \' i& G% `5 k' I if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
2 V- V& X: D( k pUser->SetHitPoint( pUser->GetMaxHitPoint());
+ o; }* `% g; O+ ?4 e* \2 \& Z% p4 k) ?1 e7 j4 G) k
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ J! O( P- m+ {# a4 z2 u% x
pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 g2 o4 F, R0 o N# f
6 R" ^# `' {7 I- O9 W8 D if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )* w* e$ F3 {7 f* `
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
" h. u9 R) c! P9 r. U
8 i+ X: \# ^1 ~$ ~- ~. u* Y#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp( E& ]' k9 j K, D D9 W% L( }" Y
and add under- b+ j r8 p- P z& m, ~' s% ? `
Z: e) N* @" D' v% m# y4 p. aCode:) m& |5 Z5 t- t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )! q# [' t! |7 c9 p/ {4 x" u7 C+ n' Z
{
. h! i1 h" H) V1 ]6 [" C: R 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 );
$ `% ]" _6 N; a1 |3 O }this
$ Q# l0 _( w( S5 l2 I1 i
* a! B8 K$ Z5 g' ?0 z YCode:
h) h- s9 a3 \#ifdef __QUGET_SWAP_FIX
* @( q n( V6 E b. k3 @ if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
& W& H' I+ G H pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());0 A4 Y9 V; E8 p2 D; i; Z$ S* k3 I
/ `% h% j( q" k8 u( }+ G4 _
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )- ?0 B0 k1 v+ q+ E _
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" ?- v6 z B$ ~; r/ C% B. j% J; _; v- ^
' o8 ?# v/ k& v if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
' b1 A& W9 N9 M$ f1 d S$ G pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 `, ]; r3 N" e+ u' Y* f
+ e2 I+ W4 c/ [- C#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
' [) d' s% F# e4 ]9 r7 l" J% s* [
9 n/ G1 b* c. E5 ]
. N& j) o( C0 E2 u) Z6 {. e |
|