|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
" q9 P2 p( X2 G# v5 [( gI posted this because someone kinda posted a youtube thingy about it :O., S9 Z" s% Y$ r
$ ~! J6 V, y. X. C% VFind this in DPSrv.cpp @ worldserver
" F% P; v- R( C* E& Z) r5 x" ^; [& X, x* I" V B1 v) w% r+ w
Code:- s( L) q \0 C
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! u* f0 {; b% e{; e! y) f7 @; H& L0 v
DWORD nId;
- ]7 K Z* L w8 X. c! S8 h! X2 ^ int nPart;5 D9 Q5 s6 ]( U: P! O
0 _2 }: X/ \* a- \ ar >> nId;
, ~" r5 p9 Q5 ]% Y' f( Y, h ar >> nPart; 2 O1 \$ d! d- F& D# _
, {& ~1 d( N a# B P, q5 |; M if( nPart >= MAX_HUMAN_PARTS ) ; D& K5 y5 c- F' M
return;! U$ m: m/ q$ t% K
4 V4 c( y" R$ d% B# M CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
: V3 s6 }7 Z5 N+ w7 X
8 m0 D7 \; \/ y7 ^. M, p0 d
) G1 Z0 z* J! Y) e! X" a. S, ~6 ZCode:
5 G1 p1 d! J! Y9 ?: I- k, o#ifdef __QUGET_SWAP_FIX
/ h# R ], _. [6 w0 Y
, b w7 Q" m$ O# o- v9 g9 C. P if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )9 ^% I+ L( q# N% Z; S; y
pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 ?6 o' b4 z7 @ A9 {- R9 B# g
7 q* H* f/ e* G. C if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
l4 @& ~4 b1 F( ?6 i pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- R" R8 M/ }9 d3 D: c9 _* D9 m8 `1 {, i7 C3 c
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() ): g U" K% s/ x% K- m
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 z$ N. Y( H- U- T2 N9 [# M
1 d$ C( w* x1 ?2 E#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) \5 J5 Z3 B5 I- [5 L6 ?
and add under
/ w0 L7 h1 I+ z1 K& e& A$ C" k. i* x* m$ w6 c
Code:
( y( I1 S- W9 jif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )- B: _" X0 N5 m5 u% d
{
0 a- g- l/ h9 x$ B0 k; m: | d: B 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 );: @2 k0 u( n( {% Q) B" {/ q
}this1 \2 {3 H2 T9 V% U) L `
: y6 m: S+ O' h& J
Code:: T% |) N. X9 Y7 d
#ifdef __QUGET_SWAP_FIX$ O. J( ]# l6 [: Y
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
9 W6 [' T: z4 c# }& n pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% e, T! t5 b0 }$ n/ \4 r. L! O# g
: X4 e# h. ?3 n! s# t9 L. R if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
0 O5 p2 p a7 m& F6 g4 i0 G9 T pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. I F: [% [* P" `0 I: z, ^9 v, q2 b& n& |
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
8 I1 h) Q/ Q5 I/ r6 @ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' W7 U6 L/ N1 L, s/ e; U1 E X& y
( [8 n& a. ^, u+ E) m#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* ~4 h3 K7 G0 z4 M* Y# _5 M6 h7 K8 U6 S! D
# ~' `9 y/ W$ ?0 a. r
|
|