飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17158|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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 : l' E) a( p7 m7 v( w7 z
I posted this because someone kinda posted a youtube thingy about it :O.6 F" j# O' v2 H% m# }$ T2 ]

: d- P( N; |+ }9 L0 L! a& a; qFind this in DPSrv.cpp @ worldserver& \2 R) W6 }+ D3 H5 H9 @

' g1 ?8 |  I% B+ ?Code:
- H' C8 @  t, C0 Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! g) P+ z4 x8 f6 ^& U
{
+ d8 o% C( ~% X" A" z        DWORD nId;
( l8 v/ Y$ b" `. w; N        int nPart;
1 J5 g- V' l7 F1 K: T3 v0 W2 {
; I+ y2 Y/ }& W5 D# {, D+ U        ar >> nId;
7 i7 d8 j8 i1 G; L, S/ s0 n2 F6 z        ar >> nPart;                7 B0 i, d" A0 D
       
/ z4 I0 {, a- A5 T5 C& o9 B0 G        if( nPart >= MAX_HUMAN_PARTS )        ) E, o" m2 n$ W& L
                return;
2 l& C3 ^% q' ^6 o9 x- F
, c. o" t/ G2 q8 t        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it3 T! j. K5 A' y; O$ y
$ r- @& \7 b6 I3 Q* S7 ^& H

/ h0 c, t7 i7 p0 R4 B% `* WCode:
' H' _; |& j6 U. R% n#ifdef __QUGET_SWAP_FIX
8 I3 R$ e- `- v) y" w4 I: S' A4 M
! m0 t* ?! _$ M' u9 l+ K3 U                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )4 [) v+ [: O0 ~; t( }3 N
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
( `) A# S$ ]$ K7 p
4 s  H* t( m, z& P/ V$ I7 f                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )( A* z) W6 z2 `' m* @
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
+ Q2 H  A5 P0 `5 q. M, b( {8 I+ s" j: i& S
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: x. N, T1 I3 X! k/ H1 Z* Y) A                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 K$ F# \3 A6 v8 ^

5 q$ n7 v7 u  Q) u1 b#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 ~) \9 d, `7 y0 n& Cand add under5 P; t7 J/ r8 |
1 {7 {( l7 D* a/ s' S7 K
Code:
; d& l& e( d: w2 R9 }if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
- @( G1 l, j4 r! B8 H/ }                        {& p( p7 o) n) \9 s0 j
                                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 );
5 i( \' T1 l; u" H                        }this. @* ?3 R' V* |$ O2 D% @
# @# P8 u  v( a$ \6 R. x* K
Code:! g6 \% C, p0 p$ N& i7 P$ B4 e
#ifdef __QUGET_SWAP_FIX7 o5 S8 c4 [7 o6 s% U5 ?! S) I
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )2 n( `) z2 m3 m2 T# F7 o) y) N
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
3 L) P7 K# o: a# B6 o7 e# ^4 U$ A, i! r7 A+ z
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
  N0 V* j% q2 Z  {( Q' R                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
7 `# ~, g6 I! k' Z' v3 P& x
& f5 ?# u$ f2 {* F' U                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ), @) w0 M/ B4 A; r: k* a
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 p! d& p  X" [! K) k2 n# m0 i

2 f9 N/ @, Y. U" ~7 @% p  ~3 S, z6 v#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
  L6 J5 q/ m0 L3 u4 `* n( T0 s. @& o6 m: V- u; O2 G

+ w2 A7 v' \) S1 M

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-23 06:29 , Processed in 0.060956 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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