|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
# {9 f5 E) Z/ kI posted this because someone kinda posted a youtube thingy about it :O.
0 Z+ e5 k& u$ i% } a, O
! U' J d9 W. M6 G+ e) ZFind this in DPSrv.cpp @ worldserver
! S% _& |. F3 v+ L# [1 S
0 z$ n- _0 E+ M$ [) VCode:
3 T$ W2 h; R2 _# A5 p9 pvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& E" @# j F: t# ~2 z! K. {
{3 x. Z) [1 N/ S# V3 A/ n
DWORD nId;
1 K' c! _$ [& U% e5 I' L/ I int nPart;
. Z$ w( q8 S& N9 ^% X- d7 P
" B# b8 a) N' ~$ y ar >> nId;
6 w: g- ]2 v3 F' z. ]+ g ar >> nPart; ! [9 l/ S2 _! x3 N/ l! M
2 d1 @" J ~$ z; f. T4 `0 p
if( nPart >= MAX_HUMAN_PARTS )
K X( y, B' K, W3 \' D return;" a0 Y& m' y# ]
9 [ f' @2 b) k* C2 l5 h3 A CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it( S+ q/ [" x5 `4 c0 i: E; M
* U9 n' C# e: {1 F: l# S$ ]4 w
% ~' x$ ?; V7 @
Code:# R6 |4 T: g3 X# a. z. {+ x8 \
#ifdef __QUGET_SWAP_FIX
; _3 U' V& a* U% s2 T3 `4 ~% q* [# j7 K9 ]# j4 D! k
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
& ^* V9 C; V' `/ D2 k. ~* k pUser->SetHitPoint( pUser->GetMaxHitPoint());' ~. r' j z! L3 m5 C" _& L
7 A3 j/ z. i4 ^4 u if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )2 @. e* \* X0 q4 u# k5 D! W6 Z
pUser->SetManaPoint( pUser->GetMaxManaPoint() );( e$ j% H; Q+ ]; t; t: ]
8 c) E4 L1 `. N7 i; G+ h }* l" g
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
1 G( i- h3 l7 H pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, c- _! z9 h/ z. H% j- w8 _
9 c, f/ k2 k8 ^3 J2 k, ~, Q6 j3 T+ v#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 e7 {; j6 ]; P2 a) q. M' M6 B0 i
and add under7 n" J/ b! A9 _( A2 c! C6 I
: {+ ?( V* x0 |1 ~ UCode:
& Q3 ~$ ~8 f% A) W3 rif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% ^+ Y! J2 s# ~6 G
{
. I8 R' \ ^0 ^ 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 );
" u3 {1 e& v" M6 h/ U }this: R& C& X7 q- B) k2 [
" i) p( F& Y. ?& R* ~0 Z
Code:
) y4 h7 G& O* }% c9 I- F- C#ifdef __QUGET_SWAP_FIX* j$ z1 W! O# b
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
8 h, |+ u( G5 Y. V v* `& _) m pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% A* B3 I! p& }6 ?8 z, |$ Y- ~0 b
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )! J) |* e/ [8 q
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );& p( s8 p. i3 e Z0 `8 T" r3 J
3 A3 L1 R$ j+ r if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )( \! B% Q* i$ l
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );$ b k( b7 F9 F7 Y9 a$ B
; ]$ r. ?8 d* M+ U+ G- ?5 Q+ ]#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 ?- Y* ~) U. c+ X/ u. W. ?! l
/ z& M- i& u# E+ C( U: t$ ?7 v5 j0 G3 a
|
|