|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
. k1 T; ^0 H% v: t9 pI posted this because someone kinda posted a youtube thingy about it :O./ B3 Z4 ^0 d, ^
6 n( O$ }+ I# t. M4 }/ XFind this in DPSrv.cpp @ worldserver3 c4 Q) n4 j2 L; D) f: D6 Q
/ h9 f9 F& b0 u* s' L" o
Code:2 d1 ]' k8 Q2 }8 D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 @# k0 n' ?; P7 A
{
4 X* B2 J/ A+ _ DWORD nId;
* d, a$ ]4 E x6 o6 C+ Q/ X int nPart;
4 |" ?; U3 Y) Y; o g4 N" U7 `5 I, p( q
ar >> nId;" l: a9 u( |6 m
ar >> nPart; ; ~% z' |: B7 ]4 k J
7 @1 G' k* c* W' Z( f if( nPart >= MAX_HUMAN_PARTS )
* T9 V" V% o) k8 Y$ j0 K6 i return;3 s7 O9 K: t. H
1 x% a0 c% \7 K6 W0 C CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* B7 p) j+ T: G' {( d; |0 o3 Z
2 l; [$ j( h: }2 j5 E C, i
8 A& M* }$ r s6 eCode:
# {- E" O9 `+ d- G4 T$ I: d#ifdef __QUGET_SWAP_FIX
7 z/ G9 |5 M3 T5 K0 j
% I, V! f; Y! v- q) Q2 p if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
# S; A2 B$ x+ v7 R7 \% j3 q# e( o5 V7 J pUser->SetHitPoint( pUser->GetMaxHitPoint());- s9 o3 l- F! }2 y V
2 v/ p" k- T2 f) H
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )$ R# V r0 c. o3 m Q- g U5 C
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' t& F% [8 F w1 }) p4 q1 E* i# b' X) H% _% g$ F
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ); _' c8 K- i! g5 \6 r
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
- ?1 _+ }% T8 d/ t1 ^8 G& j+ O w) [2 d/ H. u# d! a$ N( b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, V5 z _" G) E5 T7 j8 @; Vand add under
+ {1 b5 K$ J7 S& r0 P5 o' {$ j1 n( u$ s; O$ L) C: ^* `: a7 [
Code:
+ j1 E" [* N) u% J4 @. Wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): d& q' v! r( e6 N# Q4 H; q6 V
{
3 D, i, D7 F" ^ 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 );
1 a9 H! q* o% p A }this
p' C" p) v" `7 Z+ V+ q, |1 t$ x, M; d, x% }
Code: D4 h" ~. Z6 ~, s5 ?/ J3 I+ B
#ifdef __QUGET_SWAP_FIX6 w0 o( C- a; P1 G
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )" C4 r6 D0 s$ q5 h* g
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 E1 H/ j. n `' M3 E! t3 v0 l% {4 }% p! M
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() ): m5 e. Y7 p- o
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ }! F+ d: y+ n: s; e O i5 z9 e ]# c: p1 u5 f( |1 N
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
: K" R8 W# D7 s# } pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& M: N( g2 ?# m* q3 ^2 o1 C( F0 S( M2 o, M' j) C* C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " c/ ?; L# G9 H
' p$ f# K1 @' ]6 Z2 }- B0 r. A5 A0 K* y; E, \6 Y- }
|
|