飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
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
, v, o7 _6 C3 Z$ QI posted this because someone kinda posted a youtube thingy about it :O.
3 |- @$ O7 f2 T7 W, p% p
* f' n- I2 d. b+ G+ s2 AFind this in DPSrv.cpp @ worldserver. i+ O& A: K: u

  _8 W- o% I# {Code:
, t8 J' q$ X2 s8 i  A$ J: qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 ~4 f9 @" l& J8 e& _{
9 S5 H7 P& e& s" f        DWORD nId;
3 X( O9 \7 L! U; G) m        int nPart;! |. W; k3 k0 u3 q1 J/ g; b7 w

' x. Y" K9 O2 J) j! r# s        ar >> nId;
6 h& w& ?* h1 n4 y. i: D+ p# u/ i        ar >> nPart;                " i# k; C& U6 g1 W) L( c
       
$ _, b# U. `! l- \& ~. y# K, P) y        if( nPart >= MAX_HUMAN_PARTS )       
! s& r/ e2 z' |, V/ q! o! m- R$ F                return;
/ c! z" ?' M& m' B: w' X( I2 I7 w: Z* F9 ^3 ]% _
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 U- M0 t8 z; E, O

5 p" C- m7 C# v! U. e+ G# l% z( k* R9 m3 B* x
Code:9 _; @+ k% P; w& J0 f- S
#ifdef __QUGET_SWAP_FIX
( y- n, K5 c) I- d" X
) Q! f$ N) }$ S% ?6 [8 z                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
' M3 ^( n" I! F4 Q8 q8 ^# o( V                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());& I1 t( `- s; U) @0 |

& w  D8 L" H2 X& J$ z                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )7 L8 a9 E9 s, e1 A- c
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
4 N1 y8 k  ~0 c5 L
# s( Q- Z# O9 t4 z                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )7 E$ ?1 B7 A8 W( c. Y
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# r  O/ j8 G& u& e% Q. c( C3 h; w
/ Q! K$ l/ }/ _- h* T#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ b1 w) w! E* m7 b
and add under  q* s5 H8 ]% L# T  T
. a# \) v( g! \) T
Code:6 {. x9 c+ C0 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 `6 @; c" p* A/ {8 C
                        {  s2 I3 k6 ?4 h, A, W( q
                                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 );
& f5 W% d6 ?3 ]5 {; r                        }this5 f  N9 @0 v7 {7 `' f! O

9 ]' R; Z* q( \7 s$ V9 s3 XCode:
& C- D/ b) e8 J3 f  t#ifdef __QUGET_SWAP_FIX3 u1 |. m2 Y  T! d5 G
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
) O* C7 v, y; s                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- w6 ?4 U1 z! U. o1 T" c9 Y- s
# {# _0 ~8 b+ e                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
; N, A. i. \1 W4 j' l/ G' f% Q: e! k                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- M, w* s9 f- M  d; w
1 ]$ V: R4 m5 e                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )/ \# a% J# w4 d
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 y8 }0 i  h7 A8 r

3 Y4 O4 V  U, @! J  u# P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver # ^  V5 ~) k& h+ t$ `

1 i) h4 ^  D6 Q0 L" p# s  ~, w
8 w0 @7 Z9 G* C; v$ `6 [/ s; f

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 07:21 , Processed in 0.063710 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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