|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
; z" x6 i9 a" h2 z! Y" BI posted this because someone kinda posted a youtube thingy about it :O.
0 _8 a7 F( @( T
% o4 C# }0 n" @! oFind this in DPSrv.cpp @ worldserver! V8 V* |0 z; J9 Y& T
: C! G; T+ }- Q' |; t, y2 c
Code:
. c5 m# @% D) Q0 p% s0 B3 ~void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
3 P/ E- u5 \% k+ J! m1 s/ s. k{
6 y7 p" j4 I9 Z- M( |* r F$ X8 F DWORD nId;
& I* f$ A+ }. P8 r% j+ w# Q" W int nPart;
' J& O' `3 K5 E* [; K, K& x2 r: K' Z8 ?" w3 c; A6 @: `8 f3 n
ar >> nId;
( H6 H1 L; d( ? ar >> nPart;
% e# }+ {& N n! p" {
`9 L$ h2 x a& H. t/ w# x if( nPart >= MAX_HUMAN_PARTS )
% W6 N1 ], P" B$ c$ ? return;- P2 w1 T+ `& G5 M- a
' I& E& ]2 `9 W+ p3 u
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 ?0 _( ~% V, l; T: Y4 t
9 j0 R7 y( }$ `0 R, _- o j$ L6 Z& Y; r& J, [
Code:
8 O" t5 F3 Q3 ~1 d: C0 N& X1 v) A' ]#ifdef __QUGET_SWAP_FIX
6 `% k* T+ b& M2 @. X# T) h/ |! A5 w
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
! L6 q& l; \3 K- A pUser->SetHitPoint( pUser->GetMaxHitPoint());
; b3 c% @. l. | I Z& z$ j4 k' k5 y: v0 ?7 k* T$ P3 S
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
: [8 U! W+ G% h pUser->SetManaPoint( pUser->GetMaxManaPoint() );
: K0 Y4 p3 D! I; }' H7 v; f. ]% U
& h% P3 E5 I- X; T1 h3 j8 o if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
6 V" o9 m9 o9 p) i4 | pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
p2 O& l- s0 I h. a# c$ ^6 ]
1 v- @ `0 ]2 ~, X& Q3 p' H0 T9 }#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
$ [- j# P2 Y8 y- ?0 \4 i. @and add under
6 n7 L$ c9 D a. t8 @9 N' r4 S% O; @
Code:( d- S8 I* ?5 b4 N7 S
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
, a& H% t3 o$ M {
* p$ \# _* J. l7 a" I 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 );
/ T0 t E; v( B s9 q0 M }this/ V# A( S- L6 |0 W2 J- |
" q( s- c: }6 m& S3 r
Code:
; ]# w6 `6 o* Q7 h9 j#ifdef __QUGET_SWAP_FIX
% e D- O6 ? {7 i if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )6 t q# F; ^; U' |! ^, d
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ Q3 ]9 J* ~. u+ S
$ Y) a; M+ I* d
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )3 x5 s! j# X- \# U# x+ E4 S- j
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );+ M7 H, X/ g$ K% x$ I
4 h; @+ g+ t6 ^/ V7 W, ? if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )% O5 a( X8 {1 E8 s
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );+ n1 g/ |! H; ~ J! _' O4 O N
0 p& l, q: M: X# }, {( I! _: v#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ W# s0 y9 u9 E6 d& H# y) q
) N6 h. ^3 D' k
3 s, _' B; E4 H& } |
|