飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16410|回复: 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 , O+ v. B" o" @" F% x
I posted this because someone kinda posted a youtube thingy about it :O.
' t$ b& P2 i5 D( s$ ]
- O, F  c2 N" P: n4 }# bFind this in DPSrv.cpp @ worldserver( B( j5 j/ P7 {

) x3 R  H( f5 Y8 _% jCode:) I3 i5 q6 x  M! f* W- `4 A) n7 u
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
9 e' Z( v* F, I3 u{
4 t$ c2 |' v" }9 a) O        DWORD nId;
& e1 _$ Z+ |& ^. a- ^7 M        int nPart;$ @9 }: l# s, x+ f; R( Q4 K3 g
+ _8 v1 f$ U  z* ~" S
        ar >> nId;
& S- _' t+ q( l1 a        ar >> nPart;                3 n, z* I( E2 z7 c
        & z6 J$ {, h* z; ?& J; p# V
        if( nPart >= MAX_HUMAN_PARTS )       
) w: \: [6 s/ Y  h  K                return;/ b. B8 F8 H# u" ~! t( z

- z: V! t! ?- F2 E        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it' R/ L9 e! n  j; d+ S; Z
0 p* X& g% S9 q* L/ A; H

; {, t, [. G& h; L* s' bCode:9 y/ F5 w; E6 T6 u7 Z
#ifdef __QUGET_SWAP_FIX/ d: e2 G: i! p8 t/ A
7 f& t+ ?6 L5 g% k* V) i
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
7 |' j3 }7 _- n( S2 `+ G                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());  V' b( t( @( U7 Q5 Z1 e' B

0 Y7 q$ s5 N3 g4 B, p                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )- L, C$ P/ i  C
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
) r" a+ |: _6 o+ E! P0 R3 w
& w8 \, ^! k! {* c9 k6 \, ~                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" m% ~! ^  s! t% J
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );4 F3 P/ v1 S. E6 p
3 }% [* l$ C" h* M/ `1 ~5 a
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp$ g0 a% P" P' H$ J  H
and add under
& g( \, r) X& u) C  n
' j. e8 V& D. ~5 N4 f0 s! GCode:9 i# e$ L$ k  C, e" p8 w$ s
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& }' H& z5 s: ]% P* A' \& s
                        {
4 y) l" {3 A) p- k/ t$ P                                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 );
* n2 b# ~1 @. n7 @0 {                        }this
. c9 l9 ?* L% \6 O+ m3 i. s: X3 e: Q4 y
Code:
9 l' z( t0 e# Z2 }#ifdef __QUGET_SWAP_FIX7 G/ w$ K) _  _, O$ Z
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )  Q) p; C7 A* `3 B' b
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! G/ z5 ]- w( k  }2 i0 ~6 q8 X/ w4 {! M$ l5 @- Y3 V9 i1 `
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
5 T1 m* x2 N9 L" w* C, i                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
7 K" I1 W" O% W! R
. ^; E1 h* p" f7 t                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
- b. o: l3 R( D& H, Y) q% P$ D" E+ H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- z# A% N+ G& z( d0 S4 Y# D7 F( S+ ~1 M+ I
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " C% C) V6 N: D/ H

1 P& ]0 e9 D% K8 X9 g3 r- S9 ~+ {7 J- l" g+ i$ L" o

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 23:58 , Processed in 0.074656 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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