飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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
7 ^; s* S8 y/ D7 y& L# gI posted this because someone kinda posted a youtube thingy about it :O.
: i1 o0 I" w2 z
2 U0 d2 Q" p( U4 m; d! yFind this in DPSrv.cpp @ worldserver
0 T, A& X; S/ X4 j) y& f3 P- e, o5 V) \6 o/ w  b+ v
Code:! K3 F/ r5 \8 [! L# |; r
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )* C. T0 ~* [% z+ ^% H7 X. f
{9 Z* t0 ~* U$ J7 v2 ?9 T
        DWORD nId;" [4 Q% \' p, D. d2 O
        int nPart;
/ A3 w! G, Y) F( x
. [$ [* `9 e) l: u" @# O! w2 L        ar >> nId;
3 u% Y( \, d3 a% N( n& V( X2 t        ar >> nPart;                ) z) g& }. j; N0 t, d
       
: v0 R, l& J, R. i' i9 h. j( N3 h        if( nPart >= MAX_HUMAN_PARTS )        ' @1 u5 f3 j/ e0 O7 d2 `
                return;7 M0 k3 q8 F  }2 E; l! ]

6 W1 M( a; Y* y$ q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 s- I! g! K3 U( M+ y

& e! B. r4 n6 e/ `6 d4 u% Y$ |3 `' c/ M1 v% `, Y, X7 l# m" U
Code:
$ j3 y, G+ D. _* o7 a3 J#ifdef __QUGET_SWAP_FIX
# A" ]* m; Z+ X! C
$ j% q" ]$ \' ~. K- M/ j* e                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ E& s3 M/ B0 g* C
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" B0 {% N" ]6 p
8 J+ x& l) Q1 J                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )8 W2 B: Z) |$ E( c2 A" @
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );$ t% l& V6 g1 \

" {: m9 J" }) @  z8 s  ]% L                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )& P% e5 M9 L" H  B& m- }& [
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) r3 s' t' [/ S0 d3 m7 W; V

# |  r$ l" ~2 X! F* D#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
( R5 l7 n8 _* i2 G2 k' }and add under8 |3 o" b) D7 h# d" ]; l1 a' b
+ R  i$ M& E* G% @% n, g: e! ?
Code:
) n, M# |/ d7 }, f2 S4 n/ ]" Hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 j. b5 i. n' _6 M, p0 L                        {% |, \. A. a' M2 M; v
                                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 );
, B" ?, Y8 }) ?* f                        }this' l$ Q% p: p; d: b: ^$ h  U. i/ W

9 I: M' _/ b5 ACode:3 S% v/ ?& a* i) S7 j. M
#ifdef __QUGET_SWAP_FIX
) O1 u" k* }9 `! L                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  ~  J* F6 q$ w2 D( D+ u1 n                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" ?6 C# _5 J: ^+ ]6 B1 [( q( D" Z0 E) }' f4 @0 a5 s
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )( x) C) [3 B3 D/ v# p! d# R+ ?
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );" Y0 i5 B3 \5 M# O: s1 d

$ N: D5 N; W. k                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )) @, H: ?+ i# f. m% J( o# b
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
) K  c5 Y; z) G
( s, z* q5 b, }0 }#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
0 c" B2 p9 W7 D/ E- M) e& ]
! i: e9 U8 f" I; A6 @- C0 o/ r1 ~' j: X- d. p4 w) m4 [

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-26 17:36 , Processed in 0.070716 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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