|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked : l' E) a( p7 m7 v( w7 z
I posted this because someone kinda posted a youtube thingy about it :O.6 F" j# O' v2 H% m# }$ T2 ]
: d- P( N; |+ }9 L0 L! a& a; qFind this in DPSrv.cpp @ worldserver& \2 R) W6 }+ D3 H5 H9 @
' g1 ?8 | I% B+ ?Code:
- H' C8 @ t, C0 Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! g) P+ z4 x8 f6 ^& U
{
+ d8 o% C( ~% X" A" z DWORD nId;
( l8 v/ Y$ b" `. w; N int nPart;
1 J5 g- V' l7 F1 K: T3 v0 W2 {
; I+ y2 Y/ }& W5 D# {, D+ U ar >> nId;
7 i7 d8 j8 i1 G; L, S/ s0 n2 F6 z ar >> nPart; 7 B0 i, d" A0 D
/ z4 I0 {, a- A5 T5 C& o9 B0 G if( nPart >= MAX_HUMAN_PARTS ) ) E, o" m2 n$ W& L
return;
2 l& C3 ^% q' ^6 o9 x- F
, c. o" t/ G2 q8 t CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it3 T! j. K5 A' y; O$ y
$ r- @& \7 b6 I3 Q* S7 ^& H
/ h0 c, t7 i7 p0 R4 B% `* WCode:
' H' _; |& j6 U. R% n#ifdef __QUGET_SWAP_FIX
8 I3 R$ e- `- v) y" w4 I: S' A4 M
! m0 t* ?! _$ M' u9 l+ K3 U if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )4 [) v+ [: O0 ~; t( }3 N
pUser->SetHitPoint( pUser->GetMaxHitPoint());
( `) A# S$ ]$ K7 p
4 s H* t( m, z& P/ V$ I7 f if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )( A* z) W6 z2 `' m* @
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
+ Q2 H A5 P0 `5 q. M, b( {8 I+ s" j: i& S
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
: x. N, T1 I3 X! k/ H1 Z* Y) A pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 K$ F# \3 A6 v8 ^
5 q$ n7 v7 u Q) u1 b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 ~) \9 d, `7 y0 n& Cand add under5 P; t7 J/ r8 |
1 {7 {( l7 D* a/ s' S7 K
Code:
; d& l& e( d: w2 R9 }if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
- @( G1 l, j4 r! B8 H/ } {& p( p7 o) n) \9 s0 j
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 i( \' T1 l; u" H }this. @* ?3 R' V* |$ O2 D% @
# @# P8 u v( a$ \6 R. x* K
Code:! g6 \% C, p0 p$ N& i7 P$ B4 e
#ifdef __QUGET_SWAP_FIX7 o5 S8 c4 [7 o6 s% U5 ?! S) I
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )2 n( `) z2 m3 m2 T# F7 o) y) N
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
3 L) P7 K# o: a# B6 o7 e# ^4 U$ A, i! r7 A+ z
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
N0 V* j% q2 Z {( Q' R pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
7 `# ~, g6 I! k' Z' v3 P& x
& f5 ?# u$ f2 {* F' U if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ), @) w0 M/ B4 A; r: k* a
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 p! d& p X" [! K) k2 n# m0 i
2 f9 N/ @, Y. U" ~7 @% p ~3 S, z6 v#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
L6 J5 q/ m0 L3 u4 `* n( T0 s. @& o6 m: V- u; O2 G
+ w2 A7 v' \) S1 M |
|