飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
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
/ l0 y( j. l7 Q& \: l/ l8 aI posted this because someone kinda posted a youtube thingy about it :O.+ X- d4 A$ T% P' i4 c/ z( c5 C, q; C

" w/ Z: \7 ^' @. I6 a3 V/ X9 SFind this in DPSrv.cpp @ worldserver) M- P) h. |& t" W+ @

* c+ z* N- O$ V8 A) [, PCode:: h- x, |& `) G. `' M% ^
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ): i" y/ g' ~9 H4 D% }7 y* Y
{5 j8 ~- G; ?! H+ j5 o9 D' E
        DWORD nId;3 [6 ^+ d$ S+ L; z  q$ V1 i4 h
        int nPart;. d1 K% W6 L' z! c5 q
$ e# n+ ^" V3 d' O- d1 ]
        ar >> nId;
% _" z4 `7 E0 w5 L" R; U        ar >> nPart;               
/ R+ D( o% p- t       
8 Y5 m7 W0 i9 ^9 T! f1 s        if( nPart >= MAX_HUMAN_PARTS )        + O8 L; J- c6 b4 o  ^! ]* n
                return;
3 P2 W" o$ U5 U# Z8 o! M8 a9 p  _  i5 X6 O& p* H: q$ Y
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ e) J1 B& Z( E3 k8 q  t, }: Z
1 ]& v. h. T& c- {
6 ~1 l) a1 R$ H" mCode:) |- t9 t( e7 d% R. U$ @
#ifdef __QUGET_SWAP_FIX) D( @, Q: p0 n2 ?2 Q
  F% R+ @# e! g3 q9 N
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ), ^* e% S' s/ j& z8 ~
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ O* h! l5 m1 Z/ Z& R% p

, R0 x7 A- G! e                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
) A5 L1 n& g# S3 n1 x% b' j                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );  `) t1 j. J6 E0 U( `! C0 i
7 j8 w- m1 l. X6 J( c" R: Q
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )' \2 k  C9 V6 a) n* W6 d( o
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% H9 j! M1 S$ S( x2 E! t- n+ R7 P' V. ~) \2 X; P% ^8 y
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp: r) l  H& ]1 {6 V4 ]6 y
and add under* @" }% R$ |; C

! Z4 k+ q+ O; ^/ ~0 @7 Z" M( lCode:' X' s8 `; C  X" q& m6 C: T
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 x2 e2 K& P4 o+ i' ^& j/ R
                        {: {5 l3 t- f4 j* G
                                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 );
: C  u4 x$ ?0 N                        }this
" Q  d, |! A" U( h/ c: _0 \8 U" F) G& _  }: C  l6 g2 [
Code:" l9 C; O5 R2 e  v8 e
#ifdef __QUGET_SWAP_FIX
: b& R/ W+ ~. p" N# f                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ). W" f  w( ^3 A; {4 ^, Z2 }
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 d: \# d- V" a0 m0 ]5 }! S: j. c- _7 ?
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
" G2 D: u5 t" N                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
& {, ^5 X5 }3 m5 c; W3 f% v: T
7 Z  b6 s! G+ F  a1 y4 g                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 s: @, b9 o- \2 [' D1 J: X
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! v0 J( a4 U* p% U8 ^# U2 x$ g4 O$ L
9 j8 S3 i6 U& z3 M, ~  Y" K
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* F- N$ d+ y2 ?1 ^( e
8 {. `, Z8 I7 w8 l( c* \( l* E/ Z# h" q) v7 c% h, d

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-4 14:10 , Processed in 0.116573 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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