|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
- Z$ D2 h7 J8 i# J R: v5 LI posted this because someone kinda posted a youtube thingy about it :O.4 h% \# P6 }4 j, E) E) ?
, V3 m& e- s4 r" Z6 ]0 o6 I& UFind this in DPSrv.cpp @ worldserver
i6 }' e! S% b3 b! N% ^. D7 r J& U$ w
Code:
0 ^& { F" G& Z$ dvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 c$ c4 j' a1 o t1 ?{8 R+ e4 F I0 ]
DWORD nId;# C2 [ g) H* ?9 @: m& D
int nPart;2 z+ N7 X. I L1 \
+ @5 o7 d! }4 A& ^: M$ V! T) J ar >> nId;7 L' }' J' J9 P7 U1 y8 E
ar >> nPart; , B4 k. R& {8 ~9 ]7 r7 d% ~0 R
) j3 ]4 z" f' @ l# N! H3 i if( nPart >= MAX_HUMAN_PARTS )
# |$ Y- s) P* j7 n; C& s. T return;$ e3 X% W5 g5 m7 Q4 d: G; a
3 ~% n( {# G9 Z! I CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it) p- c3 A; d. i8 u0 \- y5 W3 W
3 s2 w+ I2 x- k. H; U3 w5 L7 d: U4 Q; N9 _0 X
Code:
9 {7 c7 v, }4 Y) b8 o6 u+ e#ifdef __QUGET_SWAP_FIX
2 \, O* T/ v j. c% F. ~6 b$ p l2 R: V/ r+ B& g( }
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
2 {' I0 K. {+ N pUser->SetHitPoint( pUser->GetMaxHitPoint());3 ~2 C# i2 P8 _! s7 L
v- o7 m ?+ g- r1 x if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )% C+ F; V6 J* c) y0 }
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- U' i5 j) N4 r5 P/ x3 {7 e Y6 w; ~ z. U
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )- G, J9 r: {) [/ r
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
3 G" `, q+ }+ m! a2 ^( R" l: {. T Q0 O: O9 O$ i e
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% t# W9 Z4 {# H+ [7 m# E6 Z+ `% o
and add under4 \) \% W/ ~0 l/ S: q2 h9 c
$ b; N% M. t% ~9 jCode:
1 j9 P8 H6 r! x; g. Mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )# c/ L! B' \& \5 o6 l$ @
{
; Z) ?% m; A$ }0 E4 X5 b0 K 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 );
' k |7 k7 l( P }this
. [3 Q1 x! r4 W# g+ k5 ~0 @+ X* s) F2 U' n1 i- Y) X2 U
Code:
& T+ k: Z/ _9 \2 g& k) ~#ifdef __QUGET_SWAP_FIX% r4 {# |1 W1 _3 C5 M
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 e3 w2 t! J1 w3 C, a
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ r4 h$ K5 B* p4 n
1 X4 g" V. X5 `4 W1 L0 x) @
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
* P: |! ~5 S2 y6 U4 B9 n Z1 j pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' F1 r+ ~' d7 R
; L2 A |9 l f& p2 k" V if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
& i3 x$ }3 c; s5 Z pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' Q" ^; y& i$ Q% _5 a G7 V
) ~- ]" ^1 q/ G& k, v
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
% a! W/ V7 t; b9 `. ]' ] f! x; B* I
6 L) t' h& A& y7 u" I4 p2 l- }, k, V
|
|