飞飞世界论坛

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

作者: 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
6 `% D3 c( r3 c. B" K) K2 s' w7 JI posted this because someone kinda posted a youtube thingy about it :O., R2 U# K) f' h' i# E
" ?, x  U( R( J- x- l3 {2 S
Find this in DPSrv.cpp @ worldserver
' m4 M6 T, ~# p" P* d
2 a1 C+ O# E% iCode:1 q+ c+ K1 l4 ^+ Q; [" M
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 [) ~: T4 s0 O' O0 B( M
{; U+ E- ?' \: U, K0 i9 L% t
        DWORD nId;
  I  [; T3 r' m/ ?        int nPart;) K* m) }; n. @. @! J
; B  M2 W" I& l/ L' F1 H% {* @/ M, t
        ar >> nId;
+ k2 l% U+ c- E% @3 p        ar >> nPart;                ) ]: I' a# r/ |: |
        % l& y3 A* M! ^; H
        if( nPart >= MAX_HUMAN_PARTS )       
/ G1 I: S# z& ]% I                return;
2 t  M) \! b# F1 y0 c/ r
1 \+ n# b  S4 g5 v5 {6 W, }        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) y! m8 k' G2 g/ v  C5 v) u/ ]
7 B& @* B, I; r% d) S! D3 L# M  M9 s4 D6 ^" K+ ?( b. j' [: e, ^
Code:
, ^, z' o, }, p: P% p: ^#ifdef __QUGET_SWAP_FIX1 U6 O5 U* _: G3 s' Y  [
" P# h! u* k6 w) P+ S
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )+ @3 J. s9 x3 M
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());2 B  \* }9 ^6 [) {, Z* C& F
4 s- q, Q( @4 Q
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& q) x; K- a( X                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );& v7 N$ V9 b2 C9 g" K
; N4 E8 N3 Z4 t
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
& F" Q3 K1 m5 C3 q- }% t' s                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 \( [0 o) ?& `& f1 T
# H& c- d0 K( G  P  v! g' m( L
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) Z) Y1 \! z# ?2 B1 F5 C& G; kand add under
3 Q; G8 _8 A! U4 Q+ D
7 \5 s( `* W6 P( Z; j% `: @& |' Q* JCode:& i6 M5 g! T  l# e9 A! O; _+ H1 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% M" q6 z/ O8 t* X
                        {
) ^. \3 Q, I) A, V! O, L                                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 );' O0 J' ^& t8 R# [8 @
                        }this, ?! V3 D5 t) Z' D3 \  y/ E1 g) V' b
2 S; N9 f1 e; e9 x- }; M8 `
Code:2 K. V+ J* f' D! |+ H( P
#ifdef __QUGET_SWAP_FIX
2 i( N0 Y2 K1 u, o                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )# s$ y9 S, E8 Z2 s
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. a. x% K  i8 G2 k8 I0 D! G+ q% P- g1 T/ ]/ n/ `" H
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )+ z% K" S- {5 q4 O
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 v) I2 D5 M5 k
1 d, f  i( k% C5 o                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# J) `( k2 p9 i  G' P                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, m" ?; q; ]2 g  l7 u# K  @4 X4 `% P4 E0 h* X# Q3 W( B5 f
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
, v/ Y" {+ s( G  o
9 Q3 m) T( y+ K
1 g5 l2 [5 U' g- ~




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