|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
8 O( ^4 K1 M G# ^5 Q* vI posted this because someone kinda posted a youtube thingy about it :O.# F3 L6 ~# q2 t) v+ W, \& _. M D
* a( u& L& R& |( _% N1 w: S* C3 I2 b- BFind this in DPSrv.cpp @ worldserver' I4 a+ e6 m! {
, _- Z' [ v5 L7 G- O0 N6 k- M
Code:
4 A) f" a/ ~ ]& B- A7 M4 Dvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" Y N5 B2 A( l& ~6 e& C" M1 s{/ S6 e5 E8 ~; R9 b( c( x/ x
DWORD nId;
0 Y9 N% X+ @" G0 q; j+ {( z int nPart;0 K! x9 @6 h7 A( b8 b2 C/ D
& L* K' }5 P' Q6 F
ar >> nId;
8 S% j* N+ x+ K$ _+ i ar >> nPart;
- P( |" R1 u+ F ^ ; T# o, j, O" p5 P9 ?
if( nPart >= MAX_HUMAN_PARTS )
) @ D( P; w' A4 H0 Q/ l9 Q9 P return;
( x1 `& G( P d: v% Q; c
# g8 w- @3 Y, \ CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it/ \7 o2 a; q& f/ w7 m
Y4 B+ F' v, p: E6 L3 |
+ W, z( v! e2 V. o8 \( {Code:
: W' [0 {. i J. r0 f#ifdef __QUGET_SWAP_FIX
& R; r6 `' ~! D: w: Q+ k( f, C; C- C% O# m
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )& q+ d8 E1 x) @% L9 v+ M' f
pUser->SetHitPoint( pUser->GetMaxHitPoint()); B+ \4 k2 O- A. p, `% ` k
. h. {/ X5 G$ v; f$ x
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ), h0 i! ^2 V& A4 K& [0 N \
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
5 I1 \$ a5 K: R: C, ~9 T% k6 p$ r9 @/ o. `" a
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
1 J' h7 v( X( w0 ~. w4 G7 I pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' ^1 `2 G- h% m/ D a6 N" w7 z
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' P) }9 L+ a% j
and add under; i8 v% |6 L: L0 N5 {* G5 ]: C
% T8 X( a8 ]# y% M* q( `4 U8 PCode:) v7 E: |7 I9 @) Y& k8 b4 O t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 z) T7 h3 `# E0 w7 K
{
0 r' O" l; Z# J2 G$ V. a$ J, Z 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 );. @5 p! K( X) u! z9 J$ i; \
}this$ R6 v$ Q$ K/ V
8 x! r/ j1 T9 b8 _8 X, F2 i- `Code:- Z g+ s& U! Z# @0 ^
#ifdef __QUGET_SWAP_FIX
9 n9 I" b! n* B* t if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
5 a" H; R- n" h! C+ L pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, I' m4 ~& i- n* i* @- O3 g, B& V! N& M& C8 q7 D' f5 }5 @, j! y
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )* {% J2 q: N$ j
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );5 M. l$ c6 Q, U& H l( E, V4 `
+ y8 k+ ~) R8 U5 `4 L
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
; P) u8 t5 C" {; V5 P& G' [1 \ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! T/ g1 Y# A. p3 T
/ `! Q# f- n4 T- B5 P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . t; d8 ]$ W! ?
; r: V7 I4 a) T3 Z# ~0 O4 [* E# ~" k0 J `- ?) O) a! {
|
|