飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16184|回复: 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 $ ]; [9 b; u; X7 ]
I posted this because someone kinda posted a youtube thingy about it :O.
2 i. m; C( o0 q" H0 r. I  G  \" i( a7 Z8 _7 |. k/ T8 H3 ^/ s1 q
Find this in DPSrv.cpp @ worldserver
2 d+ N( m3 `' I$ e: h- O& f# k. {7 K/ g" Z# a, \. i+ [& _
Code:
' s' w0 J2 d/ b' x- k+ ~/ nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, X' T) x3 Q+ w* {! ]{
* y. I8 X6 R6 p1 t2 H8 j" ]        DWORD nId;
$ P$ q- g1 F. D/ e5 r' O& @, a* A( D4 ]        int nPart;
% ?8 h! Y( G9 L! y0 X: Z' J  e: d+ l7 ]5 k0 Q5 ~" _
        ar >> nId;
5 m% ?- x- ]) Y% X& \        ar >> nPart;               
( d5 L% @* E' Y$ h8 V        , T, S" ^2 I: N: V8 V3 V/ x
        if( nPart >= MAX_HUMAN_PARTS )       
* O% u3 L- b" L. v) V                return;' y3 H) Z6 l! Y

: ~3 t  L2 m2 q# {        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it& Z$ O4 }6 L8 W0 O, w. l

+ L, M! q" H, x' p- A6 Y+ _. F$ `9 a! J' n, }- y& r
Code:
8 z& {3 T! Y  A; T5 \6 J#ifdef __QUGET_SWAP_FIX
( L1 U) @( ~- L
7 h- B* q5 r( j                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
1 I" T* h! t2 }* S6 z' W                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());( Z9 i* G* ]- R" G$ F; k" Q

7 n- a# `- ]8 C3 P+ W3 m6 m                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
' T- d! v3 Y3 K' L/ i  ^                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( o1 X: Q, B. E  w7 I3 A3 j6 b
  i% ?. Y3 p+ J8 M/ a# m
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: O& k+ U6 ~1 P2 `) r) @$ i1 h0 R1 o4 T                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );- r& K" r: F: B* G! i! S4 m
$ W- T3 N+ i8 j5 Q% R
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. q" k+ r& J/ f' n0 R( w' Rand add under
& D1 l* G* y; j+ H3 H1 v: ^( R3 D( S# L
Code:
' f$ J6 ~6 i' l+ g% @if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 ^5 y; {4 r9 }2 ~+ u# p/ ?                        {
* C% b' ]2 y4 o! i& E                                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 );* o6 R0 ^% h4 {( f* s; f! D2 B
                        }this
0 T, r+ x- G2 q  I" K
6 |; m% P! l8 D" rCode:
. [; @5 ^% t4 [#ifdef __QUGET_SWAP_FIX( T  l: }" ]. d" k6 g
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
; V& Y' M0 C/ J                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
) L1 J( J9 n8 j) A4 K4 d* v0 W+ R
9 |+ h9 q. d: f: t# B4 Z; s# g                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 f; H/ q5 a# W& F                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
8 l. G( W& B4 c/ |6 S$ x7 _+ A3 a" t8 }. T- j+ W- }+ _+ Y/ O
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )  _# l9 S; k  d: }. m: n" r" F; n
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
  X2 [' Y; O, f' X* Y' p2 W$ m! h. C. I# C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 C$ f0 Y+ N( f! b, t- ]* M8 ]+ L5 O* a0 e
% U% Y9 J# e  O* g* A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-23 13:33 , Processed in 0.064970 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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