飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16289|回复: 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
8 O( ^4 K1 M  G# ^5 Q* vI posted this because someone kinda posted a youtube thingy about it :O.# F3 L6 ~# q2 t) v+ W, \& _. M  D

* a( u& L& R& |( _% N1 w: S* C3 I2 b- BFind this in DPSrv.cpp @ worldserver' I4 a+ e6 m! {
, _- Z' [  v5 L7 G- O0 N6 k- M
Code:
4 A) f" a/ ~  ]& B- A7 M4 Dvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
" Y  N5 B2 A( l& ~6 e& C" M1 s{/ S6 e5 E8 ~; R9 b( c( x/ x
        DWORD nId;
0 Y9 N% X+ @" G0 q; j+ {( z        int nPart;0 K! x9 @6 h7 A( b8 b2 C/ D
& L* K' }5 P' Q6 F
        ar >> nId;
8 S% j* N+ x+ K$ _+ i        ar >> nPart;               
- P( |" R1 u+ F  ^        ; T# o, j, O" p5 P9 ?
        if( nPart >= MAX_HUMAN_PARTS )       
) @  D( P; w' A4 H0 Q/ l9 Q9 P                return;
( x1 `& G( P  d: v% Q; c
# g8 w- @3 Y, \        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it/ \7 o2 a; q& f/ w7 m
  Y4 B+ F' v, p: E6 L3 |

+ W, z( v! e2 V. o8 \( {Code:
: W' [0 {. i  J. r0 f#ifdef __QUGET_SWAP_FIX
& R; r6 `' ~! D: w: Q+ k( f, C; C- C% O# m
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )& q+ d8 E1 x) @% L9 v+ M' f
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());  B+ \4 k2 O- A. p, `% `  k
. h. {/ X5 G$ v; f$ x
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ), h0 i! ^2 V& A4 K& [0 N  \
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
5 I1 \$ a5 K: R: C, ~9 T% k6 p$ r9 @/ o. `" a
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 J' h7 v( X( w0 ~. w4 G7 I                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' ^1 `2 G- h% m/ D  a6 N" w7 z
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' P) }9 L+ a% j
and add under; i8 v% |6 L: L0 N5 {* G5 ]: C

% T8 X( a8 ]# y% M* q( `4 U8 PCode:) v7 E: |7 I9 @) Y& k8 b4 O  t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 z) T7 h3 `# E0 w7 K
                        {
0 r' O" l; Z# J2 G$ V. a$ J, Z                                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 );. @5 p! K( X) u! z9 J$ i; \
                        }this$ R6 v$ Q$ K/ V

8 x! r/ j1 T9 b8 _8 X, F2 i- `Code:- Z  g+ s& U! Z# @0 ^
#ifdef __QUGET_SWAP_FIX
9 n9 I" b! n* B* t                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
5 a" H; R- n" h! C+ L                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, I' m4 ~& i- n* i* @- O3 g, B& V! N& M& C8 q7 D' f5 }5 @, j! y
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* {% J2 q: N$ j
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );5 M. l$ c6 Q, U& H  l( E, V4 `
+ y8 k+ ~) R8 U5 `4 L
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
; P) u8 t5 C" {; V5 P& G' [1 \                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! T/ g1 Y# A. p3 T

/ `! Q# f- n4 T- B5 P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . t; d8 ]$ W! ?

; r: V7 I4 a) T3 Z# ~0 O4 [* E# ~" k0 J  `- ?) O) a! {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 01:27 , Processed in 0.069165 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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