|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
0 F" Q8 s- N9 K; tI posted this because someone kinda posted a youtube thingy about it :O.
, ?9 `0 X6 b2 ~' T7 F$ z4 D
$ d& l, e2 Q* [# MFind this in DPSrv.cpp @ worldserver
, a, d1 L7 ~/ q+ Z9 T% R) z
. ^ j! }* v2 W8 H! pCode:( r& P7 Z) f% [- t, O) ~
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# w( f6 n1 n& [& |2 \
{( X+ i. o: o' a
DWORD nId;
/ {! X8 z0 z/ ?+ e! _: U' c int nPart;
6 W. V( e2 f7 w7 e$ ^
) y- ^& g% K1 @+ R0 p& s ar >> nId;8 T! l2 ]/ _/ ^$ b6 P b
ar >> nPart; 7 ]& U' H3 R( Z' [% b/ B6 e
& E. n% O8 e* t2 |0 m3 n1 n4 ? if( nPart >= MAX_HUMAN_PARTS )
, Y. q3 f7 b" |1 ` return;
/ y& E+ D$ a! u. Y6 t% O2 V; h) o# K$ s$ X# `: h
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' y( S8 s2 J5 C7 ]; F: B
) I! [" x1 W( H8 Z: D; ~% F- }4 J* t/ \5 x9 R
Code:
6 C+ }% C+ A. k0 O#ifdef __QUGET_SWAP_FIX1 J @' `4 O# n2 ?" V, {/ G+ j/ a. b
: V- `. ~7 J2 g3 X4 \ if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
& R- u0 R- Z. j4 @" [" e$ B, B& [8 P pUser->SetHitPoint( pUser->GetMaxHitPoint());0 h& ]2 K2 ?/ q z6 w+ @: p
6 j% i0 }, v4 P8 y8 U; D8 ^
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
. b E; ?* V& L! d( a pUser->SetManaPoint( pUser->GetMaxManaPoint() );4 U7 m N3 C$ h- Q8 l- J) ?
$ X& i+ k- N3 h' [: X
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ), I$ t9 Y9 @ L
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) H3 j7 o4 C8 ~) n, P
% l# J. o2 O# {$ @! b P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 P5 G' l" a# wand add under2 y+ e# b" ^% ]! _! n3 p
% H! i8 T' @2 H% h; I, ?2 ICode:5 `) w p" {, @6 C$ g) B' t& e
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )4 \' E; }. |# A
{- y: ~; L4 G3 ~: }) _$ ~
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 D1 y$ Q. ~5 {1 h* C& P }this
! W- R% }4 C" A3 x; _* Z! e; G2 s6 ^1 e0 \1 a
Code:3 M" Y3 Y1 o3 L+ O `& Z' h
#ifdef __QUGET_SWAP_FIX
# _4 M: D! c1 `# \0 g if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
, C6 r5 d9 K+ D& ~2 {4 w" W+ ` pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 G8 q5 ]& H- S! \6 R. x
0 W' ]* b. X: h2 m+ ` if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
4 p2 w0 X' b$ ^" f$ l4 _- K% h' j pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ e1 m2 T" W3 a6 W. N, b
0 x$ n# C1 A0 c t) I* V if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
3 S+ ~% K8 Q4 r$ T8 h8 \ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
+ g2 z4 a! m% Z& M6 H% k# ~
) R/ E& |6 a( s8 I7 x+ }( p' j# N( @#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 E* V0 u |# _9 c+ {" m/ A
, e$ Z' N6 j; F2 t. ^+ f
) w; D# Z+ O( i3 Z |
|