飞飞世界论坛

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

修复交换错误

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
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
- C2 R" G; M+ ]I posted this because someone kinda posted a youtube thingy about it :O.
/ D. a/ U* J! s- ~( Z2 w  c) u: ~( y- {# d8 _
Find this in DPSrv.cpp @ worldserver3 `1 N/ t8 E4 c* A% `/ Q

6 k" L! I; E0 x% h; yCode:$ m$ ^6 i* \" N5 E/ L
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" D. q/ n  y% X$ S" _5 i# n{
" G- L. N8 @& z! b0 p/ p( _/ W        DWORD nId;! P1 n: T4 h, n2 L/ k0 U
        int nPart;# h6 l: W2 m- O: o
9 k& J  z+ G! r# h9 [$ N
        ar >> nId;
7 A2 x. q( U3 H        ar >> nPart;                " L# A* X! o- ~: [/ Y9 k3 \( }
       
: z, q3 W3 K3 p6 u! L        if( nPart >= MAX_HUMAN_PARTS )        $ ~5 j/ `; M/ I; _/ u7 }
                return;
" i) M0 V3 l3 M( B& v, v! j8 F3 k5 R6 a# b! Z
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
" b& l1 k4 Z# p4 X+ @& r3 E& J7 {8 j+ K  Z8 h% a
# @: j% q& f+ B/ y. L9 Y/ i2 ~+ B
Code:
0 J, S: X2 }! e4 {! g; b" S. K#ifdef __QUGET_SWAP_FIX
# n: q- M/ r( V$ ?2 Y& u
/ n# q. e- a8 C8 E1 ~/ d1 [                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )/ i* V2 e. m, E+ y/ E$ Z$ v
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());# a" i$ X) a/ B; _4 c: C* l

+ ~8 q  W8 P8 B: c                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )% B! n. u  N6 V+ I- s1 {8 d- J
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
5 S/ ?9 U1 ?* I) f1 ^: ]/ O; n
& r( U) V* A8 N. t8 Q) a, k# z                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
) v- e2 q+ m  }3 i9 l) e                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, c* ^# S5 Y3 A# y- l, G  B
3 C, W( b8 @4 @4 W
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp" m4 E8 w( P! o& i
and add under' g& L+ z3 Z5 ?% R& }# K6 v8 r: ~3 g

9 O+ [5 D$ f8 y& lCode:& i: N7 g# J* v0 b5 K9 |$ @. k
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) x: j, |8 u% w$ E# ^8 \                        {0 o5 h* ?" M! T: `0 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 );
+ z" z- m& T. W$ S' x6 a                        }this4 Y& Y1 V$ \) f
( q( Z7 i4 [( a+ q
Code:
$ a0 v/ F( J' z) {6 F#ifdef __QUGET_SWAP_FIX9 `( L+ K2 ?& ]9 I
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
) W9 ~% M$ D* {* S6 B  F- g. N                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());% y' O6 s1 N  Z. H
/ y2 {6 D. x/ z4 o# m- q2 X; k* w4 p5 R
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
: ^; k; H. N+ c, K                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ w. G3 \& |2 }* d5 ~

+ E& C( }" n6 _1 k$ |# }                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" A. K6 W4 Y. f+ C2 e3 S
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. G, J/ @( D+ \) {( f7 m9 ~* {4 {9 n3 K8 u
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
8 @5 ]. ~$ f3 r1 u9 x# X) B" R1 k1 ~5 {' K1 N

6 j) Q" ?" B3 t8 y! y. y0 H

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:55 , Processed in 0.059801 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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