飞飞世界论坛

标题: 修复交换错误 [打印本页]

作者: admin    时间: 2016-1-10 03:43
标题: 修复交换错误
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
! ]! J0 S, g6 Y; CI posted this because someone kinda posted a youtube thingy about it :O./ F$ E% a2 L- J7 k6 T5 i- o: F. c
8 R% a6 m% t: _4 |, D+ A
Find this in DPSrv.cpp @ worldserver8 H: c8 c3 K% O6 J

8 C# Z9 l3 c. B2 o' JCode:0 z7 K( M9 _8 Q9 ~
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )9 T3 b( G) F! L& W# v
{. J* C. B' ^7 V- t6 K
        DWORD nId;% E" b5 I4 W( \( r4 }
        int nPart;
4 x) M) T' H! [# ~2 Y- x( i" s: T. C4 q- b! T' Q& i% U
        ar >> nId;
& {/ `, K. E# f& k$ l2 x# R        ar >> nPart;                & K: m: V# A4 \1 ]# n( {+ @3 D
        : Q) Z7 x3 I6 d' |1 `9 D% {1 N0 S
        if( nPart >= MAX_HUMAN_PARTS )       
6 J0 }9 C4 N+ q* Z+ }                return;
" l5 Y- Q, v$ p/ V2 u! r
) t8 }# L2 N- O        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) n" W3 ]3 P, y
: `4 |8 T7 m" y
/ b8 W2 T& c$ x5 nCode:
4 k" C- b6 Q2 ]  D2 I#ifdef __QUGET_SWAP_FIX% s3 y/ ]+ w  P# z! `

# [6 o2 n( K7 F& j                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
  Q$ o7 Q& S, }$ f5 ~                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());7 l2 {4 \" H8 Q7 K  M

; R8 _2 S1 w* H5 @5 L                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )# `' E$ @. ~0 U1 m+ Z1 J
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );* p- I" c" S, M/ E$ [. Z
! u, {+ t' B/ W
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
8 N; D7 d  F6 }; x) o                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& g0 \" N- m3 [, g% K) E) r5 P$ Y
+ Q, V+ Y1 d( R# w+ O0 T) w#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
8 z, s$ l% z9 W1 T- ?8 tand add under
5 O( o$ y2 c8 s* H2 e" _
" [" H9 j6 M# u0 [5 iCode:
4 |% g/ N( V; c9 _, a. zif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 Z% _6 k) j5 O                        {
  k8 t# m- B; \: T3 }                                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 );" q! t, F; g# H1 g6 t! r6 l
                        }this2 r0 S$ Q: t- y8 V# }

1 S' u, m$ g7 F( }- S2 ]Code:& \7 C2 B* o# e( L$ O
#ifdef __QUGET_SWAP_FIX
9 X4 B- D7 R7 ]- Y1 R                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
2 w* m) c5 ]- S' a* U                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
0 p+ i  j4 d" c' t; H) Y# [' @; M/ s5 P' T
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
; \1 ~3 C% \; q$ l3 s' p5 a                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. V/ |! ]9 w* L- a
4 f4 ?) r. L/ U! k                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
2 C6 {8 `% N8 x5 f! r, M& n  @                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );* Y, z0 @; A' b8 K9 Y; }
: ]: |: |; O9 @5 s" {* ]9 x7 Q8 V
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
8 }- l5 p4 m2 V' q* b2 m" O+ g5 H8 q+ j0 g4 _: G, s$ X
1 X' J' r3 i4 R9 g6 E





欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2