飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17034|回复: 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
5 x$ m# S( r1 l% Q" ]  gI posted this because someone kinda posted a youtube thingy about it :O.
+ b2 t7 k7 C, X; {; C# |, Q1 Y6 G: {8 Z; K  `  k
Find this in DPSrv.cpp @ worldserver- j  S6 H% I# e2 M4 _' h. b

4 z, M6 |& t; p7 v7 S, H( ]& TCode:4 \# A8 v  J8 L0 Z$ D' J  ?+ b
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 G6 T2 F5 W. y{0 g% k& Z6 L. a& x2 V/ T
        DWORD nId;
. M5 n  S( G# G: ?0 D  C* G        int nPart;- l, H/ f$ Z% [  V. M1 L
4 k2 w7 Z( f7 G  S& B0 \
        ar >> nId;9 ~( p- n5 k$ j" m! X
        ar >> nPart;                " j6 m9 Q( n9 G
       
) u6 r0 }& b/ h# X2 @: i. f        if( nPart >= MAX_HUMAN_PARTS )       
& Q: O4 w" f* d$ S9 T. L                return;
+ U* C! q" m) P& k; \) X1 ~- R  e$ o* C: m3 ?
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' T: e7 U- X& a. i5 \; U) v
* U; ]5 J- z- }* `
, ?: `$ {: Z. Q& H4 F! m$ MCode:
0 H3 t) ~) s& ^#ifdef __QUGET_SWAP_FIX
  ^; S2 v) y7 c# X% H2 m1 u4 G3 A
, d, \, f: y. G) F1 m  l7 C                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
7 v' O- M! [* p7 [- j6 I- D" W1 Z                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());- @4 M# D. n. O+ y
( {6 T; J  B# G1 Z
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )" j5 q& Q9 s, w& o- Z
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 p' o1 k( \6 F: c+ W& k, n8 [4 Z# F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )$ G/ u3 `% C$ Z9 y6 T- d! v; d
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
) y. r$ r9 k) [. E5 C5 _9 M6 P  s: \6 B! \; U) n4 E+ e
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. I& [! O) G9 ]( o: B/ b' \5 band add under
0 U' m: ?) c' g" }- z. k  a/ F5 t4 d$ o6 \4 r& m' Q1 R" G8 ^
Code:
0 [9 w/ {) m7 b  ?4 N9 mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
: ^, W: O2 `) L# ~$ }5 N: F                        {
% w" h; \: G1 F  V- \3 U8 J* g& 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 );
" s9 x6 b. j+ {1 L                        }this1 [% ?# `: k2 B; E9 ^# d2 u

" S' E5 H, j1 _6 G. }3 u* ICode:
9 H' s! }4 G, P' k: r* f# J#ifdef __QUGET_SWAP_FIX7 ?3 G, Q1 z8 N8 T
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
1 y% X; f$ R- W+ ^: T- }  E                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());0 f" ^! }9 v6 ^/ E5 \4 H. B

3 x/ `  C- k5 V5 J* T0 Z                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
* [! S- @" Q7 L0 m                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );1 U% h# J3 w2 @+ f$ Z7 t% @
) b" ]9 W2 p+ u5 i
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 r- r& l6 P% y% Y# x                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ f1 `4 Y+ c9 S
6 R9 P6 Q( B8 b/ _#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
# m7 C, y: d% a& i  e4 \" x6 x7 M, o7 V" q6 H; N3 z- N

2 w& i7 O# Y6 A

相关帖子

回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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