飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16352|回复: 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
  N" j+ x! _: JI posted this because someone kinda posted a youtube thingy about it :O.% p& i- c% [/ A+ O

0 Z. N& ^, h& j" @, oFind this in DPSrv.cpp @ worldserver5 |0 T5 O& G* G7 v
; G; y: K2 b, K9 y5 Z. ^
Code:
. j" G6 n' d, g8 kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
/ P2 W4 m0 F' F. _{) I; z- O& a' s% a& m/ c- R" J
        DWORD nId;
0 l1 t% v+ [$ ?9 c: g" I1 U        int nPart;2 I! w. {; c+ z% G; G

. f& V" }% Y4 Z& ]& B        ar >> nId;
1 a% C4 j( u' H/ o6 \        ar >> nPart;                1 O% }9 A7 g5 ~! V1 P1 h0 g
        7 _+ h' M5 U3 D+ w& Z- R% {
        if( nPart >= MAX_HUMAN_PARTS )        6 `  ~9 Q- o) M" u, O2 y
                return;. b4 }+ V6 A0 F
! C9 s4 U( O: p$ y" Y, n' _
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it& y* D( x/ w$ H0 p

, @7 z1 d1 J7 ?- S9 m/ X0 f
' M! a) [/ [* qCode:
- H7 X4 @6 W! n$ [7 h8 N#ifdef __QUGET_SWAP_FIX
+ R( Y* t# R" i
& O5 W! [8 u( O# I/ ~                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
4 ~7 i- _- Y) p: f% N& J7 C                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());' _: N! T4 z, ^% a

' _! f  P( _0 j8 {" C, S9 I                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 }7 r% x  [" P( j4 _. x                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' X  X3 D' [" f7 ~0 U/ X$ x" Z

4 `# p2 i* `. U" E0 l                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )- G3 j! N- E( f, _* y9 Z7 s* N: N' [
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );' G. t5 ?+ _9 \+ x- h

0 v: U0 V) C  ^6 M8 ]#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
- S" u8 I9 m5 w3 E3 J4 N+ Q, Nand add under
. A3 F- U# L, t8 l& n, x: u
$ ^# K/ o8 E( mCode:
# `/ J7 c% @# Oif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ V4 s) \/ m2 U# N$ \                        {" _: W' C6 t, h+ k  p/ C; ~
                                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 );& i+ a( @: Z+ V
                        }this
9 Z/ L1 x- F) M# `
) v. z( `& R7 b3 Q; y, M3 {Code:
, S  j6 T0 R4 T4 ], {- A#ifdef __QUGET_SWAP_FIX  S5 ]3 y3 R* G& ?2 S! m4 I' a; |  X
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  j+ q3 q! E6 o- H                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 b/ M) h0 }/ x% L1 C  {1 g6 ^* [/ q1 V( P' w5 I  ]; ~
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' F& s( @+ Y) D0 [$ Z* j. W                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
2 C5 F' V2 a6 G/ c: O5 J. o% }+ f
2 L/ i2 {3 {' V0 O. w, D5 V                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
, z$ v6 s8 R2 M# e% d                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 ~% @" w& N5 S4 t& g6 f$ w8 W
- a+ Z' y: L; h( ~$ P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * }6 H. \3 [- b0 @+ T2 P2 _
5 x* P+ ^# X9 {7 E
7 N3 w: X7 x' e* S; o

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 20:21 , Processed in 0.065542 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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