飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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
6 @; ^3 C  k* p: _! \0 {% W/ fI posted this because someone kinda posted a youtube thingy about it :O.( @* @, p2 E4 \3 X

5 K4 t- C( F- h+ J7 x, M+ m5 XFind this in DPSrv.cpp @ worldserver$ M, i9 ]' _$ u% W
* @" A) k1 l: K! d, i# i- W/ q
Code:+ ~6 p' A4 q/ N. Y$ a. f
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )$ [6 z( ]  S- `: {/ i
{5 i) I; b4 M! F6 Z: h$ |( J
        DWORD nId;# O$ i: b1 \: ?% z+ w
        int nPart;
$ l5 ?1 @! x; Q! S6 }9 o$ U6 y( F/ a
: M+ {0 K1 [9 Y" ~9 I0 s* d        ar >> nId;
! M( ]! S; U2 G        ar >> nPart;                9 r8 O7 ?+ r, r1 V
        4 M4 m" ?) x- H' A6 o9 ^
        if( nPart >= MAX_HUMAN_PARTS )        . x- t/ m5 ^$ s+ p) Y2 t( w8 I
                return;
5 B7 ]* R$ H4 b! f  m3 l2 o- x& r) O/ a# L
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! V. H5 u) S2 U, N0 S3 C! c9 @5 T, Q. ]; G4 I

' b4 u$ P& G8 Z- J) |Code:1 N; p7 X" S5 `. `" ?
#ifdef __QUGET_SWAP_FIX; V& R( F/ V8 A' j, {" h

! @9 Z/ S/ @5 r                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )% M7 y* X6 [) ?+ H
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());4 T" C5 @1 z% @  R
1 E7 W0 S3 I6 R+ k
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ ], s" K8 o/ M4 e4 Z/ D                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 m! {2 y* U, [! F" |1 b
3 _: J4 V6 N) n2 w
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
. Q  \* \- p) [$ @' C2 y                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& i) K6 @7 a0 ]" Y3 j2 h; q, K0 S
8 n9 N, y5 ^5 G
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
: G9 {0 a% h( s0 ^+ ]% z6 ~and add under
$ \1 x* u- J7 }% `  P5 R% P" k* Z' j' U* m" q3 a( l$ M3 R8 \
Code:
; K3 q% k9 m5 ~& {5 n9 E7 W' _if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
  U: E) o" Z! ?0 S                        {3 O, G( o. V; K
                                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 );0 x4 O  z% E/ ?$ B4 M
                        }this( b% _  e' y  k4 A% N+ c8 Q
$ B8 x  u: n4 o
Code:
4 _$ }7 K( G; m2 l#ifdef __QUGET_SWAP_FIX
: I) e  a1 a6 j0 B! Z7 h. _2 q                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )2 K. B; L; ^7 P4 x0 E$ R) O. c0 t9 E
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());6 \5 s) m, Y0 v1 F" Y+ g% Y& K

* m1 U7 C# X! R$ a8 x                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )7 o4 g9 [+ O. O
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- x  V/ q: C8 c+ U& v+ F) y; ^
1 q! |) Q. l8 b; S! T" u6 w                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 G* W1 C/ Y5 l: C9 M, s0 G                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
# x' D9 \5 s: n4 X' j! [. G8 r7 F: M5 X  _# W
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 P& x: |5 Q6 C3 k9 P5 N( s: h
5 Y+ d( v7 h1 o# `/ s: U
* d7 m& f+ i5 k& f

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-24 18:19 , Processed in 0.059337 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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