飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15168|回复: 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 3 g8 h) R" p3 N3 [
I posted this because someone kinda posted a youtube thingy about it :O.
' r3 W4 m& w  X
1 E* G0 O' n$ }4 l2 AFind this in DPSrv.cpp @ worldserver
9 S* i; d  g- M/ T) ^% q5 ^/ l4 B- t# F6 k5 ^2 ~7 G
Code:
  N) R/ _0 U! n' gvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )6 i: c8 J5 m4 h# C2 M$ i
{
4 E0 S2 T( v. _) S; ?4 }9 i$ c# P        DWORD nId;
! ~; A8 J, I' J$ G        int nPart;
0 Z. [' \6 }# u' S" o! K8 X
# f9 I# Y8 a- d! n2 [4 [; F        ar >> nId;4 K6 X" e" V/ p
        ar >> nPart;                & \" a, B% u4 S$ D0 T1 A9 D4 T
       
& w8 ~/ O+ t( g9 P        if( nPart >= MAX_HUMAN_PARTS )       
& E2 v' m8 i. V% c  s. X# ]                return;
) \# G% e( V8 B! Z+ a* c! C& O5 a0 r2 D
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it! A  m8 o2 I6 B0 a3 N- i6 v, }

' X& p8 G! I4 r. X* S0 l8 c4 l9 R- R7 r  O5 j$ n
Code:
' V7 {8 M6 \( L#ifdef __QUGET_SWAP_FIX, d' F; W0 a1 x( @/ H' G
0 P0 q5 H1 ]$ J) ?4 @3 u
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 R: |) }: q/ r/ O) Z0 X' @
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 z0 j2 J9 E1 X" z5 i, T6 R% S
( W/ i& Q7 o, M3 _
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
2 _3 j7 m6 M$ O3 w2 g* K                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );- l: _) r: _9 W! p$ w1 o6 q

" c& F4 `$ E' `$ b4 e                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
6 j+ Y3 l- q4 X4 f4 h+ N                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ Q3 A- v2 b) R9 L% e. P
8 @9 b* V2 Y: I. ]" o
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* ^+ R$ T. }& X( j4 N; @3 H7 M2 _7 y, fand add under
. a5 N% l- p; h
8 |; T# d+ n) o% D1 P9 S# Z" }- \Code:
: O2 J! W/ D1 D) U9 E! iif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& `+ M+ W) R1 j7 l4 }: n
                        {
7 T" K! |" m0 E7 p; u2 }) }% }                                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 );
0 Y+ n( e: ^+ Z& y& O& d: T' E                        }this
8 R" [+ e, K; ^+ i1 t
2 J0 q) U$ H1 l1 \5 ^# {2 |Code:5 h7 T8 m0 w. \! g: M
#ifdef __QUGET_SWAP_FIX; I& A; p" e( z8 \8 Q1 X
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 u5 C: Z4 j# L
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
# I0 X1 c3 ]2 ?2 n1 M$ ^) W7 q! o/ f0 G+ ?
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ): M' o6 r0 G$ H1 U
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
9 E* ?; {* o/ N. K* U  k
& j$ x/ b. Q2 d" A, m                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )2 u" @) g! x0 Z1 k2 M3 c
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
6 p* _# s2 u7 h4 Q" d1 u. T& S4 o& }% d# ]
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 Z3 I* z- x9 `, S9 z7 i* P7 s. g3 x' \

% \. W/ ^9 p2 `0 G/ F$ ]: T3 h
, P" d# ?3 @: _  ^: z( k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-11 18:21 , Processed in 0.066604 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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