飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16392|回复: 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 / d4 Y# U, h  [2 |- q, o: y
I posted this because someone kinda posted a youtube thingy about it :O.
% p& R7 r0 F# Y/ u/ L" ^4 ]- W! c' t' s
Find this in DPSrv.cpp @ worldserver
2 v% d% g+ O6 V9 Y- y- J
2 Y6 m7 Y& S$ rCode:
9 u& ~8 \9 r7 V8 I+ |' I; O7 x* |void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )% q& T; D6 Y# Q; h5 ^& p8 ]
{
" W2 ?+ O! i* i        DWORD nId;
1 c$ m3 E9 L3 D; W& U        int nPart;9 z7 s  W5 X7 l6 G2 [+ s6 E
9 X6 @" d8 t( V
        ar >> nId;5 k) B& K0 s! F8 B/ d) O8 G) M2 ^% R9 }
        ar >> nPart;               
) d8 O, P9 e8 S0 }: P2 f+ L        8 X/ N" f* i8 J, I; i6 h; l5 t
        if( nPart >= MAX_HUMAN_PARTS )        6 j+ w. x$ X. G9 \  S
                return;; _$ B( X6 t9 g, C6 L
/ {) L7 r( L: Z* o5 O+ T. X
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 r; u- {0 d: ]) }
% c: F6 ?( ~: X7 u
) k" g" C, y3 X( E1 F# D1 P
Code:; }3 G9 S# W4 ~8 D5 m- A" p8 V
#ifdef __QUGET_SWAP_FIX& K- ]3 ^3 \1 `3 c  i

. N: z; B( j% P! p$ e% `                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
9 K# ~) K3 G" r! |                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ @2 p0 @/ B$ f+ t1 q+ Q

& t* S3 |( Z8 _5 R' O5 I' y* H" z                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )3 |0 Y  P# l! F$ @3 K. [# `& m
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
) S" I# y! ~1 l( k9 x0 A( Z7 t6 _: c4 R. c
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )0 B# j. C0 }( |
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( x8 V5 f; _% Z

' s+ R7 k4 C4 h5 P. ?7 n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; p/ u( ~. G( U$ \and add under) T: P7 |2 b2 V+ Q+ l

7 f- m/ G0 h$ ?5 U& j* XCode:
# {6 R# w" P* r, N7 ~5 p* ?if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 K& }* [5 |7 b; i% |                        {1 a5 w6 x4 _6 ?$ x+ U# x
                                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 );
/ q$ U* J# i! B  s/ _- m+ S; f                        }this
& a0 X0 k3 s4 [; f
, D$ M7 G  N( O& M9 VCode:. @5 U4 F" C; e/ ]. Q2 U! D( S
#ifdef __QUGET_SWAP_FIX
1 K) H. T0 G: D- ]! T2 t                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )- W$ S  e; ^& [5 X( p: t
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 b8 K  K$ d+ X) G' }2 L: K( S+ Z6 I8 z( y
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- g6 _1 d+ ^2 U
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 b' v1 [9 p5 o! a% X5 {  _  G
0 v  C+ x1 j$ N' J: `: z
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )1 {: c( i1 ~0 {; O
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
3 C0 R1 S4 [1 M7 u( _' r+ x) n1 q) F" g
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , |. z+ @3 E" T+ L$ @
3 d# c5 U& [/ N0 F. a0 G# ?
, w& `' |9 A+ u7 R

相关帖子

回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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