飞飞世界论坛

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

作者: 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 ) }& B5 v: Y" P( E4 @& C) d8 d. {
I posted this because someone kinda posted a youtube thingy about it :O.0 X) K$ ]# |: S/ j
, K+ g* @- N" k: h7 ]
Find this in DPSrv.cpp @ worldserver- p! g8 }% A6 a: P2 \
/ x  Z: Z& c: i
Code:2 |1 E( Z5 C  W, P, o5 Q- o
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 J% L* o' C" j" b( Q: A/ a
{
/ c- l- s8 i7 j' s2 o9 h1 h, ?' L! {  Y        DWORD nId;# P) S6 R- R8 O  f/ L
        int nPart;4 }' }" q7 n5 ?
" C( A8 B4 Z/ f( R# G9 g
        ar >> nId;
- z) o; ~* S7 t, k        ar >> nPart;                9 |$ D6 s; a( I/ a! E
       
' j# x5 A* I1 H+ F        if( nPart >= MAX_HUMAN_PARTS )        / k1 K* m: g2 t; x4 e% m
                return;: \' w6 t/ ~. b6 `+ u
6 p1 ]& Z. K# N! @
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it- n, f$ O, _# V& ^3 |" N8 K: S3 b

$ c! W- a; c( r( j
* b5 c& k  O: ]( U; D7 H5 _- i9 D, ?Code:
/ V) _3 G2 {, y+ a$ F$ e$ Q3 G#ifdef __QUGET_SWAP_FIX
/ y% ]4 `  t! ~) S$ N6 I$ g* ~5 @4 Q4 K$ j
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )1 j/ p$ }( ]: [8 |* }/ g1 O
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
& |8 Y: X7 b! ]; j& e% i# U( F
: h, A4 @2 J( x* {. Y                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )( M8 o; O, O+ I- n. u. b* v
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
3 ~6 w0 F2 ^, I& S: c% ?7 ~, d- m3 U! p; _# s, m$ }5 J
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )( a/ A! Y: d4 }# ]# J
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& I( H: z5 {3 W

+ }. i& h+ b/ i( ^4 ~2 W& ^) H+ _#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
# d6 {" f( P$ n' S# w( \" O" H. Jand add under
: h! z/ u( S9 S' O" H0 ^. n9 j) v: ?7 K1 M( V! \! n3 w7 u7 A  i. a
Code:$ O9 |; b  h* b6 ~1 a- q5 ^  ?
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
( R0 ^2 y1 n9 A5 D# H' l                        {; @" u. F4 A5 ?1 M0 Q* W2 a
                                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 );
. _# \7 R, t  M. W- ~                        }this4 W; \  Y" }  p

. w% K$ C0 A! O3 [9 K7 h1 p; ~& [# yCode:
3 e2 T3 Z4 ]7 T, t#ifdef __QUGET_SWAP_FIX. S- K, I0 o9 T# q- ~6 D) `
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
! r! f7 d3 [* B5 r8 e' m                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());' ?; {/ A0 P1 P
1 N( H9 W) K* v& S/ [
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
7 v3 O/ H' U% Y& B$ r                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );# o. |0 P) q  K: n  v% _5 |  \9 ^

, D7 G: Y' v+ H: Z# h6 h6 D1 @# s                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )! Z. o" d4 ]! q: H! y9 X: u
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, y  s- S6 F% ?8 G: k, b/ O/ @6 F3 f7 K/ u8 d
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 B3 f5 I  n) u+ Z1 H
+ k% M; t' i! u. A4 B

8 G6 z4 m1 x4 _: x




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