飞飞世界论坛

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

修复交换错误

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
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 ' z0 Q/ _6 {' l+ z0 K
I posted this because someone kinda posted a youtube thingy about it :O.
  q* m( h: Z9 q( I, N: x4 m; x, @! ~& G, _% p+ T6 B5 S4 j( e' x- v
Find this in DPSrv.cpp @ worldserver
* \3 Q: C) F2 N. X5 Z  _+ C; M
; ]' `# x5 W: x* E/ n" J2 r. HCode:
0 {8 v9 A  O% }  b; d, a' [, nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )) Q6 L- Y& n) b# N3 e1 x  T* S  Q
{
+ H; E  K1 }. o& u        DWORD nId;
2 T" ]2 `! ~6 x$ X! I        int nPart;
" k, d: {5 k; h$ \
( u# @9 r3 l9 ]" c2 A, O& Q" u5 Y        ar >> nId;
0 S. z2 V% N' M3 l        ar >> nPart;               
0 \. h9 w7 r6 H4 [        ' c/ S/ Y6 C8 M( l% I2 E4 k9 `+ B
        if( nPart >= MAX_HUMAN_PARTS )       
, O7 I6 S! j9 R5 b                return;, `; w0 c+ ~- W  M/ }) ~+ k4 W

0 E  r; _, }+ B5 f        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* o6 y$ J7 K$ H) H% r: U. y* h: a2 L2 T: Y, D

1 ]  E, Z$ S* t7 j' Y* y3 `Code:. @1 Q) |( N) B- P5 _' Y
#ifdef __QUGET_SWAP_FIX/ x# E5 q, @" }6 z6 O" C6 z* h
8 n# v/ o# ^, V: o0 V
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
; O' h# u& Y7 D, X) E. P$ r                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) e& [7 B8 @8 c& X- f" F8 K" d% G
2 I- w! P" s/ r! J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )- y- @3 _" r! \: m8 b
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ \' n( R/ H5 s/ j: d2 ?

/ A/ D+ y# ?8 M+ h/ {: i: `                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: |9 ^2 t( v  R. ]4 E/ l3 ?3 G% z9 i                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# J! ?3 ]+ T5 F" l% Z) k1 U
* N" c4 J5 c3 j9 H7 O#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- c+ ]/ ]2 e' [7 p
and add under7 Y2 w" n/ r- {, r

; Q2 o& }* @* B, B. hCode:/ H! z: m& Y0 k6 ^* }4 Z/ n) \. Q
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" w: b; E( h$ [! T4 {                        {
" ^4 J* ?4 ]- O. i! {( J4 N                                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 );
1 c4 O1 |6 `9 [! W2 g0 ~! ~2 o* G                        }this. U9 ~8 M) |! e2 k9 S

5 T$ ]8 M# C" G7 J. S$ kCode:
1 m7 r/ i( j1 B5 W( w0 w#ifdef __QUGET_SWAP_FIX) `$ j' O3 H, Q9 {- @
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )- P3 B( [" F+ u
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());8 f7 G6 Y# G, H; z, Q+ ?

1 W- Y- m0 v- u2 y  j0 Y& a                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- O+ X1 ?0 P7 D) L  z
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 x5 s; _& q$ G# k+ [) U

) V; F: K7 {: m- l. w                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ }0 {' n, x* p) O                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );+ g1 }) E* s6 k

# V- j& q% {  @+ b3 e9 v2 w9 S8 d+ E#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ d0 T6 Q( M4 ]+ [3 L8 o7 ~% @
% t" J. d& H: F0 }$ \: ?& ~
* N+ M, ~6 T  P

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 05:36 , Processed in 0.068797 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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