|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
6 `( S, N1 B* P% Z4 fI posted this because someone kinda posted a youtube thingy about it :O.' m+ z j3 v# c% X
1 g, k* }9 r: v4 Y" o! s) qFind this in DPSrv.cpp @ worldserver
2 x" f6 i8 y, E* M1 M8 k# G
0 H* p2 v9 [2 n8 o3 ?# f: fCode:9 R& {+ z: O) C. [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )4 J# M# T( t- Q$ i1 v
{
1 p2 B( X/ s1 S3 V' k, J6 x DWORD nId;4 L" Z" o# q: t" z% Y
int nPart;4 c6 g0 N+ n N6 V$ o: t
. P, x* [( I$ Y6 p0 M y ar >> nId;
J" _) I# }/ r' R. K ar >> nPart;
1 }# R, p4 o% K3 i- c
1 s+ h" k+ r- a5 m1 @2 K) S if( nPart >= MAX_HUMAN_PARTS ) ) {! Z; V2 l9 m/ X
return;
& I2 i9 M. m! k5 j
) M; G* U8 E: h2 Q CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" f. w6 {6 G: o; d% ~
- p: ^) Z5 A7 A" ~
9 W6 v3 L: y" x2 x9 m7 ~3 o3 ?
Code:* t- ~ l6 R+ P/ J0 e( u5 L
#ifdef __QUGET_SWAP_FIX
+ b9 f6 |% c2 t3 J# J7 H" q3 T* m: y# K' s* s' j0 i
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )4 f* ^/ ?3 j: ?" V6 L6 }/ }
pUser->SetHitPoint( pUser->GetMaxHitPoint());" ^& x2 v! T/ L- @0 W
3 ?1 a& H) b* T6 j. v1 g if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )3 o9 z. M' y* F6 q
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
% Z2 i' E; c3 o) U9 m2 C; `9 ~8 G. a/ \, a$ s( N) a
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )! K5 j4 B* A* _- z' b6 {/ C
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' ?% w$ C* k$ d, c* A& @6 a! q" E$ }& M& F2 }" [
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 l! A5 W0 W5 ^+ q
and add under5 l# M/ E$ x5 X. @, n% D* a$ A
# B* O5 v# f# Q& b8 ^4 X; MCode:
$ L% b- K. L& q! d- Q( j8 }" yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )# n9 o# X7 N2 l7 k: @% I" M
{
9 M/ A0 t9 J: e3 ? 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 );
: O; Z6 e" V( d: P4 R4 E1 C }this
3 P. e1 }& e9 ]5 B# C: M# G. N2 a) X9 C8 N _
Code:
4 e: _3 Z0 j5 y5 c#ifdef __QUGET_SWAP_FIX/ U7 q0 [# C& M
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )) _# ? `% m1 V& S* d
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
# Y y1 `- E( K4 A+ o1 Q$ ]
$ z$ v$ ]) Z, i+ A/ C7 ?& q W if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )3 V5 w5 R @5 a7 j: [ u
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 y& s& {# g2 V0 n) s
2 `# n0 D/ Q) S" W7 `$ K+ V0 {& ] if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
+ T4 V! R- b4 v) O: A6 Z) ` pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );( z1 \; j* A4 R" {0 {. I
! p n. m; J% G& W: N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 T. ^, G8 O1 \/ g; \( `: |9 y- b4 s- d6 B# D
- m+ y% N7 N3 U" r l% v
|
|