飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16336|回复: 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 / J- U  Q0 j! m! X. [9 V( J5 I. k
I posted this because someone kinda posted a youtube thingy about it :O.* q0 a5 b+ ?9 O% E* }& P

5 F2 J7 c( t3 A; m! _! sFind this in DPSrv.cpp @ worldserver5 v+ k7 N+ L) p% z, P. Z: `

- V% H/ i/ [; o9 N# A( ^. G8 S0 ZCode:
$ c$ D6 ~  i1 `9 m9 [- ?void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 F) Z7 L7 R) j3 B1 O7 h5 v
{
; S4 }9 \2 M+ K- T$ E4 U: G- ~        DWORD nId;: x* i+ S4 f+ X
        int nPart;
, f: T. m: ^. t- x0 r) _' \: E4 @3 R9 _
        ar >> nId;
. y; n  @  f* }: A: z- {1 Q* v8 M        ar >> nPart;                - R0 _( E* b, Q
       
/ G7 C1 |7 G7 G- e7 S9 M$ Y1 t        if( nPart >= MAX_HUMAN_PARTS )       
2 J! |% u* e! e# \6 N9 ]  \# {                return;) D4 \" V3 N% q. ^5 X+ Z7 g3 p4 [

5 r3 u8 [* m! Z0 U! c        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it( A0 m# a/ s* C% L2 u

% \$ [6 q& m3 }0 f( }8 e9 \9 W9 r- h% J3 t1 [6 v
Code:
) |0 `+ t$ T2 u+ @4 g9 C#ifdef __QUGET_SWAP_FIX
, x* m- M/ Z! Z1 d
2 t1 N9 A; g& L* y& U6 A                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )2 w+ ]; I  B' K: [0 a7 F3 d- c3 Y
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());( U0 u( n( h" t! x6 m

) F3 e, t+ u1 a1 m6 {% V5 B                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ); Q2 a! |6 f; N4 b' ^7 x, P0 E) F
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ u- @+ J4 u  E( v, G
" w- V4 b: \  Z6 v" U1 D, M  f  W& g
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ), H: l% a& }/ z4 P" C+ M! J
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );  g& l( y( c+ i
  T  T) }/ _; @/ q; p8 A
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
' T  |9 `; s1 R/ Cand add under
+ _! i+ k# v1 d% i6 Q' e& Q* K  i, S8 l; L
Code:
. c3 f. }% y3 R8 }# oif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
  d: I1 P: n* T# y/ V& I                        {8 Q. D( s9 `+ B  P3 c- O9 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 );
) C3 v5 I# N, `# t1 W3 W                        }this
/ P- {0 ~* r& n) w5 l" V$ ?
5 T, B) B" ?( w7 h4 _' tCode:) F3 L, e9 E' @1 S5 R
#ifdef __QUGET_SWAP_FIX
7 \; T5 X9 A5 @% h0 L5 B; J                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )1 |' {; W8 [3 A; n$ z5 k
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());, ?, I/ \8 r; f. V( g

2 c( R) K- i5 g0 V6 G                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 Q+ ~4 N; d" G5 s
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, W" m/ y& {  D8 Z1 f! O5 A; A3 Q- d( y2 s) j7 m- D7 w
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 n! b- e* d1 c+ h2 L+ t/ C5 [                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ H' w& F8 g. R7 t' a

! i. v& M8 A0 p, y#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver % W$ r2 i: G5 h$ X

/ N& h/ v# P, {% Y8 ]; T
- S0 n1 ?/ {2 p( c

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 22:18 , Processed in 0.061358 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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