|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
$ M+ H8 j8 u4 {8 BI posted this because someone kinda posted a youtube thingy about it :O.) Q' Y. f' r) d: H$ D
) X! }# ]7 l- I( d8 AFind this in DPSrv.cpp @ worldserver4 Q; m' ?$ K, S4 s& x3 T$ ~
3 L7 l* V1 F" j2 Y0 D5 A
Code:
[4 N6 u3 V# v; {- xvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )+ i- b* s4 \/ s! i: O% q
{* ]- F, y m$ Q4 {$ K
DWORD nId;
" T2 M# w& c$ p1 r% \ int nPart;, V2 B9 d+ E9 _, H; t2 h7 `( |- `+ v9 N
" f) I* D. N' B7 H! n
ar >> nId;* F% ?' X8 S3 Y3 s! j* {3 f3 ]
ar >> nPart;
1 O! m( y J/ E9 H
9 \9 C5 ?4 ]$ a' x! i+ F+ S) T if( nPart >= MAX_HUMAN_PARTS ) - `/ L" L7 f7 U2 A8 f \# E, z5 y
return;$ k# u+ D) m5 k, ~2 S9 G
+ d4 [3 t+ I; u
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" t! F4 V- Y; Q' O
. e( H. t9 G& O- W4 q
% z: e9 n/ B. m+ g: p. P, G
Code:* _6 M! c! W# P0 G: g3 c
#ifdef __QUGET_SWAP_FIX' _# @- H; f6 T+ L
$ D& p1 Q$ p+ z* X5 J7 d if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
6 t# c0 T) }; ?" x pUser->SetHitPoint( pUser->GetMaxHitPoint());
- W/ {( O: g: s1 t& i9 {5 H1 V0 E i+ z
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ): F* v/ r% }, W( u/ `) g
pUser->SetManaPoint( pUser->GetMaxManaPoint() ); x1 ^% T; n( m1 q/ ]
& `8 j+ h6 ?* ^! I if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )0 I% v. {; y( E/ Y
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 y6 d) @/ H0 m; U4 Z7 f! R! i+ I2 [0 v; P' _
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, U1 r/ A) N3 E( W0 m U- kand add under/ j! |' x7 e9 q+ D& z+ l
# p; f y8 k5 G8 T+ z% b1 t, A& }9 c$ LCode:0 f# u2 }3 a- G$ @% P6 K
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
- o9 F/ k$ U& a9 E4 F; O( k {
2 S* N9 U* [$ n3 l7 S0 D. L' m 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 );
, m3 }' m* G, n9 h2 Z }this
2 |% q4 R5 t4 h2 ], a% `( @' z. g$ V( ^ x
Code:
: {5 N& ?% o# x#ifdef __QUGET_SWAP_FIX
7 W7 {2 A w* T; a) Y if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )0 E* A6 P l( e/ x
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: |. B. r# H3 E/ Z/ j/ p: J, n4 l& p
0 ]* J `) e, ~8 T4 h" T- o' H if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )4 d4 g3 V {5 z& ~( K6 c
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );! |: X: x+ }5 d& |9 r2 ~
' k2 e0 K4 j$ v* `8 Y' ~( Z* Z
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
! o' H: p# A4 A3 H! S pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
' F/ ^. b: j: R- {3 G4 O, ~8 J: |) O3 o/ n, \0 A
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: t1 K4 W3 e+ d4 B- b
3 {$ H s: |4 U1 f) \7 D$ h' t/ q2 k$ H4 ^: Z1 S* F6 A
|
|