飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16231|回复: 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
" a/ A3 B" N- ~* `. D3 Y4 A7 \. r) pI posted this because someone kinda posted a youtube thingy about it :O.4 n! ?1 f, g9 o: I# T
+ y5 y: z* N, H6 x; Z5 L
Find this in DPSrv.cpp @ worldserver" N0 B) e* o- C3 d# r& L4 |: f

& b) _& v; G& ECode:, I8 Y4 C4 Y4 B! T1 ~
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )2 L( ?7 ]( [  X) D- M+ J. f
{
6 P) m9 c7 a7 H        DWORD nId;/ D& M, s1 _) e& k  M
        int nPart;
) |0 z8 A6 |) N2 |; Q/ B5 f, T6 l6 `1 s
        ar >> nId;
( x$ K; t7 O8 H. p, }9 M        ar >> nPart;               
: o4 o3 Y8 Q* ?2 Y% ~. A3 p/ R       
* @! \" ]2 v4 R        if( nPart >= MAX_HUMAN_PARTS )        ! E; e. `1 w" [3 n4 \
                return;
- ^  R1 V/ v$ A+ d, I4 H4 |; A
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it. e3 `! V' A3 Q9 }! A
! [, ?, }7 I% p( N& k; i3 s  m7 Q% s
2 y/ S  b+ `, O+ z
Code:/ u2 b9 h8 B# C8 Z+ i+ n+ y
#ifdef __QUGET_SWAP_FIX
! V$ K/ l/ n, p9 C/ r' V9 a9 ]4 {) t. G: d( I0 D! Y
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
6 a2 d5 B5 I' t! P! h8 n                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
7 e( c$ |' W! K7 A# }1 C9 Z4 ?0 P
5 v0 c4 e: ]( Z1 G                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& k: s7 N( V4 J$ ~" _$ [                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );: ^) C8 E8 y, @% z0 H
7 Z# G8 n  e9 T6 m( X( H
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 \* U6 S! I9 `2 y9 x                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& ?# H2 ~& J& q$ n2 A5 f5 C2 p
% T4 |* C, ]" a- P" s
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ D0 _) l3 I& @and add under
) L( F  ]; b' T4 g, R  {, H& G7 I9 S! Z9 K- v& ]
Code:/ E# t2 b, x* b. A
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 G) K0 S, ~' d7 h                        {& E% l6 G  y5 Y: T2 Y/ q) 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 );2 P. T+ A& x& u
                        }this
7 e8 q6 u4 G" t! ~
; l  C9 t( K! @1 aCode:& {, g: l9 P8 S  g/ V# w" F" N
#ifdef __QUGET_SWAP_FIX9 e4 `. f% P/ t/ O/ Z% p9 [4 S
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )# P5 m) N- @& R
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());: [0 q2 ]$ S" m, `! v# z
, d+ y1 O2 T& W  e9 @, r
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
- Y" B8 Q/ K1 ]+ S# V                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );1 Y# Z7 ^- Q: [1 A3 m. s

( h7 p  v  ^8 ^" w/ q8 V& ~                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 N( s$ I4 E' @' Z5 z
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ m& u# I7 y5 G2 T' o
, W! L' _& _) E2 O& p% E, a# r#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ F- M" {& m5 Z0 _5 x/ _  e7 q4 E8 ^. p) S2 R
. q/ p/ F% b- ?

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 15:02 , Processed in 0.064745 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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