飞飞世界论坛

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

作者: 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 ) }: g8 \( \9 p  a1 k% [
I posted this because someone kinda posted a youtube thingy about it :O.
- E5 u# o; O. W( f) E! }& s# Y9 A  f2 U4 n" V& Q( c' \3 B
Find this in DPSrv.cpp @ worldserver
0 ]* l7 _3 ^8 O1 i8 F8 k: u$ h0 G
$ j; w: ^  k& K% F% _Code:
( \  W4 j) E' K3 ~2 U4 B. Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
$ Q- O( v; U3 ]+ y4 C{
8 y- }) W6 B; ~- ~4 \$ H        DWORD nId;( z0 F- U. I3 V' V5 }
        int nPart;! u/ o' P( q0 S6 @$ V( E+ B
6 P0 v# K" j# B, M' J( m
        ar >> nId;( x1 s% {5 t& ~- `; l! o
        ar >> nPart;                / x2 F; o4 W1 d  r7 }
        2 F9 Z* O& b2 I2 j- |- k; T) B
        if( nPart >= MAX_HUMAN_PARTS )       
! s2 ?; U" o4 D1 Z/ b  C                return;
& v) P* C+ G' e8 x) v5 x. e% }8 }% {  j) [: @9 c( n
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it* X  e9 j3 B7 X* m. ^0 K6 T; a
5 |/ f! X, K8 ?5 M7 [

- f: J8 E! a; g6 ^1 a( d& bCode:
, F& f. A' b0 ~5 W+ F#ifdef __QUGET_SWAP_FIX2 z" S: F9 n* K* o* X/ o. g
8 m2 d/ D, T5 a* [
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
, E; ?3 Z7 X# t$ J3 v1 H. f                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 i& [9 ]# V% N1 m/ w+ J( O
9 Y& I- S9 c% t) ~8 {                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& i4 G0 |7 ~0 K. P                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
  Z3 k, _2 N# P# ]% t, |
+ @) x  w7 v7 A                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )1 A5 e2 q) r0 k& k
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% }5 K" r# k4 v- O7 x) \$ M- I! T, w6 o4 J/ @9 j
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
7 }: A, [# S- O* E4 Zand add under
" ^. i  F- H. I8 @" f9 u8 a
1 M+ s/ n6 E. d  D5 qCode:) v$ }& I7 c$ S9 z- s9 k) @2 x
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
' {9 k, C% C5 k                        {
/ ^8 T5 g" _% 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 );. i5 q9 f: E* g  a* Z: W: p( H8 C
                        }this
  L9 K$ I3 p; u5 P+ T. _$ U4 @1 n" x: G) |: T5 V6 n$ ]. |
Code:
- J; f) o5 U! n" @+ `+ D2 ~#ifdef __QUGET_SWAP_FIX+ w9 e+ z4 _0 X7 ^! W- t1 a$ j
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
; K' _* S& S, M* Z9 E6 {7 U. r                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% P- g+ _$ N5 ~$ r. Q( V1 H
. S4 c7 O3 {; h* D1 ?9 y                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
( J1 _& E9 S/ s( l4 q                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
* i; V/ J, N, W, C, Q- A' g* K: s2 u' x6 {* l5 V
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )+ f$ k1 f: W, N/ W; f0 K. H6 G
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
% }4 f+ O( `; b  E' _( t0 w' H7 t/ m, b8 w) Y! D4 O- S+ u
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 o0 _0 j8 H: t, Q
3 P9 b: D7 P% H8 M& H1 e
8 h0 z3 F. f6 @4 S





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