飞飞世界论坛

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

作者: 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
$ f& K2 q' Q! a) J5 o1 CI posted this because someone kinda posted a youtube thingy about it :O.3 G! ?' Y) ]; c/ s, b! l& Z7 \
1 C( G8 i' q# o4 x7 h
Find this in DPSrv.cpp @ worldserver4 b, t+ V) N+ }2 S- j& a& \
" |4 T8 X- P; X9 ^- j. j# _7 K1 J
Code:3 l3 i6 W4 u. k5 c5 p9 s
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' y- r* y/ Q' O, a0 f" S
{# y9 I! [2 M4 k2 \9 L$ o) f7 w4 A
        DWORD nId;
. c) R& |5 C, X$ m        int nPart;
' w( V# c/ Z3 E# _8 a
$ C: v* G% l9 H' l        ar >> nId;
- s4 d7 u! \% l" \) b& t" s: C0 V        ar >> nPart;                6 t3 W; ^- s1 Y4 H, D' p) M3 `& Y5 J
       
9 j6 N7 Y  s4 Y% a* Y" @/ A4 r        if( nPart >= MAX_HUMAN_PARTS )        + r/ W' q' A1 |' {' C7 [
                return;
) q5 e1 f" u6 n+ h) A: X7 C
1 u; B8 R" u0 x/ C% U+ j( y% M        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ E- T! Q/ r8 {6 [" k) u
! @) Z) S: }( h$ l# C
9 S: x7 _  B9 [* D- f# GCode:
: p. h9 [: P1 r. x6 X% v#ifdef __QUGET_SWAP_FIX
2 u8 x% ]& S. k" ], |: l/ u$ S! B8 J- S& d# Z
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
* l9 s; k- z, `                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" t) ?! [6 |4 g, e

9 }: `& `; j/ o/ N                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
- a* Y* X; F+ F# X/ H1 s0 `/ f. Y9 o( c                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
4 l& m3 r2 x6 J# o3 p& G4 M6 }+ K7 ?
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )* S! n; Z/ j0 O
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 N8 V# |+ x& N1 \. z
* ?1 O# c. P; P; w
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp! w6 x2 C& s" @3 o" p
and add under
& W. m) {  v( K8 a+ t" E4 A
: W3 B2 N; x5 h( k6 B) RCode:5 s7 _3 n1 V$ f8 C9 _5 Z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )1 _( `0 d! G" i4 b# ^$ g: z
                        {5 t& }$ L+ U8 }# R7 r; t; 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 );+ h( `& ]0 h& ~* j/ t. c' e/ X1 _
                        }this0 R0 Y6 s5 x! k6 F! O! d. w

( f! Z9 t  s# O$ aCode:
8 v* ]8 `  x5 T( f7 F#ifdef __QUGET_SWAP_FIX1 w0 ?& U1 G* _7 Y
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  j0 s" X9 |' i, i2 D& z) s                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) ]& z3 c4 W. O" p' d6 D* }
$ c# V$ v+ U8 U- g* ?& h
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 n1 ^/ P" v& x3 |& ^+ E
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );1 a7 J: {! j4 a8 d, n7 ]
9 p' e8 P! r8 v6 k
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ), A% M# b2 h! h" O0 [5 I+ l# r
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
1 H) U1 d. G7 G0 x% |
: l# L$ K, m1 Y* J8 k. `8 g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver + e& s! F/ J7 E9 R$ j
% _6 o, R  }. _  D2 t5 W

& ?( N9 f/ s) [* g/ {1 U  j




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