请选择 进入手机版 | 继续访问电脑版

飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 10862|回复: 0

修复交换错误

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
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
1 F% m+ c8 D, n1 {) ~% iI posted this because someone kinda posted a youtube thingy about it :O.. s2 L) F7 j7 N& ]
& g( q1 D# j4 Q1 A# U6 F+ b
Find this in DPSrv.cpp @ worldserver
) \# A5 H( W7 s+ F9 g. Q- N$ d
0 N# o. f/ A7 C( F1 ^( W2 H3 pCode:
" t9 s* l# p$ d9 R3 s6 r  n! Q! j2 Cvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' N1 P# |3 R" O) r' e0 @1 a
{
' ], O+ Z. M4 U- K        DWORD nId;1 H& H7 w3 V' i& T- {9 f
        int nPart;
9 ^5 a3 H. k* D8 h- s1 [1 I" q. o+ |: A" Y
        ar >> nId;
" l$ ]2 q$ h5 C; {7 }" e# b        ar >> nPart;               
. L4 x' |& E4 L3 t# y1 r& u' |          V& }- p/ l- o2 E" c+ Z
        if( nPart >= MAX_HUMAN_PARTS )       
5 R7 V  W3 C: u; U                return;
0 }( V/ k. [1 p1 b7 T& N0 s7 T3 C! a2 {  O; Y9 s
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! b: Z- {' p7 [& k: A3 I8 _
+ j, ~; {, m, x# p( z2 o9 @5 v
3 k) `2 G* C4 b( j, Z8 KCode:1 Y1 r+ r' u. R6 v1 Z
#ifdef __QUGET_SWAP_FIX
8 k3 h; \& W0 n- ]4 P! n6 q. E& o- z; z, ~. T4 J+ |  q
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). o% u& }8 }" k$ v
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());2 d9 y( t9 T% I9 s
5 v  ?+ Y" v. a# j4 j
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ); E  B- h* g; ~
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 M2 R7 e) C7 ]0 B
8 _6 S* r# u4 r& w  N                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )& H7 @. n' h. H. ?: E; W; {4 A
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );2 l1 b  t( z6 Q7 _8 V4 O
/ ~! A! v4 U& ~$ q! ^2 ]
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
& o# B( h: P; j! k% m2 o8 p! Wand add under3 m: M, ?2 [, }

" S0 P* X7 @( t: VCode:
. ^$ j% p& G; M4 \+ I/ _0 hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
# i6 B3 }7 w! |9 I6 M! N, u                        {
; Q5 x6 H. J! u! `0 i* L                                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 );
' v7 H% F7 c3 O$ r. b; R3 X& ^, k  g                        }this+ c' Y9 w) ?0 b. F6 D9 u, M3 G
/ i7 ^8 z0 f) n0 t
Code:$ M. s& \' M1 q2 ^
#ifdef __QUGET_SWAP_FIX- ?! n( n  H" P* u
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 @+ L, [( I5 d  O! ]2 ]+ {# _7 Q1 {                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());$ O& \# h% d7 j

) T9 m! Z( G( v- S                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
$ ~" k- a. t" Q! a                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
1 O4 e4 _7 h/ H; V! X
4 x6 j9 ?6 |+ u6 ~( H7 B% X; h                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
7 j2 m' r" _" T' @) f: P6 F                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 g/ P1 }: T1 K3 ^1 T* f
) s! ]# L& d; }: I+ G#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ W* C8 _! r8 l% V* f: g9 i+ k3 }4 T: D3 n5 }( d

" X) C$ _4 H3 ~  Q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 12:25 , Processed in 0.152566 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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