飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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 # Y* x+ ~6 X5 }- d6 m  r+ y5 G3 a
I posted this because someone kinda posted a youtube thingy about it :O.2 x, p. p8 V: P, ]. t

# n- @! w$ d, h  ~3 Y6 o0 jFind this in DPSrv.cpp @ worldserver% X. h  d0 ^" }' {% p' u6 d
$ _* V# m  ^. |  ?
Code:+ \9 O3 F; i: \) h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
$ }! j0 }; S9 A% a8 r( M{' O+ P5 k& N& P( E+ a
        DWORD nId;2 \3 ^  v; L9 N  r; I
        int nPart;1 E, [# S5 l. I* G7 z
' n+ p2 O5 ~. e; ]6 I: x, U7 y' l
        ar >> nId;! y! K* ?4 Y6 b! A3 {
        ar >> nPart;                ) [) I; Q5 }! C$ e/ P
        ) M$ P6 ?# Q. O9 I! G( r: I
        if( nPart >= MAX_HUMAN_PARTS )        ; V+ g* G/ ^5 s
                return;- D) [+ P& `& l4 P# V

' u. C$ A2 q: N6 h) g1 Y        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ K+ ~2 r1 N) c& u+ X
1 Z" F( i, }  ^/ \) ^5 \8 Q. v. U. N' Q) i' x# }
Code:. q% ~. K2 e2 U' b7 `( D2 c
#ifdef __QUGET_SWAP_FIX
; n$ ^! [2 [8 E, g7 m- E0 ^% C! @& u" O) _, J" F
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ), E6 F: I# ^$ |1 i; W0 L+ R  c: K
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
( z# x5 h" k( C' Y9 n) x) |. J7 Q0 K! y$ ~6 o7 d* p
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 c! P$ |3 l- h( b& P6 F) p1 D                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
; d4 h, d6 _5 H8 a$ T, L6 b& _+ A. q# ~7 ^, H% m+ A( n. b/ A6 u) D7 M
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )+ A' ~6 |, g$ g" ]  d
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. X. T) T! ~- J4 [) ~$ V

6 d8 G. m3 I" q# \3 P1 h. F) g#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. |) m* |9 M/ |7 z9 ~and add under  [6 ?( F9 E" d

. ?! O% }) y- r) g9 A6 hCode:
( H) a2 K' C2 c: hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
! F! X# Z+ b5 j7 K                        {
  u8 i& ]6 A. B                                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: l! ~3 R  D
                        }this
$ q( i! W: m4 g. m/ A
, C+ C; K/ @/ v  }& XCode:) R  }6 }/ j" k9 o) K) H  l, v* R/ i
#ifdef __QUGET_SWAP_FIX; G6 j3 X! F& ^
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
# Q" _* ]0 P7 e7 F) y& f                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 d# P2 D; L% F( v- a; B+ t+ k- }7 |; M! O
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' Q) _& }6 P6 Q  I                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ [1 L; O1 r. o( [
$ F6 y5 [$ N7 b                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ r6 r1 H5 t* `5 S0 v1 V8 L                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: C; }+ m" x5 U

8 [3 E" ^/ G% ]' B# ^#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 6 y* K$ X4 Q; M
/ Z! ?2 l: O: S- |+ l8 ~7 a# G8 ^

" E0 y5 E1 G; b! W/ a

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-23 01:56 , Processed in 0.061311 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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