|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ' ^8 G# _0 ~5 N ?6 V
I posted this because someone kinda posted a youtube thingy about it :O.
7 ?/ W+ o! @, l& M! f( y; h0 X% {5 P
Find this in DPSrv.cpp @ worldserver5 b, @8 @+ I0 }6 w
A& v# c o; X$ yCode:) b3 N& r5 g9 { p; G% [( R
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" Y1 j: O/ m4 s, U+ }5 F/ X{* l+ J; z1 K: ~5 s$ {6 T
DWORD nId;
# C9 w# ]0 b' A* r+ y# |3 d int nPart;
0 e* s' g3 ]* |- f9 s0 h5 q1 |5 V2 f8 H! ?* w6 j; j* b) f) R8 W
ar >> nId;
# g9 A2 J, Z8 `% ]2 \ ar >> nPart; + l) M1 E7 i2 b: t
! H. H. m8 }: b! A if( nPart >= MAX_HUMAN_PARTS )
1 h7 k+ _- R' A6 l9 a7 G, m) h5 G return;" G4 \' m; f9 {
. J5 h: d- p: w. k. q8 J CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' z) E+ P) ^3 Y" p
+ m- G6 f/ d+ p+ ?, j3 a
. Y* m$ f1 v/ t3 A. [3 uCode:. h- Q& s% [ @. E. E$ @& I2 O
#ifdef __QUGET_SWAP_FIX' P0 u$ H3 [ C5 Y+ ?7 t: I: f8 u
1 L% g- j' [9 Q* w: V3 { if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )& a6 m$ q: Q: Y8 m L+ l
pUser->SetHitPoint( pUser->GetMaxHitPoint());7 y5 v: ^1 A( i' }. v' U2 b
% W0 r! P" }6 Q2 b
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )" R) v2 E/ e5 {/ {, a3 D5 _, G
pUser->SetManaPoint( pUser->GetMaxManaPoint() );* L0 J$ b/ ?. T% U8 N3 a6 ?
: U1 t. P6 V" d0 T6 T if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )$ N/ n' H: T; q5 u# e
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 ~& e# |( F/ g) i6 d2 E
! X: p: D2 D4 D9 {5 O
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" R8 x6 v0 g; t/ q Q, wand add under: h' r6 p/ n/ Z7 u% g. l. ~
9 e) x I2 k7 ?$ y4 c9 l2 ECode:& q. y1 N5 ?$ ?( E1 W; R
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): {$ O9 ]; \; j
{
. e( W* I* O1 Q4 I: x8 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 );
3 K( {' @; R1 w. G7 Z }this
8 w, T8 L" |* o" R2 P! p6 u3 a' V6 X7 P* T4 \# d; t
Code:5 R1 g1 }6 j$ F% t
#ifdef __QUGET_SWAP_FIX
- \2 D6 R7 G5 g if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )) O8 P r! O$ ^
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 }: f' X. Q0 I: G5 T" C
! W" o+ k+ O( r+ p: D0 S, ]$ X if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )6 H8 R" l+ {& j K" e! d3 x. c* v
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );% F5 X$ C9 d1 g" @. _
4 z( \" g% ^3 s0 W# k5 ?
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )# [! i2 m* Z! L$ N2 A
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );; d4 ^( y, i! L$ x0 Q; ]
. {/ [" |$ m( w, e" Y: g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 l$ F' k2 M9 Z6 i& n
2 j2 b# V8 `! ^2 y& O( c$ Q. b! b- A( ]6 ?. x
|
|