|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( \& [& N% i7 z, L
I posted this because someone kinda posted a youtube thingy about it :O.
1 p# K, C; |6 t" X3 @
+ n- R, ^% X, f, K, a+ p( ^) YFind this in DPSrv.cpp @ worldserver
5 Y* m) [8 a- d" h4 v/ j$ o a1 `, T7 G- D
Code:4 U' k7 A+ w- s/ [: h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# ]7 b7 }0 b4 W+ l( U3 H: J{6 Y+ d* l1 g8 a& ^! c
DWORD nId;
/ e- l# g2 i; Z3 F* G- u$ }! r int nPart;
& E- V S5 c+ R9 q$ N( a* k9 Z; L! ~
) S# i2 N+ s1 O( g8 E* j0 S8 V ar >> nId;' J3 @% c) t" ^, I
ar >> nPart;
0 r1 B: ]8 \& M7 B5 z" \2 @ / q7 j% Y2 q& C
if( nPart >= MAX_HUMAN_PARTS ) * z" {6 A2 y/ X7 m! F+ B6 j
return;
. w+ S# L+ S6 A0 \: f* X
' ^8 D; p& U" E CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 R. G. c- T/ }
3 i- ?" C. ?0 x7 e+ J
}% V; |! L* r$ pCode:! _' r3 \) ^# p1 y% d; k
#ifdef __QUGET_SWAP_FIX! Y! h- u, D* W" x7 {
F; \6 n. f0 M/ \- {9 j9 Y+ n
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )/ P/ Y* u1 |7 q. h& z. E, N2 `2 t& C
pUser->SetHitPoint( pUser->GetMaxHitPoint());- Z3 m' P* t" K, G/ A+ b; G
- {9 g* G. h3 A! H6 k if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
; P# Q5 R4 Z# A, e3 M3 [+ M pUser->SetManaPoint( pUser->GetMaxManaPoint() );
" X# p* S' Y1 ]0 G* e: ^' [- m8 b4 L2 _
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
% Q- F4 e; M0 M; W! k5 d$ c pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: p+ W8 X, ~2 g6 d2 Y" d+ Q
, X/ ]$ n6 j# b7 B3 G2 t/ e#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp. w2 G( r, U8 B( t
and add under
) J: ^/ i8 `, k$ L4 @1 s' L' ]1 }9 k, R. U" n) i$ G: g% M& P
Code:
: i( \* R# L0 h3 ^+ U. aif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 L0 D$ l* f1 R3 L {
3 w1 [ w) ]* J3 N5 @& B+ Y5 | 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 );
" g; x- r4 z: x }this
- Z+ L1 c2 h, @ Q% T. |0 Y
; ~: @: z1 p2 g* B4 t& h2 C3 X7 v6 cCode:
& x3 h4 E: z, [% [/ q, Z#ifdef __QUGET_SWAP_FIX
/ }; b4 f F1 | if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
" g0 t7 h7 Y! T9 L6 B pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( A6 b7 M; D( G) C: |. q
, v: w, o2 @# [+ q2 o$ f9 @ if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
, y4 Y/ b/ _( Z4 M% f6 s pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );0 l9 A9 J" w$ [; [5 _+ N2 E" P
5 D4 {1 O5 m2 l* J( v+ P
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
* V' A o8 \7 T" z" x# r pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );6 d; K/ r+ O0 |3 U
; F- Y' x) A/ J: i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
" d4 L9 {& r( n: l. _* v, A f7 k b% A/ T2 e! H$ w: F
/ r$ Q7 K6 O7 P
|
|