飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17254|回复: 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
! Q2 z. X# ^3 A8 P: uI posted this because someone kinda posted a youtube thingy about it :O.& Q9 f. G; v1 h, |( [, Z

" q8 Q2 @# Z8 x6 I' Q, ~& t8 aFind this in DPSrv.cpp @ worldserver+ N6 K. m8 V( S1 [+ O
0 O3 q0 y" @" J, b9 C" `
Code:2 p! r. W5 D& k' Z* W3 j- @9 n5 h) l
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 C3 I+ F9 N5 A
{
$ _$ M5 o. O0 n! c# S        DWORD nId;( ?/ S; Z0 V5 I+ q/ G5 @7 O( T; ?8 Z6 Q
        int nPart;- Q) r% X. u* n
* i+ O4 `, E# W- }3 R  _9 B
        ar >> nId;! ^* H0 F, F0 V5 \& ^2 b
        ar >> nPart;               
( w9 w' u- [$ `% u% \8 ~8 c       
1 u8 Z+ q3 V. X        if( nPart >= MAX_HUMAN_PARTS )        $ C" p* w6 Y- e: j5 Z/ S
                return;& G) m9 h5 F7 [: j* ^

/ J& z; L" I: L# D" ?- p        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% G& e. j( M$ W) l% V% y( G  Z- ~5 c7 a* ?0 a7 k

$ c8 I' ]" ?0 g; q5 u8 a: v% zCode:
- J: t8 I" s; z+ t+ B+ S; I; R" K+ E#ifdef __QUGET_SWAP_FIX4 E& R6 a( S& e; N2 q- L3 ]
0 X1 P+ Z6 X9 W# F& |: K4 F
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )! Q$ O! V0 ^& T7 C
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 ^5 ^" C8 |2 x; ~+ Q2 k- Q7 ]; Q" R" x9 {  h8 T  }
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
' r6 g- z7 d6 }, F/ f3 B; ?                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );" Y; x' z6 `# g8 b9 M4 o4 G' X( C! q

* M3 j! O- U7 q                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )& B$ R# _* T& ?( n  J
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
3 z9 X( C  _* f& v7 V7 L+ A0 J  G# v& l( W+ [+ B% `/ L( s- ]4 F
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% E5 X1 _+ k( V1 \: {6 G5 Y
and add under
$ D: U1 O& b- {3 v: \$ C( _7 G+ I, B. D$ d$ C! u" d
Code:
! p- t& Q# x9 h7 \7 b6 F$ Zif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 d; I) _8 Q" _4 W  I$ b
                        {* d7 U/ `3 C' X, a/ F5 N, 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 );2 ?7 |- I* m: ~  g$ B
                        }this
8 A# K. `! b, z# Y. ?4 [4 F& t! c3 a8 W2 r! ?6 H/ t
Code:
0 h% C% G+ a- Y/ H$ I: m#ifdef __QUGET_SWAP_FIX
5 b- D5 H; C: T: S                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
- e! ~  e* @6 D. m5 B! v4 b                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 ]3 ?* r4 B) \# D( W

2 |$ G0 d) g6 F                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )! w. @# A/ L& @; J2 }! a( v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ I# p3 v# V; C$ S9 _( n
; r& y, @: Z1 u) m- c' B8 z- z
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )) Y$ U9 `) F5 F
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
: i7 w$ F: n& x* D/ X4 v; {% \
# T1 ?0 B# {+ n6 `8 T- g1 C0 e#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
) m  B+ [$ N/ h' e, v4 K
; V9 a7 \" }5 ~8 E; _
8 Q' E; E4 c- ^. h+ w" |# \

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-26 13:41 , Processed in 0.062830 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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