飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16791|回复: 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
) b8 W' X( x6 ?( {4 S- fI posted this because someone kinda posted a youtube thingy about it :O.
1 ^% a* F/ Y* Y+ j3 T( y# l4 X
Find this in DPSrv.cpp @ worldserver
9 U! U# p3 H; Y) H3 a- R& N) q) `& Y' t4 Y# Z
Code:
3 ~9 U6 g& r! p$ {8 Svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 P  A. a; o! c6 M- d" I
{
; x6 I: g. l  v/ o        DWORD nId;8 T4 T: u4 {" k; I* f4 ?) h% j! p7 g
        int nPart;% K9 D# Z. m% k! L+ M' T' ]* q
" i7 p: D  z5 J9 y
        ar >> nId;+ ~) s( b& |2 B* b4 {& N  ^7 ^
        ar >> nPart;                ! g" ^3 v; l  i( X* K- c
       
! o& O+ `' o9 U0 r6 Z- w        if( nPart >= MAX_HUMAN_PARTS )       
- U' M8 [* S+ I                return;) M3 C0 q8 G4 Q; a
2 ~' @4 J0 J; y4 @9 Z; _+ c: t
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it* F) z! t/ ~2 i! t
, y  M5 v5 e, @" Z  N1 Q

7 w7 ~" Y0 S% F2 s+ }Code:
4 A2 A) C/ v" n#ifdef __QUGET_SWAP_FIX
( m: E: D; e% F1 W5 c6 y0 v/ \- K& w) b2 y9 _
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )# C, p2 Y, J' r2 R1 n
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());: q! N( s' w, K( r0 `( a

% X; a+ ~5 I2 d# u/ Z3 S5 }1 ?. R8 Z                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ p) n) H* b  P, b                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' f1 f6 ?) k) f& ?4 H
$ L4 R- S. |# x; l9 |
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )! q4 |7 o- V! ^* [+ h
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. H  R' Z9 a- c7 |/ G

! `, B4 u; Q* W8 A#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
$ J  Z8 Q5 J- _+ ~  {/ y. A6 vand add under/ i$ E' I& Z- Q& g" G3 k4 g$ d
5 M- g3 ]% {( ]. ?5 `
Code:
6 u9 h5 \9 A. E% ^& L. Dif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 R8 @+ q! Z7 @1 o6 a+ B                        {  f7 l+ X* u2 {  g6 W$ V( l8 l
                                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 );/ _( O- K( |( j5 y& [
                        }this
& ?8 [6 d! O* J# M# o. C# Q) w# l: ?" v  c8 t" u
Code:
5 I9 l" H; R# x# v#ifdef __QUGET_SWAP_FIX
) L4 l9 T- k. w7 s4 N. R2 g( D: I                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )" Z, i( N5 a1 w. e3 j
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 Y9 L8 L1 E3 X# x7 o4 x) [# i
$ T2 i8 P' i9 _' O5 e
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* l0 J! \! `; f5 R) @
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );1 \1 h0 p+ b7 I3 x8 v; N: N

, D3 j* m8 R2 r' q- p) \1 p1 d                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
- o4 r- L' f- G3 `# l, m# ~                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ r' a$ K4 `& h, r) o9 W5 W! v

, r  U4 k. \* M# |/ {7 O8 @3 p#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
. ~3 [7 d9 v* q- s7 Y, U/ F1 r! A
: s% \& y1 H( j
) w/ h4 p# t  q6 Q& L1 |

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 13:42 , Processed in 0.071162 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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