飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16897|回复: 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
; I" F; G% B/ Y+ ]; VI posted this because someone kinda posted a youtube thingy about it :O.( ?6 P7 ^5 @+ [, G3 U2 d
0 N6 G  `. ~. f
Find this in DPSrv.cpp @ worldserver# ]2 y# `2 G: B
$ ~' d. N: H3 ?  ]/ [- h
Code:1 M2 ^6 l1 }* s# v5 O
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 q& k5 U0 v- u3 r1 i* }* z
{
( M2 a! K+ P: D% h  w  ]        DWORD nId;
6 d/ u+ L6 O/ \0 @: A        int nPart;# ~1 J7 j8 L; c/ B

4 D3 Q7 R3 k* ?; e9 p$ g        ar >> nId;
' c5 K2 Z4 T6 B0 }7 m8 W( `8 Y        ar >> nPart;               
, @# k4 t; U% X# ^$ I- o       
3 c2 D1 E  k- w. L0 W        if( nPart >= MAX_HUMAN_PARTS )        4 d. [. ?" v; k  U5 t. a% o# z( O8 N+ i
                return;
. N( E7 j( Q. b/ e* y
% l) g% s* Q8 x" L. G  G        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% P$ }/ X4 A7 C8 _1 ^  h" t, k, |$ s8 S! _2 Y1 W1 r% E
& v& y* M! O: L+ g4 ]7 K
Code:
+ K- n$ {7 K7 N5 I2 Z! M#ifdef __QUGET_SWAP_FIX
* b+ g$ `. ~8 ?3 R9 }* W* m$ B$ j  C1 f
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 F/ H1 U* J, }$ O: ^% }3 H0 P
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());5 n7 v& t. ?! v, M- O0 v- Y
2 K, k. ]( Y) Y, u
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )! ?" Z. h- T7 B7 J3 G0 |  E
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
. S: ~! K0 G7 n& q
0 [7 V/ L1 d: ]( E! z! i7 M- p                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 L, V( f' o7 n  z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 t3 B! }0 _* |- r2 ^" _; w

! A- n0 i" n5 x8 C1 f( P, m#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 ~0 s3 w( z, i1 G. N. g8 I3 ~3 Xand add under
# ~# K0 ]& h& _8 U, g' V1 h# x
2 t; u* D$ g! F+ p% ~; vCode:
! y: d5 y4 }+ J+ l1 Xif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 K- h6 S1 a3 e8 `: W( W+ K6 z0 y                        {. E  b, p3 }. Z5 p, J1 U
                                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 );
6 R# p& |" s+ i  Q  g( R7 ~                        }this
5 S7 X5 B, \0 ~+ c9 q  m. A# }' V1 f8 B9 g+ l' U
Code:
$ r6 t: A: N5 Y& q* R! O- c#ifdef __QUGET_SWAP_FIX7 S3 b- w3 S' L2 K& j7 r
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
2 {, J9 K* R7 H* f0 k! f                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
  H! a& A1 Q; e* b1 }. P  b; z5 I8 Y  U6 _3 ?8 P
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )$ g; ?7 ~( b0 ~4 ?4 L  H0 }: v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
4 T$ D: E. F) X" `% n  Q" e0 R' i3 h9 p) w$ O( `4 T( F
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 |, U: e( k: Z4 \7 J, e
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- g9 E0 r; ]" C) i/ P+ V
2 \; X8 \0 M) o! t2 f#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; I8 x6 {4 Y% V  U4 {" Z
1 b) W# @& v2 N6 W* b
) K* T4 f3 c* ?, Q+ R7 X. O* x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-11 23:57 , Processed in 0.081941 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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