飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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
  c$ v7 C& i5 H/ o) n' t* ~2 RI posted this because someone kinda posted a youtube thingy about it :O.1 L0 d/ u5 R7 E1 W) M

7 V7 L" M0 X) VFind this in DPSrv.cpp @ worldserver* T$ ~- a8 r, U7 O) c9 K* N5 }0 W

( F+ Z0 W0 i' o! q, y: d; G  _Code:
7 {1 e/ ~" ]5 D) ~. V8 `( V$ nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
& i9 [- B3 Y8 |+ n8 t. x( R{% A" p  }7 s2 s# S
        DWORD nId;
; T0 O  |! I$ u$ l        int nPart;2 f, [" ]. @# Y
  o6 U' v' c# K5 m8 d: H+ N
        ar >> nId;
: d1 S+ u$ M$ s1 @! P        ar >> nPart;               
( Z0 x0 I% w$ F       
6 _6 R. @5 @1 J( z% L        if( nPart >= MAX_HUMAN_PARTS )       
$ y% ?& s9 x2 y. X, b! o: x# w; i                return;
/ ?" B5 I3 l& _" v' w. O. V+ [! N, H% ^$ b# ?0 ]
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
9 {6 `0 N/ b9 `: ~" D; B' \% N
5 z! Y. a: C' i; n- a# s
3 \, V4 H& S8 T) FCode:% J: z: C9 a/ H( ?
#ifdef __QUGET_SWAP_FIX% [& c( t% b4 T& {( G9 @
' j/ g' p0 z  P, j& c4 C5 \
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )  Z  D2 P. |3 Q- Z) u4 K; f
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ W2 l3 `9 n+ q# t% g

* d& R, Q8 w& ^                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) Z$ ~+ s; }: C5 x4 i                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
) D% ]' N4 `8 b' t' P9 j
& A% E0 e1 A. w0 |# Z4 V! v! a                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )  a* u& Z/ U9 @9 m8 ]) v* H" G
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 u5 |5 W) @9 U  }1 K; q

, Z( h. C9 i. n# h5 ]% b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) B/ X9 b; T6 m3 S% f9 N; v9 z
and add under
5 {" Z) S# h5 w+ W8 b- q5 c' V: c0 k* \
Code:
# [) b' q7 ]0 i+ K4 ?if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
& q" D+ T, R3 c2 i9 J) g, _; M                        {
! m9 S4 F" w$ z$ }* v# W' F                                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 );
7 V2 _7 n" D. f, p" X2 @                        }this$ O# f2 J$ z' d: _4 t% z( @

, J( S  {% i1 y( |. cCode:
4 S; h7 u8 ?0 i#ifdef __QUGET_SWAP_FIX7 K: b: S& p6 a% [) C" A
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )/ h7 M* Y. k' y; F' O  A% @
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());- Y/ p6 z- `, Q, ^0 \

! s- E7 D% ?2 Y7 U  h0 X2 |                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )+ _$ H  [9 y% v$ o
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
8 I3 }4 ~8 l: g/ _  C! e! X/ @3 v# b( Y' b8 w+ q
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
& v5 S( _- v. a- R5 I; [                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );5 g( b# K3 A& B

9 l/ v4 V1 y- n' y! P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& i$ G) z1 W$ S3 G) q) ]0 g6 j- W; k
$ o! n$ B8 |( G! u9 u  N, t! }; R
& G1 @4 r! F$ A! v# P, {4 t

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-28 09:56 , Processed in 0.069005 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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