飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17033|回复: 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
; `4 i+ `. a; sI posted this because someone kinda posted a youtube thingy about it :O.
/ p% o- z  s& P( z
( x9 f" P2 n9 e" c* E! q& h5 m" h1 Z. zFind this in DPSrv.cpp @ worldserver* G; d% w7 Q; d: X
2 t: M1 P8 r, Y! U' O
Code:, u/ g: E- x2 {$ J+ l2 p  O. D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) u4 D: E. q' f" o" h: h  h3 x{
& s3 d: C) _9 J8 Y7 X- O8 U        DWORD nId;  T; O# L! s( J2 J0 f
        int nPart;
; F1 l' g& C: N9 g% P; \2 c! k8 O5 D- ~; U4 W, @4 ^2 H3 W% H. G
        ar >> nId;% l9 V( d- L1 M& Z! Y- k/ t" K
        ar >> nPart;                " h# i+ ?% [+ s6 z9 U
       
& _6 f) D5 p% Y        if( nPart >= MAX_HUMAN_PARTS )        8 N3 B) i- f* J; B3 B' S6 O7 [- [: K0 _
                return;
" B* x  H# N, ~" ?4 k7 M; W* y8 @+ u6 W5 Q7 C) D, L: J- h. k
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% T0 f3 X7 Z2 H, G& K8 X! W' I' |( q6 D
* {% W# N' b; s  z

" @8 ?2 s- i' LCode:
4 D9 t, N/ r. ]. B3 Q, c" E% T3 i#ifdef __QUGET_SWAP_FIX. `4 z5 G7 P/ f" d& U" u
& d$ |8 P; m: \
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )! Y" f( G6 v* r& Q3 X
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
7 o, D  e- C2 L* R
" E1 w. ?  E' t6 ?3 w                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )# b( u7 c& N0 A/ P0 A2 {1 t0 z
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' w8 @7 t% h' B$ `. l" G2 p. f& L9 T
2 F& b6 R9 j1 {3 G' E                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
2 t3 x7 `- f; ~                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 j! N2 |5 s$ v5 k
9 f! K; X) ~  F# W#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
! d9 B% \9 J6 r1 X* f0 oand add under# K, W, W" ~" ^6 o. s1 E5 V

" l+ t$ k4 }* J6 qCode:; ~3 y7 o$ L! H( s- T. m: h) Z4 M
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
; O  M$ N, `- c6 c( {  J                        {& w; Y. u; i5 l: p. n5 ?" w* w
                                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 );
$ b1 l9 V  k5 I5 @( t" t                        }this. q1 b1 m: r, O

# F! P5 P0 f& c$ I+ s8 GCode:7 t: v# U6 _3 r  Y$ \/ S
#ifdef __QUGET_SWAP_FIX
8 P( V1 E, M8 s                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
$ @1 |3 ~+ i- o. \' J6 U  e$ W6 i                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 i6 q: ^6 G! i3 s
; A% x: U+ i7 o- R, M1 v
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 ^$ i+ A' c) }
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
1 v7 j( e" B2 b; u0 X. k& {8 C3 O4 K! H; [9 E/ Y2 L0 }2 k
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# _7 Z1 ?% H! P4 G4 Q
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
( J) |4 f6 i% {) E
$ ]# j( L' x$ E, I#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
0 `% o0 D0 o& f
9 c2 p$ |/ W& X( a. m+ c
3 V; K9 `+ y6 D* o7 p

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 22:57 , Processed in 0.060964 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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