飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11100|回复: 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 # A: O! ~" @( z/ f/ M3 E
I posted this because someone kinda posted a youtube thingy about it :O.1 V6 R% C8 n% I; [8 K7 N0 C( s

" I+ N4 E7 D. W( MFind this in DPSrv.cpp @ worldserver- t2 Y: t; z# l/ [0 |0 }5 j6 w

' A% S+ o( a8 o: U. Q7 vCode:
- `- d3 _* A/ E; d6 yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 f% \9 K6 W! w& T1 e# Q# M4 ?' F
{8 O. ~" p! T1 Y2 F" [1 W2 n1 f
        DWORD nId;4 f5 s5 a% m5 s. j) Y2 u
        int nPart;6 v/ R7 K1 c$ i2 p1 n6 V: _& Y7 e

5 t- @% |6 e. ~; a5 N  E+ U        ar >> nId;4 |" A# k# H4 ?( ]
        ar >> nPart;                / j' {" ?% V/ }8 A
       
2 X) f) |1 @! Q4 T        if( nPart >= MAX_HUMAN_PARTS )       
) @; y0 K/ i* l3 |. @; V2 a                return;  R+ H1 w& Q: ~+ d" u# [
/ H& a7 d: \; \3 H0 ?
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
" O+ C2 D8 S0 D7 Z7 |' h
/ ?5 _/ E5 R5 d
7 j& z( C- L) m- m$ q6 ?Code:
: G, Y) \# K+ C. ~' v- A4 ]' [: a9 E2 X#ifdef __QUGET_SWAP_FIX
* v$ f  C  _: D" H0 R$ \
5 T5 L5 r! f" A! e                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
# Z! ?+ P3 w) W! g$ {                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
( v$ d* ?0 x. x: H; s- O, {; @. o0 G! i& B' j1 w
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
, d6 `3 |) t) k4 t# m, G                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );$ f. R, |5 R5 v1 U

& y6 W; h3 _- V4 Y+ L( s. |                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
( a% I  i& a4 G" c& H: p5 c- K' {                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ |4 O+ o" t) e
* n5 \7 g) ^3 l/ {, S1 [- Y( e
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ A( K" _$ n4 k1 j  Dand add under
# y5 ^, I: h  k9 V& C, u& r, @$ d* k  `
Code:! l3 h% f( ^% C7 P  k0 `, F
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )+ T" t9 Q. c5 ~) l% J; N
                        {! o4 D  q0 p2 r  C! T/ d
                                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 );2 `1 H. f) R2 v
                        }this$ l& h3 h( v4 C5 X
- F* E0 l9 x" U# [9 C5 r
Code:
8 F6 \6 v0 ~" m- k" g- }: z5 g#ifdef __QUGET_SWAP_FIX! U" S0 D- _. s  e8 \
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )! }3 @! S! c% w' g5 W, X" _
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% D, N7 A! \/ e6 I
9 |" Q( `2 Y! [0 T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
( O1 i8 R" M: ]: k' Q, a* N                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
: X2 A0 f  O- I' q+ p1 H$ P6 d, J  S5 j* Z6 U5 u! {7 F
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# e3 n0 V! n$ M$ K3 Y0 j5 t7 Z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 r) B3 b8 K5 j* P" l! f4 b- Z$ `9 Z$ L# }
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
2 F  j# Q4 \1 Q1 A9 T) Q! B
: I" [2 R. t# _! ]0 h
) ?: w+ u+ }& n6 g: O

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 18:17 , Processed in 0.058623 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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