飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16916|回复: 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 ' ^8 G# _0 ~5 N  ?6 V
I posted this because someone kinda posted a youtube thingy about it :O.
7 ?/ W+ o! @, l& M! f( y; h0 X% {5 P
Find this in DPSrv.cpp @ worldserver5 b, @8 @+ I0 }6 w

  A& v# c  o; X$ yCode:) b3 N& r5 g9 {  p; G% [( R
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" Y1 j: O/ m4 s, U+ }5 F/ X{* l+ J; z1 K: ~5 s$ {6 T
        DWORD nId;
# C9 w# ]0 b' A* r+ y# |3 d        int nPart;
0 e* s' g3 ]* |- f9 s0 h5 q1 |5 V2 f8 H! ?* w6 j; j* b) f) R8 W
        ar >> nId;
# g9 A2 J, Z8 `% ]2 \        ar >> nPart;                + l) M1 E7 i2 b: t
       
! H. H. m8 }: b! A        if( nPart >= MAX_HUMAN_PARTS )       
1 h7 k+ _- R' A6 l9 a7 G, m) h5 G                return;" G4 \' m; f9 {

. J5 h: d- p: w. k. q8 J        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' z) E+ P) ^3 Y" p
+ m- G6 f/ d+ p+ ?, j3 a
. Y* m$ f1 v/ t3 A. [3 uCode:. h- Q& s% [  @. E. E$ @& I2 O
#ifdef __QUGET_SWAP_FIX' P0 u$ H3 [  C5 Y+ ?7 t: I: f8 u

1 L% g- j' [9 Q* w: V3 {                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )& a6 m$ q: Q: Y8 m  L+ l
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());7 y5 v: ^1 A( i' }. v' U2 b
% W0 r! P" }6 Q2 b
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )" R) v2 E/ e5 {/ {, a3 D5 _, G
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );* L0 J$ b/ ?. T% U8 N3 a6 ?

: U1 t. P6 V" d0 T6 T                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )$ N/ n' H: T; q5 u# e
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 ~& e# |( F/ g) i6 d2 E
! X: p: D2 D4 D9 {5 O
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" R8 x6 v0 g; t/ q  Q, wand add under: h' r6 p/ n/ Z7 u% g. l. ~

9 e) x  I2 k7 ?$ y4 c9 l2 ECode:& q. y1 N5 ?$ ?( E1 W; R
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): {$ O9 ]; \; j
                        {
. e( W* I* O1 Q4 I: x8 A                                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 );
3 K( {' @; R1 w. G7 Z                        }this
8 w, T8 L" |* o" R2 P! p6 u3 a' V6 X7 P* T4 \# d; t
Code:5 R1 g1 }6 j$ F% t
#ifdef __QUGET_SWAP_FIX
- \2 D6 R7 G5 g                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )) O8 P  r! O$ ^
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 }: f' X. Q0 I: G5 T" C

! W" o+ k+ O( r+ p: D0 S, ]$ X                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )6 H8 R" l+ {& j  K" e! d3 x. c* v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );% F5 X$ C9 d1 g" @. _
4 z( \" g% ^3 s0 W# k5 ?
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# [! i2 m* Z! L$ N2 A
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );; d4 ^( y, i! L$ x0 Q; ]

. {/ [" |$ m( w, e" Y: g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 l$ F' k2 M9 Z6 i& n

2 j2 b# V8 `! ^2 y& O( c$ Q. b! b- A( ]6 ?. x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 18:28 , Processed in 0.066052 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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