|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 4 J% R4 K/ K4 W, i: t9 X- [
I posted this because someone kinda posted a youtube thingy about it :O.
9 o0 b$ l" p# V2 s0 I' U0 ^2 F3 [+ \( h; V/ C# X7 [
Find this in DPSrv.cpp @ worldserver
; p2 A2 f7 t1 V7 `: r
8 t2 U4 T6 _2 QCode:' r- I; \9 v a( f9 C& W
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# g" R# F. ], L0 u- U) c& ^
{, w% h9 D. O9 I3 P, Z
DWORD nId;. O* w+ \/ e; ]% A( F' Q
int nPart;
: R; d# n! g. q& J1 H. ~8 p8 L3 ]" j _$ b, [1 T" C
ar >> nId;9 n8 N" L0 k- ?7 C% P) s: u
ar >> nPart;
: N* o9 [% _- O. ~6 ^
1 d8 C6 _' F1 V4 z if( nPart >= MAX_HUMAN_PARTS )
( J4 p d6 t( A7 s return;7 i; B! N. }3 X4 @" A- t
% x6 j* i5 W5 m [" ^" {* b CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; ?& O5 b, ^- z! ]1 F* O* }( t t; b
7 e: ?( Y4 V, u$ t* [9 WCode:# y7 Q6 q: k+ j h, m- P# c
#ifdef __QUGET_SWAP_FIX0 }- |5 o+ _. J& x% {7 w3 {
7 @. B$ {8 U, c# I7 [; A2 K* v$ s if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
4 B1 _) B! g; n5 w pUser->SetHitPoint( pUser->GetMaxHitPoint());: q: s( k) W9 W' M* l5 |
. S, G+ h2 g/ z* [
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ). H6 ]7 G' U' _# p: S! [- ?8 d1 q
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 p* d1 S) R7 m) d6 d
1 ^- X% N: g: m+ ]7 s6 A5 F$ F if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )" D2 ?1 k+ T0 [7 v
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 V3 A l E2 g6 Q/ M: b; }9 u
- A5 t: N# A9 B7 J! v$ P* X: E#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% }, e4 `$ |( h) R
and add under
9 i" x# B7 {) u8 }( ^
" v0 V3 C, I8 b$ |* |Code:6 t+ ^ b8 m" H3 v
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 |5 A9 O/ ? T9 f- y
{. A* }" O) p+ F& a W" R: b+ G
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 );
! Z; `4 X* T+ [6 B8 Z$ Y }this& p, z. e2 i1 e
; u, v# [: @0 s1 jCode:
' `) f; }6 Y1 b' a/ y( q. |/ @#ifdef __QUGET_SWAP_FIX
; [. h! i2 @3 W if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
1 c; z% H0 X" d7 L pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());( y. l: i1 Y4 Z7 H
, s2 ]. d: s* I* C1 w/ R
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
7 r3 `8 r) f1 b2 T+ l pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- b- f) }5 `/ ]( X
6 @! V. G$ u, P, ?: Y* n; m; p0 m/ |
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
- l" p9 q: l( O* \$ t: r pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );* i& p8 I% e; S8 a4 ~
" Q% `# B9 [0 G2 h#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 e( z/ E' X6 {! a2 U Q% s, I4 W1 z- N' u7 U+ o+ m$ Z
& H- ?, l6 I4 | |
|