飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17057|回复: 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 , c( _, G0 i, I% z6 w4 \" q. i
I posted this because someone kinda posted a youtube thingy about it :O.
+ K, Y7 F! N- D/ M; W3 z. J% Q6 v( D% w. g2 d: ~
Find this in DPSrv.cpp @ worldserver
' U1 Q' _/ r- D( C! y
& r. M7 D6 T0 n# h- J  e  X8 zCode:( f7 Q. L% J" k2 u* J' z
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, l( p% H: @  Z{
6 M# Y$ N; C. i0 U- T        DWORD nId;) r( j6 K/ e* A  k' Y
        int nPart;
' ^, m6 C+ h6 k, h9 k. Z4 ~  P
" m# g. t3 P# H* e  [& x' N        ar >> nId;
- ~- o- E" ]5 z        ar >> nPart;                . {% p3 P; o! Q
        + m- }& o+ f1 a( J# @8 R, D. i: w
        if( nPart >= MAX_HUMAN_PARTS )        4 q" _  i5 S- q# Y6 D
                return;
+ a7 E' i& @, E, v  t
3 q% T) Z' K8 w0 _; o- D        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 p# C3 D1 ?8 W5 F0 x+ c

. S, e/ a# b1 X; ]1 Z* \
8 Q3 f0 q9 S0 LCode:& a* j9 f: J( o5 {. \6 ?( r  o: M
#ifdef __QUGET_SWAP_FIX
+ |6 S! u0 x/ ]' \3 a
! u3 b% A6 J: G. H, \& d                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
" U9 f7 J5 _2 W3 j& o                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" W: u& N! g5 C% V1 }/ b* l4 Z5 V( P/ U
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
7 X; K' ]; F+ j$ x" {' m; q$ W                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
  _, n# w9 }- o: `  V2 T6 E" V3 F- e
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: C# X8 n. g+ B$ \% W                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 u$ g7 e8 O  U% D% o1 P

7 d/ x' }$ `$ K( q) J0 K( A6 l; K#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp" V5 S( j3 K7 n1 A* r
and add under9 g2 u# d" U  o

0 P% K! Z& G) |9 A8 ~Code:" |8 l. D/ N2 [) h
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )7 f$ m! O. T: l1 m: r
                        {
5 J6 |$ U$ A. J* c' n) Y' J                                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 );
/ S6 N% _8 b8 u                        }this
7 Z5 C* y+ N- u' a: K( a6 v/ G, L- S9 a+ ?' a! \
Code:
! z7 Q3 _  P8 v" Y) R#ifdef __QUGET_SWAP_FIX: a# K( g: g1 O$ G+ L: E2 o7 u4 C6 P
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 p8 L) }- o$ q8 ?                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
  J* K; b5 T: J# _9 o
) z& h% [2 ?8 f' j; ^. p                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
% h) D7 D: s, [8 z" t9 C0 a                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );( ^0 o/ [; @: j, n1 c

. ~# @. G" d2 ]) y$ N8 J: a# K" j                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 a3 L; x* w* x8 `1 b' V
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. n+ A: t2 I0 |& s7 V8 J. Q$ N
( W# s" K2 ?* D$ K# e& V& ]#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , k$ n  J. {+ q5 j7 v
: ?9 l, X7 n9 m& h! G( K
! e7 g; u& Z/ a, I$ D3 r

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 22:52 , Processed in 0.107251 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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