飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16483|回复: 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 ) T! Q' F! K, L  i, k0 \
I posted this because someone kinda posted a youtube thingy about it :O.1 W/ a$ D  i8 Y& e$ M

& t, p2 }8 n# n8 D. j4 MFind this in DPSrv.cpp @ worldserver3 E5 e9 v. j7 F
1 G. B7 T; t2 n2 W& B4 Y
Code:
3 \- ~1 h  E: v) a* j& d% q- r  Kvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' r, Q, b6 }# d1 U* E
{! G/ |3 S" R$ }* B
        DWORD nId;
1 s4 h6 p1 g3 K: P  ]        int nPart;
% i# v% N. R! g; E% h
1 i8 v) j7 z: D' @& |/ I        ar >> nId;! N3 I0 r/ J$ m8 d+ _
        ar >> nPart;               
/ p, z/ f0 x9 z: s7 E       
, R3 e" |7 i* I% ]$ d2 D        if( nPart >= MAX_HUMAN_PARTS )        3 u& u& g* v3 ^& {4 E7 L
                return;
6 ~5 z* q0 }, |& j' i3 W
8 D" K1 o: t1 [! p        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 t4 N0 b% ]3 u9 X* A. \4 L4 F1 A
) r& h5 b( y3 n' `3 l* o% P/ D* k8 G% ]6 X8 G0 ?7 ?+ _- M
Code:. R2 G: q" \0 Z  U7 g9 O/ G
#ifdef __QUGET_SWAP_FIX8 Q$ G6 w) L, U7 M
2 q2 L  j1 }% {; ^+ C  C
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
1 Q9 N5 @" I5 R# Z: g" ^                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());2 ]: H  a$ `3 @% K: `/ B

6 ^+ @& l$ }+ b$ e                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
! M- W4 n% |/ x/ w/ n# u                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );: K9 ?9 j$ w7 x1 C

2 B6 y5 D6 a( ^5 ~! L                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
8 U3 _* _. C/ O2 @: b) B; B/ b8 w                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
, s- z5 }/ P& G1 n( u5 L- J! L; C4 t* O0 z- q5 d, p$ R4 Z0 X
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 W/ X/ h. V8 c# X
and add under& \! `+ m* w$ H) A
( p; M: ]( R- H; k# L
Code:
* z# J( a7 [3 z2 Lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), \9 W' _- j5 g* h5 |3 `3 M2 C: ]
                        {: e' E1 r6 P2 |0 r" H: `
                                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 );! f  G2 E" ?6 I: F& j6 B( N
                        }this1 L: u) p. n7 s  T6 E9 w
' h  j& D7 p$ o1 Q( b
Code:
' N( I7 w! i/ I9 K- V0 N#ifdef __QUGET_SWAP_FIX' x1 v/ H- c, r8 m+ R( Z* v: F
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
/ i7 _' v. W$ d6 ~                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
$ A2 R  _$ [; g2 c+ f
# g3 A% H! B( O0 p: N5 X                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
5 I' Y4 q# O5 K                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );  G5 U$ ^  v7 B' i: ^9 n. G
) P6 V! A6 m, W% `
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
  X& c! q& Z& Q7 \& e                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );( ?# ]; S/ @- K- }8 o' ~- u+ J, @

7 M& ?2 ~8 M$ a4 ~. Q+ g9 k% Y) }#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ( {1 s( V4 _2 t' ^8 k

; t: e8 L( y. S1 U  q+ N
6 t3 B& W3 m. W3 Z* G( i

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 05:05 , Processed in 0.086811 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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