飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16967|回复: 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
6 `( S, N1 B* P% Z4 fI posted this because someone kinda posted a youtube thingy about it :O.' m+ z  j3 v# c% X

1 g, k* }9 r: v4 Y" o! s) qFind this in DPSrv.cpp @ worldserver
2 x" f6 i8 y, E* M1 M8 k# G
0 H* p2 v9 [2 n8 o3 ?# f: fCode:9 R& {+ z: O) C. [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )4 J# M# T( t- Q$ i1 v
{
1 p2 B( X/ s1 S3 V' k, J6 x        DWORD nId;4 L" Z" o# q: t" z% Y
        int nPart;4 c6 g0 N+ n  N6 V$ o: t

. P, x* [( I$ Y6 p0 M  y        ar >> nId;
  J" _) I# }/ r' R. K        ar >> nPart;               
1 }# R, p4 o% K3 i- c       
1 s+ h" k+ r- a5 m1 @2 K) S        if( nPart >= MAX_HUMAN_PARTS )        ) {! Z; V2 l9 m/ X
                return;
& I2 i9 M. m! k5 j
) M; G* U8 E: h2 Q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" f. w6 {6 G: o; d% ~
- p: ^) Z5 A7 A" ~
9 W6 v3 L: y" x2 x9 m7 ~3 o3 ?
Code:* t- ~  l6 R+ P/ J0 e( u5 L
#ifdef __QUGET_SWAP_FIX
+ b9 f6 |% c2 t3 J# J7 H" q3 T* m: y# K' s* s' j0 i
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )4 f* ^/ ?3 j: ?" V6 L6 }/ }
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" ^& x2 v! T/ L- @0 W

3 ?1 a& H) b* T6 j. v1 g                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )3 o9 z. M' y* F6 q
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
% Z2 i' E; c3 o) U9 m2 C; `9 ~8 G. a/ \, a$ s( N) a
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )! K5 j4 B* A* _- z' b6 {/ C
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' ?% w$ C* k$ d, c* A& @6 a! q" E$ }& M& F2 }" [
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 l! A5 W0 W5 ^+ q
and add under5 l# M/ E$ x5 X. @, n% D* a$ A

# B* O5 v# f# Q& b8 ^4 X; MCode:
$ L% b- K. L& q! d- Q( j8 }" yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )# n9 o# X7 N2 l7 k: @% I" M
                        {
9 M/ A0 t9 J: e3 ?                                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 );
: O; Z6 e" V( d: P4 R4 E1 C                        }this
3 P. e1 }& e9 ]5 B# C: M# G. N2 a) X9 C8 N  _
Code:
4 e: _3 Z0 j5 y5 c#ifdef __QUGET_SWAP_FIX/ U7 q0 [# C& M
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )) _# ?  `% m1 V& S* d
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
# Y  y1 `- E( K4 A+ o1 Q$ ]
$ z$ v$ ]) Z, i+ A/ C7 ?& q  W                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 V5 w5 R  @5 a7 j: [  u
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 y& s& {# g2 V0 n) s
2 `# n0 D/ Q) S" W7 `$ K+ V0 {& ]                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
+ T4 V! R- b4 v) O: A6 Z) `                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );( z1 \; j* A4 R" {0 {. I

! p  n. m; J% G& W: N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 T. ^, G8 O1 \/ g; \( `: |9 y- b4 s- d6 B# D
- m+ y% N7 N3 U" r  l% v

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 10:57 , Processed in 0.069502 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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