飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
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
! g  B4 B) Z8 I& I# `4 }$ m" WI posted this because someone kinda posted a youtube thingy about it :O.+ Z2 \: R, g) w6 ^: U: \

1 \) N& }4 @1 }% D% P# [Find this in DPSrv.cpp @ worldserver
" `* j6 t! K. B, g  V& h7 a, Q; e+ l/ d  y3 p
Code:3 k  a/ d* M& d2 ?0 |
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
3 |" ]/ {* Y, S' l/ p: W& G4 @6 _{
$ R  o  K. ?2 a5 V; U        DWORD nId;
+ ?8 k( @( e& ^: t% A        int nPart;
! ]  l" ^& |9 D$ `* c
' C, H  t& F# d7 `* x2 o        ar >> nId;
1 [2 C) M  ~$ D6 }$ s3 S1 c% T9 s        ar >> nPart;                - B) s8 _# y* R" m1 Z8 u# T
        / ^, T2 k* u1 j7 B
        if( nPart >= MAX_HUMAN_PARTS )        ; C( x: V( P" A
                return;- ~: i1 U* F. n- A$ E: |# C1 y7 {

6 L1 p2 @+ e  c* `        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
4 V* d3 v# R& }' Q8 H
# z! v" D. ^  j+ s4 m' P
% |2 A* M; C; w; L5 GCode:
. V' h/ P) b7 T; X! n, v#ifdef __QUGET_SWAP_FIX3 l- B) j7 a- b! M; v$ u' R1 m

+ m2 g4 V7 G# t) b                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )1 h0 ~8 C0 v/ C
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());$ I5 @) E+ _8 c: B& w
6 b4 b0 C/ e1 ~
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
: ^4 X" w" c' O4 _" ?                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
; r- Y9 S5 }' l' B
5 i0 @( T8 A( n7 {' g: J! p9 ]/ _                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )# q8 i" ^* O) b
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 J3 H  H+ t9 m  d7 E) W
$ t  j% h0 F9 f$ v& [3 y
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 |& S$ [5 u. q; M$ p5 Mand add under$ M5 N: g  J$ u( _# Z1 D9 d
  s* c- W/ u7 b/ d# U
Code:: q  }+ |; O! n& h% D
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
: d; v+ X5 I% p- R# ~. F. `                        {
; M' G+ v4 |. A7 q2 Z+ Q8 c+ g                                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. }; m, c3 l. X) L2 ?$ B
                        }this1 v/ ^9 E6 U) e/ E" r

' Q) x3 N" _; j( u' G& c7 K0 eCode:
8 o% n5 o- R1 a% A#ifdef __QUGET_SWAP_FIX
1 u4 U4 y5 J% \( F                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 I" a0 V/ K) ~0 o# ?                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
  T1 z/ `8 k& g$ d% [8 Q% M0 Q; O3 B! ]3 Y
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )6 W" d" w  s: G  u# ]
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );9 x7 m% u, H, `/ X
* K5 o$ j! }9 V7 f
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ): Q% I. X7 Z& g+ Z2 z
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 i8 A1 k! y  ?8 x0 _' P$ S1 }
1 V* j2 W- O6 J* C: L1 U5 D( U7 N4 U#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ) s1 p, U2 _1 x

4 G9 i) d, x* d# ^' N8 Z0 x" B! y* x, s; G8 k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 00:13 , Processed in 0.067972 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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