飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16505|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:43:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 0 ^/ F$ J$ G1 O/ X
I posted this because someone kinda posted a youtube thingy about it :O.
7 G& Y2 l3 b6 ^/ x% R. O* U' ^- \. x6 X* X
Find this in DPSrv.cpp @ worldserver
. k7 }- a, k! T" E" ?  _) K  `' U) A1 T4 q5 _* x" U
Code:
; A" e. {0 g6 O' ~7 V2 {6 R' B" uvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )( W' A1 t: ?9 q( x+ C" H4 x/ \
{1 i& \' p# ^& z1 A  P: P
        DWORD nId;# A4 Y+ P  [! S' x# C& a. A" ~
        int nPart;
" k4 m$ a2 A! s: K) |- c9 n, L! p' |8 K; g
        ar >> nId;
2 @9 H7 l8 y# ?        ar >> nPart;               
1 t7 a3 T2 b& |# \; T. E        ; G! g: \: G' L0 f5 w* ?
        if( nPart >= MAX_HUMAN_PARTS )        ( w* E/ n: P! B6 r$ ]; J0 Y
                return;; v% c. V$ b% \& s) I, }

$ A7 j$ o& k. W* C. V2 ^        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% ?+ D: h. [# U
6 S- f" }+ ~! a: ~$ J- h/ ~* l: k- w1 R0 o* O
Code:
7 [/ {/ b# O& X#ifdef __QUGET_SWAP_FIX
! W8 |1 j3 E/ D# c$ |" L
6 u8 M, k7 P7 ]9 K6 u! {* Y% X' s% `9 \                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )* K0 R! @9 q/ n8 G, e/ i/ J
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
: D5 G2 V+ i4 L+ p
+ A7 H4 d$ w4 J. h( m                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
% Y2 O) X2 i# M' Z; l- K                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );: H9 r' [2 D4 a
4 M# k5 O+ Q$ q. x+ p) C
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )8 s( J3 A: z7 g" W# }: d
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 G( x& {" R/ k* ?  v9 P" [( x, B4 l% j- i1 i3 J) a
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
6 u4 |! k8 I  _. y, Zand add under
/ l2 K" J: ~: a' M- X
' m- S7 C/ B2 p# QCode:* L# f5 w8 A- P
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" r$ s' z9 n6 J  C0 T% m& [                        {9 ]) x. w- k! i$ s* I9 A
                                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 );
" h* n* r4 A  v) c4 S                        }this4 ^  T& A1 s# }6 W9 \" N8 z. ^
" C7 K# T5 ?9 w8 `7 D
Code:
! |, n9 S0 W0 w3 z/ E. t#ifdef __QUGET_SWAP_FIX
% k& d) K! H% W) m9 d& z6 d" Z8 W" Z                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )! Y* N. c3 O/ @/ Z2 Z  }# j1 z( j
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ R" v: \* I% n/ z# T) Y

: @- O6 W; s/ S) z& m6 j$ d                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
2 q. C% r7 c  }6 w: E$ R: Y                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" R$ i/ x; f) ^% A6 V! ~- {& w9 Z) C# g8 @, H; O+ S% W5 p1 `: P) l
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )9 d* v" }; f$ Q# t9 d
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
4 I' W. {/ y, o* v6 f; B5 Z% O9 z1 M5 u$ C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver : j0 i5 F, O& r! @

& b- F* u' ]1 g( Q5 z& X- H  N; U. v
, p* F! |6 g/ f$ O: c

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-12-15 23:04 , Processed in 0.073661 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表