飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16378|回复: 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 4 a' B2 @7 \0 F# \% i
I posted this because someone kinda posted a youtube thingy about it :O.
' h! G0 r: Y2 g& o5 ~* S
8 s/ T2 B! F8 J2 i3 OFind this in DPSrv.cpp @ worldserver
! G! m. w, B) U* M! H/ ?. ~5 Z% R
Code:
. a% B. t" x! V  B* l# L7 c# a+ i3 g4 qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
. T* F' g4 E5 K6 s& U. `. y{
: B# B5 G5 A8 w: k! w6 O7 {$ l8 d2 _/ }0 }        DWORD nId;
4 Q6 j* N# F4 A        int nPart;
5 Y$ Q1 a* D* _( ^. I, Z  @$ g2 t( m
        ar >> nId;( j; Z& R! a, `7 k9 f
        ar >> nPart;                9 N' X, o$ K% V3 D
       
' O2 T& S% X+ Q! Q* d5 v) B! g        if( nPart >= MAX_HUMAN_PARTS )        2 \5 D: c% R) ~
                return;3 h3 i# b: V1 n" O
6 `; P, D( e3 }0 |7 ?
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 o4 G% O6 A) n; O& U& y% M2 f8 ^

8 i1 [/ M  ^3 {6 F# A0 S/ M7 w' n  a
Code:* ]6 L/ g( {* d& f9 @# M3 ^* o# o
#ifdef __QUGET_SWAP_FIX! Q! l/ U5 R, ^) o
5 s' {% I3 i. z" O6 C
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ): l/ r# ?6 b# M
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" |2 G, J( g% P' K

& A4 n, `# |& z/ U$ J9 X4 [/ l/ T$ s                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
4 R0 n6 x- }5 o9 X                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );, w2 a( Z& ?, ~& D+ e
* C2 u( l6 x+ Z, r( y" w4 u) s4 ?2 j6 b
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )) e' }3 j) M+ z# K8 o
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& E5 x) h# a6 ~7 c6 c% X
0 O) W4 N, a9 d1 j# t#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' n! a4 y, o5 z' r9 }# y# G
and add under
* ^6 J+ K8 C# [) E1 A; u
# d  ^$ `$ H! nCode:4 @. a$ b' r7 u5 F5 H" N
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
$ v% d& P; q+ V) P- U                        {( X" k# ^& x# Y! 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 );
. }# c& y& K. q4 v) ]                        }this
+ t. Q  Q2 O- Q4 s8 G7 E/ T  ^. @' c- z7 q0 J
Code:
! |& `6 ?0 v  }. t6 Z% X3 s#ifdef __QUGET_SWAP_FIX& L* M" c: w7 D/ ^
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
$ _2 R0 j1 X0 P& }                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ K9 j+ F% _( {  N4 q4 {3 i' w& M+ h5 X% |5 T: ]6 N: G
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )( B' x) _  t) Y! @, }
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );: D- T9 v" p% q) M7 ]8 N3 i6 A! N
5 y% k2 b0 I8 e  e5 C: Y
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
! Q) Z4 D) b+ G1 @' o                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
) s; ~8 m+ M1 A8 b4 Q/ I! R2 N' @: I, f9 z6 z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; i- e) \. S4 u% w& J5 x8 S8 X

( X; E/ s+ B/ R, t+ ~
* E+ C$ d8 f/ I

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 03:27 , Processed in 0.060741 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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