飞飞世界论坛

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

作者: 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
' j  Q" q  F3 G& i0 o; |I posted this because someone kinda posted a youtube thingy about it :O.( Q/ A" u, R) F3 s

: Q. S' b8 T; H: |( B! MFind this in DPSrv.cpp @ worldserver6 P$ F% E2 X* b) J: ^8 Q$ T8 p
; F) @+ H3 u; a1 n  z1 C( X
Code:& V# @3 Q2 o# i, S& q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )* L" k, {$ k+ a# O
{# ?4 P4 ^  _! n* U& ]7 U
        DWORD nId;
5 D/ ]; H0 D4 ]        int nPart;2 Z. @+ p' W5 ~9 \1 _: _/ T
8 v. F( [+ O/ u) O# y
        ar >> nId;% j5 o1 ~  k3 z
        ar >> nPart;               
9 R$ A. _* J7 }! u' y, j       
2 Z8 O7 ^1 }1 o0 n/ m$ i6 F0 x& o        if( nPart >= MAX_HUMAN_PARTS )       
! V) ?2 `' Q+ f6 I, G$ L. s$ {                return;2 @; \+ L5 t$ B: `% G* t% L

& d. V5 |( _' e0 j        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ r4 E2 q( c" T% z( N; q9 P: @/ X- v; W" X" K2 ?# r* b# \
. r5 M* ?2 s3 f7 }
Code:
/ e/ ]9 D4 O" k#ifdef __QUGET_SWAP_FIX4 a% m1 ^4 b4 l: y4 ]
, [, {; |1 R/ K( V# C2 v
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 t3 H. n0 s8 F& `! b* z
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) A( t3 ?: W- |5 n. Q

3 z& u  P( l) O! k  m' l& Q                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
4 m6 s! e( \. z6 e. i" y, n                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
( F$ p# C4 i, [, m) Z5 z1 e; N6 O6 Q  S9 k  {4 f
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 B6 W6 L( Y/ o( S$ b                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );- P5 P  h/ O' O

: T9 b% z: ^- N. R* g#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* B  I8 Y& W9 @5 eand add under$ u; ]+ _$ d2 Z8 M- W5 ~" }7 E

6 _5 k  L& `, y* L/ ^Code:
  c% z# k; k3 Q8 [8 n7 jif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
& g- h! l0 @* c& U% [                        {
+ y& o9 U' h8 m6 P: ~                                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 );
" z& _2 H, m6 a7 m- P4 o: w                        }this
" j' ~! P, g+ g4 B& k& x% m4 M6 P# `! f- V& a# p
Code:
. G) C6 j0 F1 w5 R% ~#ifdef __QUGET_SWAP_FIX
0 `& q( V4 E& V1 R1 J0 l( q. f                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )/ ?8 L) a) H1 D% L, j6 E6 v
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ @: F3 O) l- w  A2 D

. Z, C' u& z% k1 L) G1 I9 D% n                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 e7 J, S& s/ p- B6 |( Y8 {
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 E" z) B9 ^- o5 R
8 X1 Q. v9 {2 K3 R1 t) F7 G. `0 o                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
3 x& ]6 m* d. I1 i* Z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ m5 O' N4 G$ |
: \$ H3 [5 s: E3 U3 {
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
3 H3 m" U- v& |+ j: N# q6 T
: T: M( v# _% q, _, W7 B% i: G5 I& n9 D( P7 J. t3 C# L





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