飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17336|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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 / \/ l8 r6 E& u
I posted this because someone kinda posted a youtube thingy about it :O.
1 ]+ h2 n. B7 N/ g0 C& i
9 B0 U0 `( q5 J2 J- }5 P* ~Find this in DPSrv.cpp @ worldserver# i( ?: R* Q/ |0 L$ r4 d
% O' O# U& f9 ^; j7 `
Code:
3 c( q1 f" n3 y9 P1 Ivoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! m! @8 }. d* N' l7 t; Y% m$ f{) r) h7 u5 m8 p1 B
        DWORD nId;
7 Y0 M" o  u& @& Y( X8 z        int nPart;  |& y5 C; d1 |$ p$ w$ i, P' k

6 t: J# y4 q: s* ~        ar >> nId;
: L' c  Q' E1 Q/ ?& Q        ar >> nPart;               
! P  A, S& b( r1 |2 j, i6 J- U       
- l; s& M( w$ O% K! K+ U        if( nPart >= MAX_HUMAN_PARTS )        1 }- o! n0 m2 s
                return;& g" d' ?& _. c, b3 {" f8 M3 g5 f) \

$ c) T' f2 ^) |+ W/ K. b9 K: s        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
: t) f2 v7 _8 X' n% O
' E/ Q% a7 F& I  u8 `' v7 q  V, ]' a) `3 ?5 \9 x: M/ k" b% K
Code:
4 m* d- m* S: \0 y, y#ifdef __QUGET_SWAP_FIX8 \1 d1 s) s; |9 W9 |

5 T8 f) _# K+ l1 _; G. N' C                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 @: K! u1 G- x
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
  f+ O  V: q  E# l6 ]: L8 J
% F  {" w/ \+ ~; Y                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )6 e1 o$ }7 r+ K3 `) |5 V
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
/ p& V1 _; [$ E- X% P! M3 a) E) D: b3 e  ^! }0 }8 r
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )4 |2 F' }9 R8 P# s& o! |+ A
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. Y% D/ X  I% \9 F4 D7 H

" ^: o9 u/ P5 A#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 S& i; R& k7 z$ F9 W: nand add under
1 N* R! g, Z+ J0 l2 `. G" k
( Q' q# A; d/ P% L/ GCode:9 b: X2 ~( |; a4 e- ?
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); f$ R- ~5 ~9 o( j8 x6 f( F
                        {
4 z7 k6 _5 \: A( N' J4 z5 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 );- d% V( O  x" L. G( L) x5 U
                        }this
1 R. B1 |1 T+ o9 u6 G. t& X8 `, _6 ]$ e6 c2 D" O" s4 U5 _
Code:
0 o7 V& M. Z$ y6 Z6 @: ^: f#ifdef __QUGET_SWAP_FIX$ Y, x) u- f0 s/ w& M! T# e4 L
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )3 P' y0 O- ^6 ?. v. c
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());1 r# N; P; z6 x" N( h& U
; S7 d% T4 F$ X
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
0 @  v6 K! D1 F                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ }% _# \( Z" c3 e' `# W" L" X8 ^- |0 _4 y, |' F, I$ }
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
1 b% d) r! f8 t' s% X( a                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
4 h3 o6 ?/ Y  N8 k. }; G6 P  q' }) c
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 _! I! Z! T& j% p+ K8 Z  M. J- a7 \1 e; V7 D1 V

/ i! a, x4 G2 d. x- \: Z

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 05:25 , Processed in 0.067370 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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