飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
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 9 \7 `2 X+ R# u& l* C- q
I posted this because someone kinda posted a youtube thingy about it :O.& S& O9 d& ]8 b. ]( O! y
* C) e$ ?; k7 v
Find this in DPSrv.cpp @ worldserver
: I5 ]/ e6 ~2 {4 ?/ g3 M2 U% d
- u/ F& v0 n  b2 n$ `9 X% G# C2 qCode:# }9 l& q: i6 b" W2 d
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )" i1 B% `% V1 y' U3 A. ?3 \3 k
{
) v* t2 O/ ]9 a4 z8 ~        DWORD nId;
1 A, H$ V2 V4 A5 w  E6 b6 R. A        int nPart;  F* x: J5 N. S

2 e& E2 B* }, z        ar >> nId;
# l( _2 H/ o9 k        ar >> nPart;               
. Q! \$ q! ?* h% P  T0 Z4 g9 c8 ?       
6 @8 \/ M4 j! K        if( nPart >= MAX_HUMAN_PARTS )       
# k" w  a' G: A& H6 w                return;
  \' `, q8 Y9 S1 |- S8 ~9 G
6 b7 S3 b, v7 w3 q4 E        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it$ |4 s) z2 j6 ?% a" ]
$ Z7 p" j, c" d7 [

- u# L, y* u# b1 g* S7 U# xCode:+ o% P6 `. \3 B! J5 ?9 S
#ifdef __QUGET_SWAP_FIX
* f/ m9 d+ J/ Y' y5 ~% \! ^9 Q- P
% M8 T4 |/ G: [4 Y4 }. x0 V: ^, t. J                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& |. {: o% ^: r- D8 E* Z                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());5 ?0 ]' Z- Y/ g, }
, m) q) }1 V: P" {! f( A
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
  |4 ~3 s, V! J                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );) @4 u9 x; k/ x4 {, [5 G" h, ]

& l1 Z+ p# H% Z9 g: q, S1 H) c                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )  R# t2 f3 W1 N" q% B: W
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );( N/ x3 x/ q/ j% v$ ]

2 J* h+ L. _; G: g% [+ Z% E& \#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp* ]9 ?- E5 @$ R: f+ Z& x9 U: c
and add under+ ~5 B" n+ u/ e2 L
  {6 I( T3 }' ]7 a$ {6 o3 h
Code:( G+ P8 J$ q( R3 A8 g
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); o( I+ A9 ]8 c4 l
                        {
! C; t4 z! W  h# n, B; k. M, o                                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 );7 J. z, p0 C* D7 i
                        }this0 r( U5 \& h3 h+ |2 D( w
( P4 _( n! S% Y/ W+ ~( m5 t1 X. Z
Code:* p+ j: |* T4 [) l# k
#ifdef __QUGET_SWAP_FIX
3 p/ _; Z  B* ?+ R& B                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
% {0 B7 j- T* D& D, ]                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
) q! u- D/ p0 B( R4 X( \" u- N: G" b0 f
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )/ p# T0 R6 R1 F! |7 l. n
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );4 I8 o' U1 i: q

- a! ]0 M. ]* J- v8 h3 c                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )- x" t9 m2 i- `% D
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );2 G+ w* @* k# D( s) g# U0 V2 t

- D0 y+ `7 L8 d) g1 @, h9 k6 D" z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
' _; e: F. M" n' k5 E% V  _6 W# o, ~/ R. d) W8 }
! m9 `  F/ F- `4 b/ @( K4 l

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-3 23:34 , Processed in 0.059342 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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