飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16551|回复: 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
+ b. w6 N2 y; Q, q# `) F" H7 L- bI posted this because someone kinda posted a youtube thingy about it :O.
2 L% p8 M1 I1 W2 e- U+ A1 B, {# t% ?1 n1 Y$ f, Y
Find this in DPSrv.cpp @ worldserver& _( |' U4 a& l1 v. @5 K
1 R1 y4 E! s7 ^7 d; f# y% J1 j0 ~
Code:, ^7 p" f) J/ Q9 R. d
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% ?2 o- S& i. j2 d4 E4 q* _{
/ b  Z# t* K# L2 g        DWORD nId;
- e" \. E+ c8 T8 T; j5 Z5 U1 v" S2 U' I3 a        int nPart;
3 C& D- [8 r8 e' |% \/ P
; }6 y- f- o* P/ X' n" i, h, Z6 S, r9 d        ar >> nId;7 P, |* D9 _5 @, x$ l
        ar >> nPart;                & g6 T/ A. E* h& C, s: X* h
        # R5 |6 G5 K0 b) V: j3 B
        if( nPart >= MAX_HUMAN_PARTS )        ; D% k* ]* o& y
                return;
! p5 W5 ~; f0 m( W6 B: ~! R9 m6 z  J- a. t& f) S% i
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 M! Y4 n3 x4 r% A+ C
/ l! e, C9 Q4 R5 q& F4 T
0 ^; A) {6 ?# T3 C! B1 h
Code:
9 \9 K( W! F1 Q1 }: J" p" I# G#ifdef __QUGET_SWAP_FIX
6 R; A/ }! ~& s0 M1 L5 P. s) V8 L1 D: L
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
9 [/ i/ w7 |: w; M9 N9 q                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
4 ]# c% u3 f8 u& g( ^+ s7 n% z
" C* p" m0 f8 d1 x                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )0 l3 l2 D5 ^2 H; @; F  N4 p3 N7 N
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
+ V0 @  s" e: |6 X# U1 L0 l$ t" T
& B9 \4 }7 U. n/ z: }5 }) [                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )% l* J8 e) ~* r7 ?4 _5 n1 o
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* Y. n6 N* ?& ]" _+ X

* Z- t2 O+ r6 Y, v- s#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
7 j* e# m" ?' b4 uand add under
% E' X4 u/ |/ \. Z9 Y; g$ B
3 k( l/ g& m* I' ], n  oCode:
* C, v' {( D1 x' }! Aif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 s2 L- i  l% W1 ^
                        {& O) q! ?8 i, x5 k
                                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 );7 {2 _' Y) Q8 A: S
                        }this* v1 N. m8 z& {( J% m

) n7 u" D: r+ c& Q& |# lCode:2 @6 h" x  s8 p' e, I8 g
#ifdef __QUGET_SWAP_FIX
: s. l. P! E3 G                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )9 Z$ L& P- e/ M- j* U2 _. ^) t
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, t! e1 a6 i5 I& T: ]2 b
/ r& E! s/ C  I2 [" b& Y2 h# o                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
# W* D7 O- A9 b) i, m, C                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );5 y9 X4 _7 ?% _( @9 X
& P; N1 `4 t# [- g( S3 b
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
' `, H- `' L, F# E5 o2 u0 p; p                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
) ?0 m3 H: y8 p: V9 q3 \$ S2 q% l/ N- J  X
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 l& r5 w+ z- t) b
. `% E" D% }3 e  o, ^* b) z7 Y0 S2 t% l
# H& q! s# B/ R% B7 q' Y* x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-19 14:02 , Processed in 0.055302 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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