飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16472|回复: 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 1 L, K$ U( Z& [! x6 S1 i: j
I posted this because someone kinda posted a youtube thingy about it :O.2 y$ R3 m9 C' m' g! I! u

1 D, w4 X7 B% C, \/ e4 p6 PFind this in DPSrv.cpp @ worldserver" m5 c% n0 M) \% m- l! X7 x( _
2 u! t+ c' B- v& M$ F1 T/ J
Code:
* c" B$ t  k( K/ j: i- V2 kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )  a& o! X6 @% \2 Q
{
4 ?0 @+ I$ E: @- |$ ]+ ^        DWORD nId;4 T* v* F7 ]' V  D5 ?7 ^6 F
        int nPart;
. |) z- D3 e# e" t( [; Q9 W! l
! }5 _; {, j5 R* ?        ar >> nId;
3 ^$ Z! H9 B. r1 {        ar >> nPart;                + Z3 M0 J9 E- h2 p* c+ D. B
        6 Q& X0 r) @% u, I7 ?
        if( nPart >= MAX_HUMAN_PARTS )       
; b5 g1 `# i: T6 D+ [0 N                return;
; d9 e9 E# q; T! M
4 z# p, M0 x- }  K. S% {/ L: z        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ j$ ^6 g6 g3 a. }4 v, f! ^7 P! ^
* s5 P; ^( |. A2 ~0 ?5 J* Q
7 p+ T6 x2 I+ x. P2 J- \2 W! bCode:
% \0 N% N$ J! ]( s% P7 Y#ifdef __QUGET_SWAP_FIX
1 }6 b+ m% z  b7 p
# i  S, \9 d5 _1 H                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )/ k2 K) T& g! j6 l
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) Y' e$ u9 I3 x# j$ F. I

8 k1 i+ d: O3 ~3 n, \3 e                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& U: h. x, A" n1 ?' |# [                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
# R$ _! p" L% C! X; _- X) u' T' j" v
5 C" S7 r" K/ e4 v                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ), _/ x9 [8 H, s! o6 a1 E
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 }4 F. e6 k% w. }8 m3 j- W3 a- a
3 n2 K% @5 D" t8 l: q9 m8 k$ w
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 c) V% T( u4 D' d
and add under
: G6 _  H5 ?1 F- S4 Y) @- O
3 Q+ Y# b& U5 ]7 N, B& E, sCode:0 G: q$ N% n9 m3 b: Z6 k
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 f& w  p5 r- u# p7 _* i* U: ^
                        {* z+ l: Z" F, P/ m
                                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 );' S8 H& X. Z* ]0 `/ g
                        }this
6 J  P1 G8 Q0 _* E2 L& W- B) P
1 @7 }, O9 A5 \Code:% ?4 K% _3 D! H( o
#ifdef __QUGET_SWAP_FIX, V# Z3 A9 F+ p4 C7 ]. W0 i+ a
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
* m( e2 X) L- V$ i6 Y: D6 U                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());- b8 P7 Z, M5 Q/ ]" H/ }

3 P# {7 J( m8 E$ c4 C* u, n- Y0 R                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ); K" b& t6 B% c/ K
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ a* F( U, _9 U8 D% p: m/ l
' S: G8 T( @* q. L: v                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ @! X- Y( `( A7 w0 \                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 v1 E% M1 D- F5 Q; V- B

% D8 W/ v( H' z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 @, E8 E7 A: T9 q1 }% q8 d

/ ?- R1 a, P4 ]. W# Z8 i. W
3 W* F% c# Y, ]) o. G: l: ^/ o

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 10:52 , Processed in 0.060719 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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