|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 8 F4 m, G) z7 f
I posted this because someone kinda posted a youtube thingy about it :O.
! M) v7 ~5 d: `& h t+ E1 W5 u: d' g8 g; q1 _( ]0 K
Find this in DPSrv.cpp @ worldserver" F/ N' m( A7 b* K7 w; v! f% n7 }
2 I2 @8 c9 o2 Q& e7 B
Code:
! }: B3 {- q. B7 i& J' @9 F0 {void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& m+ c2 Q3 o5 O$ C& x2 l' b
{
3 z+ r; B$ R4 V( q DWORD nId;* r5 K$ f6 T, h4 M( l
int nPart;
+ a6 v& C; `+ a% F$ ~0 ^$ j1 x1 v! |5 G& j
ar >> nId;
1 F( t5 N3 b/ \, g ar >> nPart; ) ? d% Y+ h: T( X. f
5 ]3 J8 M. |6 i if( nPart >= MAX_HUMAN_PARTS ) 3 `4 W7 L& |4 g' c! X" t0 y3 O
return;0 U$ u3 k: {- I9 L" W
7 h" v) X8 E8 J! w+ c) U8 w' B) b6 Y+ U* r! ? CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it' d T0 Q# Y$ d
! e! n) D& W3 e! U0 |; A) h2 w6 ? ^
Code:( R1 l7 K$ G4 p! V
#ifdef __QUGET_SWAP_FIX: A5 x6 X( o5 }9 c5 G
* Y0 F$ B* z- s7 }( G! @& O6 J V; Y if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
% C2 O; g$ L* e" d3 t. H pUser->SetHitPoint( pUser->GetMaxHitPoint());
) K& Q1 M3 k3 e. i4 y/ r1 w7 |: Z7 R! d- W0 ^# g
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
6 t$ u7 L7 s5 ^; o$ ^5 { pUser->SetManaPoint( pUser->GetMaxManaPoint() );
; a4 L f5 A& B# i0 }2 H7 q- V0 v |" _+ @' B' K+ l
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
: I* m6 u7 r L/ O5 r, \ pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 M) r. X, W9 v1 W0 ]" \# g. S. W( W& w+ y! T u9 P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; h2 z$ A( [4 i* Z3 i$ ~) i1 gand add under& m8 P9 c* ~; o& |
& L- O$ V' ^2 ?: r) G+ |
Code:
% {( L; @4 {' R' pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )' C! l- O v. d' m- D
{. Y+ L' B9 R1 A" H
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 );
! q8 L6 b2 n% z }this
- Z" U0 T; ^/ {1 |* j7 X/ _* h7 S3 `7 A( l6 A
Code:
1 y, ]9 m# S1 @+ l2 T! a#ifdef __QUGET_SWAP_FIX
, G2 ~$ @9 W; }8 s! B if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )5 A) Z8 V/ ^9 i( ]
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
' Z9 V0 t6 [" E* T
# t/ A) Q2 s; g if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )# e8 h7 h, R' F7 v r
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- t8 g0 E4 b0 `
+ R5 r* X& n3 c2 ?& e if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
8 b2 e- r( ]2 F6 D4 b pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 M2 l: m4 _* [ b
/ {( R( b- H* \ L$ E#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
( G. `. G7 ~) h/ D& I+ ]/ D0 L2 z' c/ w3 _% R. N
g, B8 y9 L T, F% H0 j
|
|