飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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
) x6 d0 X9 g. ~6 `I posted this because someone kinda posted a youtube thingy about it :O.: h1 {4 f; ?# C2 A8 v8 ~$ W
: P  X" z5 D+ v2 h. p# d
Find this in DPSrv.cpp @ worldserver
3 I* a1 C" a1 v& [- u0 z3 \$ i9 S
3 I: f6 m( p  v7 h+ [: @" c+ bCode:
4 J1 {" B- v* \. g1 X7 Lvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# _7 D0 F- s! Z# ]% e  d/ z  b% h
{+ Q) Z3 [- c" @  w# R! A/ V+ u
        DWORD nId;
$ a0 U2 v7 |$ Q, W1 W4 L; J; [        int nPart;: `6 ]4 i6 H3 u# _& i
3 ?0 }6 E7 N( U  j; y
        ar >> nId;6 R0 b, r- p6 D* ?+ z
        ar >> nPart;               
# Z+ p) C8 _( f/ v$ _; d       
: Q. E' `7 ^5 i        if( nPart >= MAX_HUMAN_PARTS )       
3 s# u# [: y0 Q$ S& Q/ a                return;
3 ~; T* A, L$ t7 g- l6 t) V# u: T& m' J  ?- A
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 y# `# c- \1 c  K: D6 ?; [
8 {! {( K" W0 M. ]0 A& F

- |, B2 t4 @+ T" K0 B& T+ B4 {Code:" ]3 G+ e  z8 C. ^( Y) M
#ifdef __QUGET_SWAP_FIX
3 S! i/ I2 K& g& l: y
9 H( ?' ]; I. P. O. ]1 Q. k0 V                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )  e& |& F7 k( v, M; j! q" j% g
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 }, r* L% a. v+ ^) ~6 U- g4 N2 p( I/ l
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )1 R; u  r' _5 a& \  k2 ^
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
0 L$ q$ s$ r* X) Q+ V: f0 i/ E/ J# k# Q0 w9 }5 M
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 Q! G& l3 m4 X( B+ n% X. X5 G                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 R6 A; r* Q# g( }; U; }) ^/ z# \, W) t' G
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" T$ E. [+ x1 ^: a) }4 oand add under
- \2 W  {+ R" W& Q, U, Z" E1 N8 [" B4 Z7 m. Q1 n" G) V  p( c
Code:/ L) b7 U& m* c* V6 p8 L+ h* W; P
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )+ b3 n' S* ]8 B/ Z, u
                        {0 }: V9 n( I( Y, S9 N9 u
                                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 );
$ g7 g5 y7 G, Q: ^                        }this' ]/ m" ~. \* F( u% y! X9 a+ O2 U, b7 p
' Y7 K" ]2 b+ A0 @5 Y
Code:2 h0 x+ e1 i! g) Z+ U  s
#ifdef __QUGET_SWAP_FIX
- G2 ~2 k8 R7 z7 L  |7 j                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )1 D# |. R3 r4 R6 d
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* f4 X! G" r( H  k9 D6 G' E' v1 L% W& q9 b- Y) N9 G
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 |4 n4 b$ K7 |( }9 ]3 x
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) _- O4 M8 j/ Q+ m

8 s$ `: i: @, d* E                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ); h% s3 ^7 [4 t9 t
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
: x, L+ I  U8 G/ v
% |3 ?& c+ q" C; `  A% x1 [% \) z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * N2 y) a; W5 m& ~' Y9 y. M

" {. z% h% @5 |9 Y$ \1 Z5 ]6 M6 \3 I1 C4 w% m# M6 {+ s5 b

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 22:19 , Processed in 0.071263 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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