飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 14976|回复: 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 : m) ~& E$ g" n6 P6 X& [+ m. N& ?
I posted this because someone kinda posted a youtube thingy about it :O." M& K% a2 j  S2 e# e; W

+ i$ `6 t3 I3 wFind this in DPSrv.cpp @ worldserver9 x3 R5 ^/ f. \+ v: H" ]9 }, f
+ m; w& Y: N; Q4 f  x3 b6 D& s5 o6 a. U
Code:% \4 a/ Z( O) _
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! U- h$ q9 T) V% h/ Y{8 M/ X+ C% z/ {8 d6 b% d. q
        DWORD nId;
# r- O3 W: G& H8 |$ J; v4 T        int nPart;3 e0 U- S+ a2 [5 v

( T" v7 k9 S5 @$ K        ar >> nId;5 e9 |/ t9 E6 m6 o1 ]! |2 f$ c
        ar >> nPart;                7 H  R! b2 m# R& G* \
        4 H+ m! Z% v( Y3 f9 w. S% ]
        if( nPart >= MAX_HUMAN_PARTS )        ' `- @, j. E1 p/ q
                return;
9 m. C0 n9 ]! j$ B  }3 B; |$ u" l& i& l
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it  k6 p3 q: n9 B0 w. i
6 g% M  O: @% ?1 `. f  n

# ~$ a2 H4 D7 d2 O! jCode:
: _2 r( x$ z- p" b/ n#ifdef __QUGET_SWAP_FIX3 J+ k" n; b6 ]% `$ \3 h" N) J

$ M# L# L" P1 b: D+ I4 ^* j- G                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
+ O6 H9 @2 F& E- F% j' [4 c                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
: E) R" E  R' A& r/ l
, C  Z: Q' X3 N: `/ L+ x8 O                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )7 x9 O9 T5 j  R3 H2 L* m, O
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( ]" J7 q1 K2 h/ N
3 Z" p1 [) i5 r6 Y9 C
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 u+ ]" k- G7 C7 I& [                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
* J/ H( \/ G8 Z7 x2 V; W* z1 h
0 A7 W6 m& B2 a5 U, g8 F#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp* a& E+ v; L6 y( t  Q* d
and add under
7 G3 a- T/ P" e; C7 |3 m4 L9 \4 _, S! L2 E2 K
Code:! R/ _4 Y9 C3 g7 N: ~/ T  y+ Z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )7 ?' B" q, J: `6 b( A1 H  m& _
                        {# ^; L& P* f7 R; D: |) K+ t! 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 );
. t8 s5 S! m# s: F                        }this
+ F. \* @& i- ~3 r2 p- s4 J* ]: J5 b. z# }% c7 ]+ U9 o; d
Code:
' w) l5 U7 a( Y#ifdef __QUGET_SWAP_FIX, M/ U0 [. K- }7 ?6 z- L
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& [, S/ |$ K( o
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: R1 [/ }! |8 e" Y  Z
/ @" ?) [0 k3 H/ m' v                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
) z* A% L) [! Q2 @) Q% }/ l                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );3 F6 e# V2 O- O3 V. F+ P* Y$ q

/ ^, l( Z  e2 m8 F/ x; c                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ v/ }5 @& x7 ]2 l: \2 S, G- K1 w                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" O: D3 ]( W; J( g; s( i! L2 ^8 k' \

0 `5 F0 @2 r' w0 y& S#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! L2 ?8 X& ]7 N7 z) ^  q* Y9 M& @* n) N* i& h/ t- f4 ]

7 q3 C8 A) g& e* G1 D3 I* ^" }) C

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 14:01 , Processed in 0.072644 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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