飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16480|回复: 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 3 |) t- F0 N% t
I posted this because someone kinda posted a youtube thingy about it :O.
# L/ |+ S( Z1 z1 T4 ]
' S' J! H9 G. i0 n, `: b) v+ mFind this in DPSrv.cpp @ worldserver- \" P2 B; N  {+ d! u. s
% b3 Y9 Z1 V, k; c5 W
Code:
6 a3 J! v1 Q" C! ]. ^: {void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
0 M$ k& H9 j; F0 z{
0 w8 I  Y# S% N" Z: g7 h        DWORD nId;. |$ Z: {7 s8 q) @3 M, t
        int nPart;& Z  ^: B  M& r7 r4 O

9 Q, u- j% u) w3 v$ G2 }, I: r; u/ a/ H8 ?        ar >> nId;
$ z) m/ D% U. P0 X5 u        ar >> nPart;                9 f6 H, k6 `+ F$ w$ J, E, u0 t$ s3 T
        ! |! B& e3 v) ]* s7 o% E
        if( nPart >= MAX_HUMAN_PARTS )       
# x& z2 D1 t! w) V, ]! }                return;; l( {) g+ y! V5 u/ o: m
) g' C- m1 J; z. g1 k' t
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 B: v2 t( k' Q$ B
6 Q1 Q- C$ d0 r0 s" B3 R
) w+ N6 g% i7 y" Z: J% m8 L2 ?Code:" ~/ {8 Z! R$ h$ w2 ^
#ifdef __QUGET_SWAP_FIX2 I) U& Z  B9 p$ n9 l
+ B9 M/ \$ i3 b9 W
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )( `" Q& n% l# W
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());5 e% y, h) e3 J* `2 `+ d

! K9 q, T: \. F5 ~( ?4 t                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )2 b: N4 {( ]% F2 |
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ U/ p. \1 m" I4 [4 [! k4 r
0 V# b+ B7 ], X* a
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
3 k; ^4 Q& L; S. i5 N                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
, h& D$ k- g" i  g2 ^. ^+ W6 y* }) }+ e+ E, B2 c
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 T0 A6 J" F' [
and add under
% F: E, X1 F& k0 q; k( l/ |
; M) j: C( |6 B/ @" JCode:7 G" }5 g. b. t! u/ B4 L6 F
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )1 ~. A, E8 R1 k/ ]3 Q3 d" t
                        {
* T  L6 b# W3 P                                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 );; U" v) L: [2 J- C- [( ?  j
                        }this( \& L3 z' g6 |
& V0 C6 _% B9 t8 Q, n) r! u
Code:
! w  ]* b6 D, q7 K/ ?) P#ifdef __QUGET_SWAP_FIX4 O' V. ^6 _) f8 {+ p
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ). w) f, E" J9 |- Y1 ?
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. y0 k6 F4 Y9 @; W( e( a1 M4 ^7 [1 {& F8 o5 B/ [( G
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ). K  P# {6 Y4 v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
) y0 B' i* N- }9 s# T/ b+ @4 \
# B0 I: I7 B  f( ?                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 B- ?# [: x$ ^7 i7 A$ ^                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 Z( K: t( A: y6 Q8 E3 x, |# a5 J& o) M" \0 b7 m
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
3 p7 m3 N& A  `. c
9 X+ }5 n# M- @5 c1 L+ b
& ?, u" L# P( w: j2 p2 c9 b. m

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 20:55 , Processed in 0.161891 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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