飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17042|回复: 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
# |2 [, a% Q/ N2 nI posted this because someone kinda posted a youtube thingy about it :O.
0 l9 Y1 e1 ~* b* Y5 F
9 Y$ ]: q( i0 i7 A9 i5 CFind this in DPSrv.cpp @ worldserver
. S( j; ^$ x( a3 k0 u4 {/ {$ a. Z7 S6 a9 ]( p0 |5 \
Code:
! [6 W4 x; b( U* Yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 P, D$ ?0 I( v8 D, G+ b* U; L
{
0 \2 C( u; h8 D' s        DWORD nId;
! U" `9 Z7 {8 i, T        int nPart;
" I1 p* {% Q* Y! ?/ l: V. ?6 T) }& t" x* W
        ar >> nId;- r: Q( Z( p6 S4 Z( B/ K# |0 }- g
        ar >> nPart;                $ w2 b5 _& d& `, D6 Y4 [5 x/ v
        : |. M! h. m8 J  [$ Q
        if( nPart >= MAX_HUMAN_PARTS )       
6 I; n$ l$ y' e) b8 d* A                return;. c( [& E4 o9 ^/ ]1 t+ @
5 Q: j. E0 ]6 {4 I& Y; ~
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 I4 H+ G+ s& P5 m8 F
: T6 y: g4 j2 z8 d9 F( u* q; }) W1 K) ?/ Y  O1 [$ j* O. |
Code:: ^1 f0 _/ o. |3 I0 I* Z7 n
#ifdef __QUGET_SWAP_FIX0 i0 E, H( o& s% v

! r! h4 t' {% a                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
# F% q6 K- l! c! `& x( G4 z                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 Q- \9 a2 u8 ~. f0 x# g; Y

" R( Q: ~" T* c  d4 q8 g                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
; s6 J' y  [6 b                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 x# {% ?' |0 O0 R# j
! {) Q- j8 Z( p4 U5 m
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 H, L; k/ B9 E3 Q                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );# W) i' J$ f# o7 n! _+ _; _
3 l( \- _8 f" H2 q: e
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
  N" `7 X, v6 l  Aand add under# b# ^% ~/ b4 \. f3 j8 }* i: w
7 T! N8 [3 B- Z
Code:- T) I$ k3 h% h3 B5 {) h
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 _: k/ a& a7 i0 A6 ~/ Z% Y                        {
. O$ E7 e( o8 r4 k                                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 );2 ~% r" ]% a4 H
                        }this
- ~/ f  h5 ]/ n4 T1 R) G8 D, w* a; q! L+ u5 b8 q
Code:
# h& M1 D7 t( V* q4 @( D( T#ifdef __QUGET_SWAP_FIX
  l7 e0 O; w8 w* a                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
% M5 |5 R+ F& O: j) O! x                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
  S9 }1 M) n! F" u  d
4 k! S( P. [, x& I                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )8 E( r* z: G9 r4 K9 g8 u- K
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- s, ~2 P% b1 L/ }% _* ]4 ~

) l  d+ b8 P' T                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
) o: ~+ J+ H4 u, `! l                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
) B% P( ?$ {, Y) `" X
; S5 a  x! i) Y. Z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
; u8 t  i6 f  a) V% Z; O+ L
2 Q  o; W$ T& M' Q% b4 L9 a3 d5 _8 R, y2 @7 \; K8 m

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 11:13 , Processed in 0.062938 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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