飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17071|回复: 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 ' M; O& q5 n3 y9 K7 Y' W) {6 J3 f
I posted this because someone kinda posted a youtube thingy about it :O.$ Q7 Z  ^" Y; z- `& |! |

- I' h: G3 T& B3 Q5 W& vFind this in DPSrv.cpp @ worldserver  p) c: [8 B; D) a+ u
/ D/ C4 o) a/ V
Code:
+ S6 H5 c- x$ a5 q; wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 ]+ Y( S% ]1 Y8 s4 v: O8 W2 G8 D: T
{8 D5 a& d6 K& p% y
        DWORD nId;
! @$ @/ i2 x7 P) \7 w        int nPart;
# w# d+ z2 V1 k4 x; v
* r- r" ?0 U9 g# [: [0 @' A        ar >> nId;
5 Z: H7 Z+ h* w& N, g6 Q        ar >> nPart;               
: C% p$ Z% o1 q  }4 q) w" G        5 m& w) r& ]1 b
        if( nPart >= MAX_HUMAN_PARTS )        $ p! H' A" r& Z! v4 ^
                return;! R+ ?  m1 |, a0 E
% k6 v/ p! e0 M- v1 z
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it& W/ A2 [' g2 P: C0 T' z" b3 T; p
- K( q" A# Z, t- N  Z+ [

4 u+ u1 m# ]  y  j3 e' h& LCode:; s3 G  c; n, o# l. K
#ifdef __QUGET_SWAP_FIX
2 A6 B# V) x7 q. c9 o8 _. [; E2 m& A# ^* y0 p; Y6 O
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" O( p7 N) \1 f  r7 i) _) _
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
! E  R% |9 K8 z( q6 W) W
+ F3 n, ], v% Y- j  `* O! i                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )) f; N1 \5 j, v$ h7 ]
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );- ]4 |9 _/ H1 S. E

& \2 [2 l/ ?/ E                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
  D3 R' c" w8 g# a                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 W2 n2 G) l$ E3 Z9 W  S. H! X( r) Q! N2 Z8 T0 z+ x
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp$ z8 |& B8 O( [" @+ |  l
and add under
/ W; Z. B: V4 `
+ m. ~$ d0 F2 h; w% |7 kCode:
# h) J0 o- E+ y' C0 O1 e6 m/ l9 vif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )+ {' f! Q  F3 p/ C
                        {
, N+ F% y+ q; a0 e  a8 ^: 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 );
  j! M% C/ p, _: F                        }this, S9 o1 V& R2 e( |: d* l

& @/ w. o0 |% [1 j6 SCode:
) n4 l4 A  V5 k; H#ifdef __QUGET_SWAP_FIX
+ g$ \# J  n9 i# Y1 V                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
$ p6 Y2 m9 x4 A, B6 L: J                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());0 h' m) y$ T! M) N* G; Q

+ A: q. S0 ~# @, G1 z2 a0 O8 @                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
! R3 W6 U2 Y8 Z- V8 `. m                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
  p) Z* a. T2 p5 C5 q1 y$ ?
3 h" S  C  K. `' T                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )2 Y  \1 E, a. _
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );1 ?$ N& l4 ]5 e* U
- O3 I  O& \+ M
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 j9 G. F2 B( s' ?! M; x
, u* @) Q+ |" V( F; M% y
5 @9 I- [* H! {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 17:07 , Processed in 0.061652 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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