飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16230|回复: 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: g( l& j0 \, N9 }3 o9 M
I posted this because someone kinda posted a youtube thingy about it :O.
, a6 {5 o# \5 B
9 E2 p4 k) L* j  NFind this in DPSrv.cpp @ worldserver
' H2 A7 m3 I5 \) Z) y' o, ^8 N# q) h( d9 m
Code:
8 ~5 B  a# |" |; C* X( X+ [- Fvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, E0 H$ b6 T3 H# Y$ p{
) u5 R' u) j! N  Q6 O3 ?        DWORD nId;
7 E- q; o) ~2 Q- X+ {7 n        int nPart;) r; ?7 ?& k8 i; B1 {
/ j0 O% v8 g+ A" p. r) w8 v: B+ K
        ar >> nId;1 k* ^2 ~0 B8 V
        ar >> nPart;               
# X; S- M8 \, K6 ^) `        1 B5 k& s. x9 U# H
        if( nPart >= MAX_HUMAN_PARTS )       
/ Y$ U+ j$ Q, S! x" h  |                return;3 o$ o0 k" P) O+ p

7 @+ H, J, O. E% v* C        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- ]6 h' K* L+ f- O' p/ u; l) @6 s3 z$ U7 u

% ^; e9 K, h) U2 M# c% ACode:
8 A7 \/ }) j4 @#ifdef __QUGET_SWAP_FIX- q! W+ L4 i( z5 D7 b6 t. Y

/ v8 o7 ~/ Q( u                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 |/ K- m9 d7 ]) T! k9 A4 `
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());2 a' Q, T' i: j. z4 ]8 z
9 J& t. N5 \# I. l, J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )7 M9 i  Z# R# b  k$ O; K3 H; k
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );1 x8 m8 A. K0 }0 l2 \* w

: T' c+ z1 l* _+ |& t* N" v                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: C# X0 q* X  B  q) w1 A' n                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );- k* m0 H. k( @- U% V1 f

+ B4 k, y+ E0 @2 B; W2 U. _. M#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
8 E& Q0 a# y/ rand add under1 F' u2 F! S% l% E  c
0 W# U1 Q6 M8 t1 i  C6 i. u
Code:
/ I  l3 D& Y; U6 z1 s! D" C4 Qif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )/ e% a6 i- v; v
                        {
" z' C& M# Q4 Q: Y$ ]1 P! c                                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 );
8 D5 u8 h/ m$ L0 }                        }this
+ y! u: E( c# n- _, `7 n+ V- N
% o, K6 Y& x4 q; u* g. I6 gCode:
7 h8 s3 \1 ~1 L5 x, q2 h( ?#ifdef __QUGET_SWAP_FIX) V( X0 L& a4 s; v
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 q" Z2 o1 Q( e  B: }4 f4 d                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
' S8 P2 ?: k' X. H! m( M) K( ?5 v) q* W! p: J7 N" U
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ); ]1 h+ o( m0 ~
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
9 a7 z1 o& y8 ]: B' P, H( \4 N% u3 U) H- [) a8 y- N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )5 j5 i/ I3 `4 C3 U. a( Z* n
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 |# Q9 v( C  f) l0 |7 F
+ c9 t7 x6 ~! T' f9 ^* D6 ?3 @( y
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 r  Y! [' R( u1 q4 i4 e
) w+ e- e7 a, @) W$ ^: a2 C

- Q3 H/ M/ L0 ^

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 08:57 , Processed in 0.060488 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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