|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 9 R& a2 s' U, c3 M; u( p/ o
I posted this because someone kinda posted a youtube thingy about it :O.& H7 ~$ k5 P W4 {, U1 x4 k
& V# g6 ^' R% x& X* ? d
Find this in DPSrv.cpp @ worldserver P9 m6 c7 U6 X/ _ C( v C
' N; r- w0 X7 ~4 N2 _4 hCode:
9 F# M. H5 Y/ E ~2 Gvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: J) j' g6 C9 P, ~# W! a3 g/ F{
) o7 f. f' r3 a# q DWORD nId;
& b/ a0 p3 T! i$ i9 ? int nPart;
2 U/ x* }9 t) E; }& k& T1 J" b
+ z4 v9 d! x% r L ar >> nId;
4 _: Z3 [, \8 f ar >> nPart; 1 _! A# n* p1 r" _
( P9 k% Z2 \ t: A! W0 m( S if( nPart >= MAX_HUMAN_PARTS ) & a8 r2 h ]/ U8 b
return;% g" `3 p% N# M0 Z. }* D G
% ?( S) q9 g5 Q, Z# U
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 L4 L: Q" L3 }- i1 z& ^# T0 k; H X$ p# C
% q o; w- c8 VCode:
$ _9 e& \ @! ]5 c' U) x9 H#ifdef __QUGET_SWAP_FIX
. X* h6 h# _0 H* x! a% i5 L6 n
' u, C0 ]6 ? d7 g, Y+ u# h if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )5 S# x/ w9 |* ^2 Q
pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 H- d# B U- {9 }9 s! | T
n- Z0 r% j' l* [! G0 |1 A) @7 V7 E if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ). @+ E9 m) D% m H
pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 K2 c% p' ^3 m' W
5 o( R3 A" \# d7 S3 r6 L6 `7 i" ~ if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
+ H5 {" @# b" z* z, g7 q pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: L: A5 P x+ h" l0 q0 |* \3 l
. o$ [6 |; ?- v4 f. H4 [
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) o# y! L2 f5 A: G* v
and add under- w: D7 m& _0 U; F
! m: a) b1 H- p. j' TCode:
3 q# R" o, m. O0 ^3 @: xif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ) j0 o- V7 R7 G: j3 A5 M( M1 D
{- d6 N5 {/ p# O1 c
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 );1 x) ?) C, e% q1 y' |9 A
}this; T) |" R+ t( Q9 v! z
( y8 T% A/ [& O* y8 ?
Code:
2 x2 v: Z: F7 S* C7 f0 F. @1 g% G#ifdef __QUGET_SWAP_FIX
0 _+ S; Q& O( v: h* u if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
9 B) z7 b0 q6 R( ` pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());2 k( ^2 n+ P9 K: H
# Q1 i: N3 B6 S
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
) o4 e# b7 C# _6 e. l* E, r pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ m9 B" N; m# f, m3 x
4 k7 \; y7 o/ Y! | if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )( z6 S, Q# Q& R; b. D# ]( D
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 o8 A3 g1 T* d
: E- H3 A }# Z0 O
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: \0 i, B/ u( v ~7 a' {
. r+ A, @) W# H/ }
7 E6 m( o" R. D# e |
|