飞飞世界论坛

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

作者: 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
$ o" Y$ s, W1 f, M4 i, V! pI posted this because someone kinda posted a youtube thingy about it :O.6 Z( W  W- P, U5 k! \+ o/ A

: b2 p6 w: w, q; T% pFind this in DPSrv.cpp @ worldserver8 N! I$ A( P/ w# P  |5 E% l
0 Y5 l! S% @5 n  J) j
Code:
8 N. u! m4 R# ~9 lvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 f+ o. Y- Q: n' a, P4 [5 L5 J& U
{7 E' [( k4 D: d
        DWORD nId;
. `" R6 @8 z$ H( K: J        int nPart;
0 ?+ \8 |1 u# {6 |" Z# K( K/ f1 z7 _2 C) a$ U9 L) {: ]3 C" Q  \: e1 K
        ar >> nId;
) g6 @8 E( g. b+ T# H- [) z2 Q& ]2 d6 p        ar >> nPart;               
4 ?$ O0 Y! ~$ ]! c/ c! i1 @        ( ?7 O; k9 W; x$ i& ]. Y
        if( nPart >= MAX_HUMAN_PARTS )       
) Y, @, C# d) \( H/ Q9 J* D2 S                return;
, F* t7 }+ O! k2 g1 u) Y0 C0 U% p7 I) k! g
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
  n- B0 d4 Q& \* ~, A- ?
+ e, ]" W  z1 n* U, v; d0 f6 X: K4 b4 B
Code:
5 u, Z/ U. h( t# n  l#ifdef __QUGET_SWAP_FIX- K$ r- u; y4 r9 G; e7 \# ^4 A8 Q9 o

# w$ Q: ?8 I/ q                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ); s5 r  ~$ f, {4 j, D+ ?
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" `7 ]% b3 R$ T, G' R7 u
; x& y7 E6 c* s+ S! ?4 m' F                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ), m1 a- n) X$ e: k
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
4 ?, s# B# o/ j4 R" c
9 k; j0 H  C% ]                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )) r* |2 ~: I: L" ?2 |
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  m4 Z" |# [1 s6 u* W
) b% L; N7 d4 f6 @#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) d7 s7 a* S7 @! Y' q& h6 qand add under+ M$ s. _+ I) p! k6 }9 f. S

% }) _6 {- @. u- h  k2 p9 MCode:
: W" _3 ^+ t7 C: kif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 C7 G* M6 h' |8 _/ Z) G                        {
! ?) Q8 c' ~. Y. h/ W* t1 V; \+ Q                                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 );
* W, |, {) n+ y* t& `" k                        }this! Y- ]0 l1 s8 T/ h

2 B) K+ r! @: A6 H, I1 V. A- [Code:8 a- I% G2 c* Q7 n8 D5 a
#ifdef __QUGET_SWAP_FIX0 T, Q. H3 P" O! z: Y- c
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )* Z) Z; g: J1 m- G) `: H7 E9 L
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* V: v* p( a( N) [5 A% ^. j( `8 V! l6 K# V, D! f
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )# n. [  r& `/ n
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 d! O/ ], ?, q* o7 [$ f9 ~% O2 i
0 B  w! E. K  X$ s2 b                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 @+ q5 K' M; ?                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" e+ S, q8 F; K5 s# h
, [% H+ S7 k4 @, W% l' C" _9 \
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
( r9 K+ s( w  z
) `! [6 B/ E6 c" {1 `/ ^  m# ?8 ~! O$ W- w6 i) n" n





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