飞飞世界论坛

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

作者: 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
& j0 r( J7 }5 q- uI posted this because someone kinda posted a youtube thingy about it :O.. Q. E* |% T9 x
8 v9 L2 M- _  y& c- ?" u1 Z
Find this in DPSrv.cpp @ worldserver
$ m4 N8 J5 O: B  o  b% L% \% y2 x" m# {% D
Code:" [1 a' N% {- z( V" R! A; }
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 F1 ^# T: a% L! n7 l{' r; \$ C* Y) s3 h
        DWORD nId;
3 p' j: F- y0 B% F        int nPart;
& s9 ]; }8 c8 m7 e8 ]8 Y0 L6 E2 E, i1 i( T
        ar >> nId;
" Z' |- J' k! X        ar >> nPart;               
% @/ f+ M' ~' {5 N  k) Y4 b        9 U. o% I* ]5 o
        if( nPart >= MAX_HUMAN_PARTS )        8 M% |; Y; p7 `8 F
                return;* q: ~0 Z+ W% a$ A: {. E( Y7 ~
7 ?$ ?( Z' R& {# i: P# C
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 _4 l& }  X( E+ z: v- c
6 d/ }% l8 W1 x6 N* i* @7 B9 i* w8 x& Z1 ?0 A
Code:
3 r2 K/ G( f2 O% m4 u- M$ e/ I4 L#ifdef __QUGET_SWAP_FIX7 i3 U7 K+ l/ Z  M- e" j' j# a1 s

. S( J% X, J$ H: k                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )7 E  C1 C3 ~' o9 P- c, w2 A. m% ~) [
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
- b3 ?( j, h9 |  G$ f" r, m* y+ H4 E3 Z6 q8 D6 k
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )* M; J% q# p; e) i0 J4 \8 E
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ V* y$ }; Q( u) S
, i1 G+ O5 Y. k
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )4 {/ [, e: {/ m! A1 y" C$ _
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
; K9 Q6 H, ]/ Q3 g
& @" i$ a4 w: ^#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% C% o) A5 h, M3 S% W$ e
and add under* O, V6 y% f% O& k* o
2 }3 y; b' F4 ?8 b  e. o. t
Code:- p( N, G* |8 D. _! H4 ?
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )4 D- o3 A  l4 Y5 ], b$ P- D# Z
                        {
+ U6 [: [, N- O! Q# W# T* E                                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 );
& U2 X9 d# m- q+ p                        }this* o" ^/ x- R. o% G
& {& X, y) M: z8 t% F
Code:
% [3 p: E" d" a" Z8 B  M4 V* O6 K8 T" e#ifdef __QUGET_SWAP_FIX. u0 ?* a' O# L2 x# l
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  \- L8 d( w% n  b0 S# r                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! i3 u- U& f/ j3 b3 k% K+ W, Z- \$ V9 ?+ o7 c" T, P/ @
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
; @, X8 C! Z. V$ x& @* S2 n  c                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 ^; y3 X+ |0 s8 q2 P
" p0 {# F6 T* ^' N                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
6 B$ g1 n2 K+ w8 _, q) [                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" b- `+ l( Z8 X- D' `. b8 p* G
( d: }* P3 K) h
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 e& D; A6 e7 }% L! ?" S2 P* Y: b3 X1 D$ _* N
5 {/ R  J2 T4 X/ j6 p





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