|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
6 o5 p; G+ ^. W1 |' N" LI posted this because someone kinda posted a youtube thingy about it :O.
6 A q/ }; d+ I" p/ N
7 |- _ I$ C3 g P5 D# rFind this in DPSrv.cpp @ worldserver
, I, R8 F" s9 \% x6 G% T: x6 Q& u; M) X7 N2 [& k6 q/ q* T: L2 y. i
Code:3 u) N. M# }' c( D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 w, I% d r0 x4 C/ b( C4 Y1 f" z( F{: x) s: }0 F: g% R4 c n* {4 X( [& k" {
DWORD nId;
2 S5 l5 @( P" t: q int nPart;7 u- m% H; d% ]( v/ x# e) c8 e4 W) q
5 K/ }( z' f& L0 K7 w) K
ar >> nId;
/ w3 X* \" T" ] ar >> nPart;
3 n- M5 c1 K+ h* _6 ~' g 7 x% U& M. c5 z- ]9 F: I$ z6 m
if( nPart >= MAX_HUMAN_PARTS )
8 c- k+ {9 S2 Z1 g+ d: b5 O return;
- w1 I* i! ]! e% e/ \6 {$ v, x% W6 t. k" n; x) s4 H4 k
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it9 _- a3 P. ?$ _' {; l3 c+ j, ?
" d6 k/ W" w5 d& a; R& ~
) t3 M0 w8 v' X$ O! e- H/ mCode:' N6 e* E9 z: d2 r% X, g5 o4 M
#ifdef __QUGET_SWAP_FIX% ^' q6 \& h2 Z0 H
2 p5 ^3 k. S5 a, o1 W2 h+ o; x1 p if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
6 [7 L( l, E- S; e, a8 E pUser->SetHitPoint( pUser->GetMaxHitPoint());
" j+ \: [" D8 Q9 s3 A6 I- |; ^, @8 j C
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )* x3 J+ ~7 h$ I- }- H. x. W
pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 T5 h& S1 r7 a. { _) B$ W, b
: x" ]: `/ K9 i. P, @; [8 g7 x if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )8 [2 ]2 g* l3 P6 m1 j! H9 M3 W
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: t. d' O, {# N4 ]6 M) P
0 ]" i% |4 E" r8 ~% \+ \#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; q! h2 @( P/ k! Iand add under
( B8 T' W0 ]4 _0 D. [* k ^+ ^: r$ h$ c5 G2 {
Code:" }- |! i! ^ Y' I9 p5 K
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): V% A/ D; v" Y0 ~
{& X0 t* E9 j7 `5 j" l
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 ); [- O2 t8 V, _8 x
}this% Y0 |) X. @5 ~8 @- Z2 Y
" q Y1 U* [8 J% @7 f
Code:, @4 i1 a4 F& o. N0 I% N. n6 l# H2 X) f
#ifdef __QUGET_SWAP_FIX
, n [7 g1 @% F8 Y! L if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 U: \6 e- T i4 {
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());% y2 n7 J E5 @/ F v5 m! d
. z4 L" D, l, v
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )- c S6 C8 I7 t( E& ` u- i
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
2 | h" j" L+ T: d* L2 \/ s% E6 n- K8 j/ z+ g! O
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
) l+ t z2 m$ ?9 X0 g1 ?; `: v pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );3 p( o8 I5 }# Z9 U- i6 a, L
: p2 T" v& ^- z4 a#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
3 m- a: k6 y, K" f H& _
6 Z; _: t: B7 v' P2 X' l* s$ d3 r+ j- n- f- d- F+ A2 H
|
|