飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16404|回复: 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
( g* u% h% i! }4 u0 @I posted this because someone kinda posted a youtube thingy about it :O.
# c, L: x) Z' J; k" p
* |& c: N" p& r1 b1 X% j4 PFind this in DPSrv.cpp @ worldserver
9 s3 K8 J; _" \- X/ q9 w1 c* ~% ^0 g( E
Code:' `3 s4 ?* r+ k! S
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% @* S% ^6 w! R) W- `{# ]7 T* `' o' P) `# r- q: S
        DWORD nId;% i3 a7 J+ J/ B0 c& W, Y3 C8 f
        int nPart;3 i' i! u% u8 e) {& @
6 e  _9 J% u( g( y; _
        ar >> nId;
1 C9 g$ A9 e% _        ar >> nPart;                4 R5 k# x6 t2 {3 @. t
       
$ B4 A+ ~6 Y8 |1 V        if( nPart >= MAX_HUMAN_PARTS )       
* x  p1 g  ~1 U# w                return;6 R9 C/ C' N0 }+ |6 t

+ [' q2 W5 K9 b7 B) [! Z        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% c; p$ S4 f8 G7 r3 \3 A4 u
! j9 ~$ \  I# ~- I( w" n% V
) w" D  ]$ Q0 A8 `: Y: [# A
Code:  `4 v0 V/ e$ A9 X
#ifdef __QUGET_SWAP_FIX
1 t. b+ z2 a# r* O6 u+ y% E( j: ?/ K" F9 B* q8 n, q/ z& }
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
" Q( a) l( b5 O. K# W                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());- J9 `, Y2 g) ~. b2 w2 k; B

; e' r% b' b' n# e8 n                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ t( n4 M3 b' S' \$ o
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' h* w$ V, ^1 w0 g3 D0 ^
  n. Z6 P' N8 p2 t- j
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )% s; ~0 m2 e' a7 f# W; N% _
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* f, H6 v- j+ g- p7 v

& t7 |' t5 r. Y' v#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp* M% @9 C  O$ p# s, H; w) M* S
and add under) ~. m- H( e/ A7 N* \% a

3 V& l$ Z! w" e2 Y9 JCode:
& Y( i( U7 R& p7 P6 }7 wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
& B# P4 f7 B- f$ N4 L                        {
& T( U; [9 {0 m; X; K/ ?                                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 );
2 N% N2 \) z+ A1 g0 N* Z                        }this5 O5 G1 d4 k+ a+ T
# j. m; h3 w! g6 v: c: Z9 M+ v1 z
Code:; t0 D" o% b5 `: C; ]$ o: w
#ifdef __QUGET_SWAP_FIX" j* B3 ^  `' d2 e" E
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )' C, n6 Q" F; ^0 C2 w$ |
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
$ {/ n2 p/ [5 H# Z8 a' e0 `/ |% M2 B. E$ ^* G* P( O) b! p+ N
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
1 V. [" I- H( I, {, N                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 K; h- z& I$ M3 [) W- |4 K7 g7 ^* S# h- H. m: N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )/ \* ]2 L8 C+ o! w
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );( M& f, s6 ]" z# N* A
" g7 I% _. n1 P- n0 u
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
( g$ }8 E' L% V$ t' r
$ U( j8 ]5 \, x8 m+ |6 H
% ^0 g# P& u6 X3 D: ^* F. w

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 16:23 , Processed in 0.061417 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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