飞飞世界论坛

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

作者: 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 9 l2 f) w1 d; d3 `# h7 {
I posted this because someone kinda posted a youtube thingy about it :O.! Y5 o. m2 z8 q( C

1 y3 z% R& Y- t/ t! q% IFind this in DPSrv.cpp @ worldserver  Q2 `* F2 N' l8 b: r9 R+ ~
: ~) C! J! R9 N* ~3 N% z
Code:2 E- t6 M' R1 }
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 {. F0 U$ S4 j
{
/ S9 {* S3 t1 i' t: P        DWORD nId;$ f+ X# C9 A! q
        int nPart;
' @4 |% t, s" S2 m
2 H' I. |7 ?, d- }7 Q0 l' ^* J        ar >> nId;
/ E3 Q1 t9 x7 j# s$ z; S- E        ar >> nPart;                : }3 [) p! n: t. L
        8 r  p& m9 E4 V8 u+ t3 U
        if( nPart >= MAX_HUMAN_PARTS )        3 ~* q% j! N& @1 Z3 e2 o" q$ m
                return;: J8 V% C" a7 I/ t0 K

( k4 j4 J- I7 N  q( B+ d/ [        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it$ G4 c2 o# C0 \# _6 k9 `: ^
3 N- i: k, w: N
% \* L( Q# l$ Y$ r; o
Code:
# [, s9 q; f( s: f#ifdef __QUGET_SWAP_FIX
& Z5 I7 ]( w; }5 m3 `0 h. K
5 b' m4 ~2 G: F5 f5 h# G) s/ C                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
/ z# d& I$ o* Q" n5 j                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
* I6 {3 h6 F% S6 K* Z( w  u( S1 W1 u2 N! D5 j- i  H
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )! D: x6 m1 a" a7 D
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );2 r9 p# D  Z7 X

4 w7 W9 U1 F9 j& G% f% B. Y                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: _5 H: P! z6 P% Z6 u$ v( m                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 B- r9 Q* {5 c9 Q
4 ?7 R* @$ x( J8 Q# Z- D! R
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- a, c9 ?" Z- L+ P
and add under
. C$ z7 ]# |. z/ n
) f, C; B% y# f: K, ICode:) c) g$ e6 M' V
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )7 }/ J+ v$ A4 v5 F; B) J
                        {( i& D$ g2 l  i, n+ t
                                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 );* {- g9 X+ B& T# ^  [/ K9 h: k
                        }this
2 Q- I% \3 `' Q1 t0 f% W+ Y6 S+ d; Z& y, u6 b
Code:  K' T/ s* r& B: k8 C( W. ]
#ifdef __QUGET_SWAP_FIX
. A/ O% x8 g5 T# n) D: l- {                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
$ L+ d$ X, Y) S- K                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());& H, Z! e8 `) x
/ [* m" J- j/ R% e* V' U" K
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 ^- P& B. f2 q# ~9 x9 @! _
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );& u2 y: {2 d6 |( N& Q

  }3 z# g3 d5 c& Y                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 y; S" z8 X! \- a# U/ ]
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 l6 d# f  M& o+ e' \5 k% @% t
2 Y) r6 Y; M3 z' I& B$ a: d/ U* C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 1 K( A- c2 o& Z/ v
7 B8 T# \3 o* x& G2 |8 v* G

7 G7 L3 l! a1 w0 q$ H




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