飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17134|回复: 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 9 g: t7 ~( Y3 R% d  T! _( w/ {
I posted this because someone kinda posted a youtube thingy about it :O.
$ h1 S, p* d' A: H9 I* e, S) k) }2 n( E- w' b9 Z# M
Find this in DPSrv.cpp @ worldserver
& Q6 y4 L7 n' `6 v6 }6 q, J1 l, |& `* q( b
Code:
7 G8 G* A8 ]2 x0 c3 X) `void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 @1 m3 m* R6 M. ^9 s
{1 _' K+ O1 S+ e6 @& s$ X* `7 _2 Q
        DWORD nId;. Z' j" Q8 Z0 }5 g% @, B. D
        int nPart;
9 U# E( T: O' W( R1 r6 O. z$ H) @7 s
        ar >> nId;/ u; a( t4 e" t! f
        ar >> nPart;               
/ T9 d8 e9 E5 I2 u; g; R% Z       
0 {5 a. p, j9 A) _; m6 h        if( nPart >= MAX_HUMAN_PARTS )        $ H3 k* j) J, h& B
                return;
& t8 J5 g  a: K2 t; b7 ?0 {7 k0 X8 v: ?
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it& w; ?2 X/ |; }( }2 u7 b/ c6 I

) ^; p+ k# z8 P  k* e- X2 {- }3 ~3 q
Code:1 }- m  j( ~( \0 p6 J
#ifdef __QUGET_SWAP_FIX
0 a% c8 T) Z0 D/ Z7 t
) \3 ~6 m$ r. V4 H! Z$ x/ R2 m                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )5 j' [" g7 f9 ~( E( W/ H6 m8 v
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());  I* D2 L& |8 c1 c1 u0 k2 E
# ]" B; J" D7 l& g
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
4 \4 q& l1 x, k& S" H5 s                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );" N) E0 F9 _/ q! ~) z) ^8 J2 h" V2 B

  K  _! _' x; r- Q9 Y                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
# ]0 [# r) n# g2 z+ Z5 S  D( q$ m5 P  p                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 I' X; C" c' r. [$ G* u, g
7 g) X* B, A& y# E6 `5 P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
- N7 F5 O0 ~; s' s1 M3 qand add under
+ ]5 q. t4 T% F2 R
! s" q$ S& L5 n! S% H. _+ w/ lCode:
# d' y- B0 V1 x& V) [if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): w) c  O$ r' g# [. k
                        {
6 H  m4 I% f, o5 W' N* l: z                                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 );
. R5 ]- U, q" {9 [7 U! t+ h# _                        }this
  [7 j$ J8 d2 s9 l
. e' H- L/ i& M6 Q/ PCode:
6 i- }! G% I1 b! m7 V#ifdef __QUGET_SWAP_FIX+ k- f" }% {* Y6 Y* r  i1 N; z
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
+ W2 k0 d4 K: f1 J' t6 [0 ]                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
7 t4 D* n% }  ]% t  g! C& N: Y7 h' {; z( e: p2 N2 Q2 Y. c
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ). v- ?6 x! R/ @8 L# }
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );8 w5 ~9 _1 w# H: ?

( G0 _8 n) i5 W5 j4 ?$ Z$ ?% K; y                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
& B2 t+ M2 C4 k                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 U8 r" O, c5 M6 H
- N5 }% F- |% B# D
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
. L3 i9 x0 G9 n
4 z' h7 c5 }, |. f, g) F
. K  V" `  M. n

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 17:32 , Processed in 0.061219 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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