飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16770|回复: 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 ( J6 T5 u; A- L2 W+ E
I posted this because someone kinda posted a youtube thingy about it :O.6 c7 S; o$ c" @$ X8 X0 C- b% k4 d% ]

, V- A# x# P; a* r- {  I& C5 }6 PFind this in DPSrv.cpp @ worldserver) f- e7 h6 h' V

" I/ j" |/ T  L; o) V9 ?" C6 c: R% WCode:
  s+ A( a/ R! M  ]void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! |8 K5 q3 B5 g
{
$ ?4 z8 j5 O) O% |        DWORD nId;! h9 k4 M# t+ }$ `1 d4 k
        int nPart;
" v5 h5 m) Z; T1 i! ^; r4 I' {  I. f8 x
        ar >> nId;, k9 ?7 C- `/ n1 L% I( z7 G' P1 V
        ar >> nPart;                + L) U- I( t. y" f; l
       
7 Z+ I( ]5 y) A, A) t        if( nPart >= MAX_HUMAN_PARTS )       
4 `3 S4 }: T" P                return;
' H" r/ X& ?/ \$ v0 J# q* l; B! b# s$ I7 R- m" c
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* P' |9 V% R3 B  A6 }. ~9 a. v6 _3 z/ y' q1 ]* N
$ n9 o1 R. P1 y0 g* ~
Code:5 e+ z2 A/ n/ E4 O. s# o
#ifdef __QUGET_SWAP_FIX
$ |( ]* f# W# h6 [- Q) M0 X
5 B& L  c- z" Q. m3 N, J                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )& ]7 w# l0 P+ i# `/ M; U4 b) w
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());+ x2 h3 w  J* B( m. S3 {  H
# r2 C7 ?: x* ^" }2 r5 h5 e" I
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) P3 Y/ R2 T$ n2 T( o                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
$ Y8 J) m8 |" v: S  ?8 J, b! ]: h- f0 o5 J, z
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: c3 _% l2 p) X                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 W+ g/ }3 e, T) ?$ t* n& v: ?

4 m" g0 v+ h! b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 l# s+ s) |& u& }and add under
/ ^$ F. S& X$ A4 v  p" Y" M* _. f$ `1 e; E0 q
Code:( I* l5 g0 B2 G# D5 @
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )  D: t+ G4 V9 f4 V* y
                        {
0 i+ E; K0 A7 [. }3 k7 o8 e. D                                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 );1 F% X2 v' B* ~0 @) n; r% z& r/ K
                        }this
' c5 ~) v1 v+ l. \* L# F, ]
  H/ e% Y, ]+ t4 ~% fCode:. L- R8 l2 T& M
#ifdef __QUGET_SWAP_FIX! v5 \8 _" E) B: N4 H
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
) z6 J9 }2 w+ i  ]  b2 T                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 M/ U, C* m  P- [0 z5 m1 e& v$ @' B3 V' P
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )# I6 O. _) N( m5 C/ ?/ @1 E
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) S* N' ]" }8 T( E+ I

  e# E( |3 T7 G- \                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
7 M& ~% }: l# L& F) D$ [                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! h6 E; |. Z5 d5 Y! S8 v
$ h( k& l0 ]5 q; i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& f9 P) a- i. E. S
5 x; g( m9 v4 m" B% z- A( K& N
: e/ A# H8 e8 L! r9 g, P

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-29 19:21 , Processed in 0.064429 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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