飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16375|回复: 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 7 O- X5 L1 o0 }& Q2 p' g5 a
I posted this because someone kinda posted a youtube thingy about it :O.
. Y5 n" L  Q4 G/ v  o
& v( ?. b* ^% }9 H( P5 X+ q9 nFind this in DPSrv.cpp @ worldserver
9 `2 j& F7 l* i6 f$ }; \. }  q& x7 b; m* D
Code:
& [  O( d7 b. X, bvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& a) m' a; e0 U! }) F8 k
{: ]! V% L$ }2 a' }4 }  o
        DWORD nId;
$ L& z( x4 m0 ]" B/ `8 B/ r! d        int nPart;, R2 W7 \7 e$ {, o6 u. b- ]

9 \( a4 P9 E& Z* b- u        ar >> nId;
. B% D- j( n# Q9 [        ar >> nPart;               
1 ?' B- C( j$ j  R& n8 D       
& I1 G: L: Q- @% J% [% s        if( nPart >= MAX_HUMAN_PARTS )       
# [; k! j+ _, C# e  F! ]4 f                return;
  g9 }* m* }  H8 n5 `" ~; q* c
* q$ i6 W7 i* r8 p        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
9 n$ e' }+ D& \7 Z7 H8 l
% D5 N% `: O% O& T5 x
4 Y& u, X2 U) V" kCode:
3 d% M; G- x. I% \6 j#ifdef __QUGET_SWAP_FIX; d1 I0 f3 n# }
* I5 \# R6 A0 a* u* x
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )) G8 O) E" G  `$ |( @% P5 n
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 A( h" `  V5 @# i  @

) f7 B( l4 L# r/ A                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )3 f6 O3 A8 B7 l" _
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
1 e) u3 x. A* y9 A1 f, Y6 ?0 @# S) t+ q5 W& R* W: T
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
3 ^$ }, ~5 \( W                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 N- B; c; e( C4 i: j8 v

" R# f, ?$ }  w# _#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) l+ ]% O1 z8 o" G; D* V3 u  gand add under1 O$ @0 k$ K' }7 Y

: D6 o9 \( q3 q+ x- K5 }Code:, ^8 ]( |2 u/ e+ {) N
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
# [) @6 S4 O8 U: |) Z4 Z/ o7 s                        {
4 I& z1 r. f' z                                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 );2 N+ H$ V/ M$ z: V! W/ G
                        }this
2 q  z' O& b, [/ d9 w8 z/ J7 q7 P, h! F6 A7 A
Code:
$ b5 l3 z& u* K# \5 X& q! Q( j#ifdef __QUGET_SWAP_FIX
( ?7 [% ^; w, A7 O, {, O  r                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
( H5 k$ v  O5 M/ |/ W% j) _                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( e/ V$ q& W9 D: E. P& C9 K4 p* Q8 C) }* q' i& X5 b; J& V8 n( }
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )$ ~" z  J" Y" _* {; f9 ?0 p5 ?
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
# Z/ f" L0 k* v3 `6 D3 A/ V  X+ @: M' U5 _6 T% L9 q4 B  ~$ R9 U# f
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" C& \2 ^- [* s: |
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 v3 M2 E% s3 Z5 U6 S
+ q: _% g* M  z8 ~#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& u/ ^& u5 m) Q4 L
( M. v: r1 G2 g+ L' u( D6 |* z3 V5 Q9 Z/ v# Y- L8 M

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 21:55 , Processed in 0.068651 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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