|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
; [' ?; K0 [( M& }I posted this because someone kinda posted a youtube thingy about it :O.
, m# T' k, n, s6 ]/ M* F0 P* R
; X. L- i" U; p6 R7 c% z4 tFind this in DPSrv.cpp @ worldserver% L* G' h. v; O% w' s8 ]
7 @. `0 h9 C2 |1 FCode:& Z1 P5 |% `+ z9 |5 J
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: C: e% n" h' j! c$ [' Z{/ N" M0 u; i# c
DWORD nId;$ O% {( E Z# B! _3 z
int nPart;
. I( X, j! s' o5 B7 b
i h' h8 e* ?! \0 n- ^+ }9 p ar >> nId;
. f7 c6 @' `! @& T$ ~- L ar >> nPart; 9 ]7 E0 h/ T' |# O" G& ]. z
6 k( \( q3 h0 j# u5 ?) {' z8 c if( nPart >= MAX_HUMAN_PARTS ) - v% R4 i- j1 @& [: w
return;' E+ A7 i& R# h; I5 v, y& b; c9 L
; D; q0 L5 l. y- G
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
& \1 g6 X" |0 X5 f; t
& b5 k& x/ \& J& u; y0 k" F
+ B% l( {- J- e: B' F: bCode:
. T) M* B" w" f: j#ifdef __QUGET_SWAP_FIX' U7 w2 M4 e3 [' v% W, a& l8 P
) j1 v/ [9 S7 h! {- {+ B
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
8 y2 e9 O! u0 z pUser->SetHitPoint( pUser->GetMaxHitPoint());
- z4 j" n& p+ Z+ a1 Y( G8 k# d2 H( A# l5 U3 T+ s
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
& E7 j7 t2 a7 ?7 U' i x pUser->SetManaPoint( pUser->GetMaxManaPoint() );! {# }/ Q8 |* L& h& X8 E- F/ |
* Q: B" }4 ]0 {/ a6 R* u* Q
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
& I( }. q3 x- E( g4 x- c, Z pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ y- }: I+ Q+ q* d* j7 z5 r0 D A
" S, q# v5 d" b* E
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
- r3 l* Q0 U" {0 y8 t! Y$ G2 M, Sand add under" O9 N5 E) S% h* t" `
: \3 s0 _2 Y: D" q3 M4 TCode:
& N; _1 b6 e/ I# D% F$ wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )9 ?! L9 W8 f0 S% ~4 a
{
1 a/ G M3 _+ } 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 );
8 q7 k! v/ V( M }this
8 `) S f, M9 {( [
, o) u, m9 t+ Y, `+ V/ @Code:; f: q. p4 Q0 A6 A. p* ^8 y
#ifdef __QUGET_SWAP_FIX
9 S1 z, [% Z) g) I$ K# P! H if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
% c* ~) a* A* C! N pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 Y7 Q; R$ y* U4 Q$ L
) y+ b. {6 G1 h1 Q if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )0 _; E5 R2 h5 [7 h. U1 E
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
* N' `# M0 u" U- Q
8 n9 s( U0 i" X4 [0 ]; @$ p+ V if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )3 r3 I% J3 h# f# a( ]: }& |; m
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' X. ~ s7 J0 N% T$ }
# i. x9 P" T6 H. O#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 f) a. E- ^. X8 V
4 A8 j' H ]& v
& y9 ~( {/ f/ u% a# G |
|