飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16445|回复: 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 u: y" M% U2 j* M/ tI posted this because someone kinda posted a youtube thingy about it :O.1 z! b  S2 k, ?) E5 |; _4 M- D

2 D! L5 ^/ b* I0 U, CFind this in DPSrv.cpp @ worldserver2 Q5 `  D! l4 T3 `# Q

) d) X3 I- v; c6 y( c( ?! SCode:
" x& w' G/ ]6 L4 P/ Xvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
* c5 D0 X. ~- f7 N{2 K, n  C: F3 G8 U6 d+ T
        DWORD nId;4 N, F$ z( M$ x
        int nPart;0 d! A: l" @1 I% z& J
# M4 d+ B/ o9 b$ L  O- }$ x
        ar >> nId;4 N6 F+ g* j* |# ]1 V
        ar >> nPart;                ' {# P7 f$ d7 O
        ' S9 A2 Z8 S/ R& }( ^5 P2 |/ B( k! P
        if( nPart >= MAX_HUMAN_PARTS )       
# N5 c: b: ?. S) r  a7 I                return;6 i4 q" M7 F9 o2 ?

0 L/ f7 p# }. B- Z        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it9 f+ r6 _, _' p' g. }7 R: p% z' V; n
5 O5 C4 d7 {: s" z
8 x; [7 T3 d+ X4 f! [4 E& x
Code:
: p" M$ X; q) x3 X* {1 I$ K#ifdef __QUGET_SWAP_FIX0 E' \- L* Z( C+ H6 Y

% l4 P8 R0 ~8 |+ ^9 c                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
8 S  y2 c& h, F" Z                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
1 n! i, D0 g) Z  n3 ~4 W4 t$ Q" y, \& E$ [9 l/ H6 l6 P
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ), k$ _( I$ H, E# b
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );& c. v; [9 F# ?4 M3 P0 ^3 U* X3 `$ m! i
8 W: G- s7 y, w8 }
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
8 k( J! j4 T" ~7 o6 `( O* B                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: D2 {% W  X3 O6 ]5 b% `; _
; N5 U$ v5 f0 `" p' w
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% N" e' S9 E0 Z$ v, z5 o5 X
and add under
3 }! {) ^+ g' n6 O# e* t# J; h2 v
. d, [" \5 y- `; A3 d, N0 \/ RCode:
* V, J; n8 n! c4 _" A% nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& C0 G5 t1 `7 N$ Y
                        {
" T) b+ r% v+ E) C/ C9 H4 `                                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 );. b8 m' H  f# F1 C( P7 y, \2 @" T
                        }this
1 i: {7 s' A! m1 m: F
' b" T6 W  z, Y) A8 xCode:2 q3 I0 v0 W5 G, Q" i  P8 l
#ifdef __QUGET_SWAP_FIX
0 s# Q4 ^! J/ L  i5 P2 a4 l9 J                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )2 Z; ]8 A, q$ N6 [
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: G/ ]6 z3 D) e4 h* `1 S
" f9 s7 f  |; N! J" X* |                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
) T6 I7 x1 L$ D) t, Z; P6 ^; j                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 I+ @* H" S' Y6 B2 X, M% r
( @1 @4 d& D% J                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); b+ O! u  c# ]( c
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 s- z3 C6 e! C, Z3 H4 c+ J) Z

% \' R8 |# _, v& W0 {* |6 o. k#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
% N4 B' f! W$ T9 ]6 U
" h) m% }( F/ D7 B3 ^* W! H/ ?3 r6 M: W" d

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 02:22 , Processed in 0.073458 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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