飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16998|回复: 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 Y9 L6 ?. g  N( s5 a
I posted this because someone kinda posted a youtube thingy about it :O.
0 c: `( ^$ E8 X, a4 J5 k7 u& o
# n' M3 F! s- l! G$ Q4 QFind this in DPSrv.cpp @ worldserver
: Z! G  c& t7 ], n" G/ A6 i2 ^+ W% @6 r# J0 i3 ~9 z
Code:
/ _. Y8 m' \' d, Bvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )+ z* j+ S% A( u; }
{* B2 h# b/ U  F# s; x( H
        DWORD nId;
& g" Y1 {  p+ t4 c        int nPart;9 p( l* _& G4 x" Z; I. {

* g  g& }0 b% p0 H3 v! o- d        ar >> nId;
7 ?; L) |& O2 F9 H/ `        ar >> nPart;                ) u% X' Q9 F3 N
          h2 I6 D) F4 D2 s1 z7 a+ a9 [5 F
        if( nPart >= MAX_HUMAN_PARTS )        4 A8 \5 t# F6 W" Y
                return;- f7 A" v: t- N# y9 s0 F) B
/ a& F& _9 o  s1 V% |, V
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it$ n% n3 |8 Q5 V0 A: }* I7 v
; Z; ]4 U5 o6 r$ [2 t( q2 M

9 `0 [- }& U; z  m4 qCode:+ i1 k, d* N* h; ?
#ifdef __QUGET_SWAP_FIX
$ c$ T- Q* v1 A2 P. \
; C- U+ e0 t7 @7 V* H                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
2 i- Y* C, n- O) p                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ Y% f2 x# V- i3 q! d9 q
5 d: n; X' s) p( W: s
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
( E1 n' I6 K. A1 \) N/ ?, g                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 G$ ]4 A$ x- ^  W; u9 L7 J  ]7 ?  L3 Q' I
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )3 {1 J4 O2 |1 U
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );  _( k# k' r9 `& S' q: _" [

  z7 f& W" p. _& B#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 |! i& F. Z" e& A/ g3 _
and add under
) T. i! U6 D" t9 O- n- i3 T' r/ b3 C* h/ O  j: j' `, s4 v0 |1 N
Code:
( s& |2 N, v' @7 R/ j9 f" Yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); t/ J# y+ Z* L
                        {
8 e7 i8 v/ d  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 );
: j( ]8 F+ a; u0 ^- v( b' T                        }this4 _: k) G. D& f8 d7 }

! o: J) e$ g. _' n. vCode:
* _$ E8 W9 @2 {0 G  d2 ^, c* M#ifdef __QUGET_SWAP_FIX% U) n# c9 ^+ \) h( `6 `
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )+ D2 b$ B* N4 ~  T. q6 L6 }' a
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());. d. m/ ^- }& x$ L9 m: u% \

* K# ~+ a% r( r5 G                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
- z& f% L+ \. F$ G                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
& u3 ?  [8 ^! Y0 `
1 l5 [  t& i9 L& Y                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 a& |' ^. b; @/ l+ L
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );6 |+ ]) q  y3 M

+ Y% c) @" h, B2 b#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 X+ E8 q% ^! S2 u4 x* l

- t1 r& a4 I2 d& W, V" [- p1 u; |
  X! \& F4 m6 f

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 06:41 , Processed in 0.061311 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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