飞飞世界论坛

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

作者: 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
4 H0 q- @7 R4 V6 l4 ^I posted this because someone kinda posted a youtube thingy about it :O.
8 h! V! ]+ f/ ~/ q  n, D+ e! w( }( c% R3 h  [0 o/ o5 j& O9 N; ~) Q
Find this in DPSrv.cpp @ worldserver& f* Q" |) s% S" Y+ p; T
$ ~$ J8 z8 l- Q
Code:
& t5 B/ i0 x7 qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" Z! |2 W! j) T+ y$ O: i{
7 h3 H0 K" W  g" w        DWORD nId;
( [5 b0 J9 u* [5 l6 s        int nPart;5 w7 l9 H) v7 I1 ~+ m7 X; Y

% @0 R/ s) k, {" D" ^! Y        ar >> nId;  F+ o2 K6 p$ v4 \) o6 s
        ar >> nPart;                3 v( z" H2 L7 D/ k8 _. S. _
       
9 H; l; p4 d# D; U' _/ H2 {        if( nPart >= MAX_HUMAN_PARTS )       
0 W/ _" S0 ?2 r4 v5 N2 \                return;! J5 ^8 U! j. r$ Y8 v6 a- P2 ]. c

0 Z3 f) ^) n9 o9 j1 {        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 S1 `* u! B6 y5 g! i' f( C1 X; ]8 R3 f2 |5 Y4 q2 f

# J  T+ W5 c. ?- }. |+ Z: H9 E( JCode:
: g- {; {8 t& u( m#ifdef __QUGET_SWAP_FIX
' x5 @, ]7 d' r4 t( T& ^( J- Z  z& K6 ^% f: f$ V9 l: `& l
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )( p3 h3 f3 H5 t+ |, I( Z
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
! M9 ?2 f- m( K4 z. E6 E8 {1 v) q6 R& P' d( J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ). m# O: H4 G0 r" ~
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
0 N/ ^5 K7 Z' _9 n2 X5 ?; c  y! v8 K. i
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- x9 e1 \$ z1 `' E( E                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );+ z9 d7 E4 C( J2 B- k3 K8 }; S) g) M

% @* |& f4 r* o: x#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
' Z' K) Z8 h* n6 I7 |5 x- ]8 k' Q" Sand add under
" u5 r) H6 u$ k: r1 X1 m1 A  C2 G* d5 O3 X) h
Code:0 `  _4 P! G" T4 T# L
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 Q6 C4 s! V) `: b
                        {: f0 _* j2 n* ~
                                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 );
6 {) B# T6 @: A( ~% G                        }this( r  v  U' r6 k% K- _# r
0 `' p! M' l- j& ?# N
Code:
0 _3 @; t0 o: ^" n7 P  d1 J#ifdef __QUGET_SWAP_FIX- T( o) i1 z3 z+ Q& H
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
1 W. m4 S3 y1 z; Q) @0 l7 b                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ Q6 q& K% z1 z( S

3 r0 E/ c- B( A* C6 z, K' |- `                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
8 |9 {% c4 y* D                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );; R" x( Q/ ^+ }+ i7 v" T

/ L% D# H8 x2 F+ `5 N% j                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 I9 j) {. ]  e: d' }
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 g# v$ _  `+ j" J3 L
4 T1 S3 q& b1 r* U; f: X
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 0 a( V7 ]' p: u) i' K

/ e1 s, T  a' ~/ [
6 n+ J( p, Q. A




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