飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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! Y7 y: r1 M- e% M
I posted this because someone kinda posted a youtube thingy about it :O.
: |) ~$ I4 s+ ^* v2 ?2 r/ g0 i# u5 _
Find this in DPSrv.cpp @ worldserver
4 O  Q( y; t$ x8 a) r* l6 P' n
2 \0 S3 t- \" ]  ^+ PCode:
2 N( W- B+ K: L2 Zvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
; A3 E- k5 J* {7 p% @{
& z/ g! F& ~1 E        DWORD nId;" w& [9 y" _0 ]
        int nPart;- q* l6 h# o; B) _0 }" E2 C* E
- ]% D9 D% X0 S5 `& |" M* s% X
        ar >> nId;
8 s6 m1 w+ ~" c8 v8 w        ar >> nPart;                3 w5 C1 @- _$ e, ]! f8 c/ C
        0 ]. v, M+ s. j
        if( nPart >= MAX_HUMAN_PARTS )       
! a/ E7 E. U* Q" |2 \                return;
9 f/ h# A3 x* ~7 |* f' q4 V' I2 b
8 G5 m0 K* B; _3 }1 a: Y        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% Q' s) d1 T, |# k4 g* q4 o; `1 M
; j6 F; P, l% a4 Y! Z: X. ]) V5 G

! ~! \( U0 x0 J6 q5 ACode:
% P7 X2 U% e% A5 \, z1 O#ifdef __QUGET_SWAP_FIX
$ e* r. d% S7 M$ p; H6 R
0 X+ R+ B& s6 a& h$ `( E                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
8 Q2 N  y) j' X* u3 ^                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; f0 i4 G( C/ x. f# F5 M# J& u# N; s

4 D$ u8 E- N6 q                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )- S  a& }0 l8 f
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
9 q, z2 z1 [4 M& A# Y7 e1 F- S: K- W+ {9 u! i
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: ^! {- m7 s) r                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 o. F' Y% j4 V5 N
3 l2 `7 p4 X- a8 W6 l#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 u- P6 G9 N9 T/ z1 D  l# {8 P0 ?$ Hand add under
! E8 `. {  c. n; n. o$ A/ U$ t
/ q, o3 R9 B7 N/ t3 ~8 G+ HCode:# b1 p) o5 b: Y# N
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): Z5 H0 Z' n- H3 w' D8 [- ?
                        {0 O! S' F* w5 }, d, ?9 d1 j! w# ~
                                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 l' U" A! C# H: f- i
                        }this8 y( x8 `+ q' h/ K8 W. [

3 c+ y  i4 a% _5 _$ H; s+ p) [Code:1 D- r% i% W' t3 Z2 Y
#ifdef __QUGET_SWAP_FIX
$ a) W$ j% v, H  r) u                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )/ T$ l2 T( o" r+ a+ V7 h
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
2 s: A7 l: b/ t+ Q) b& n: ^- K
+ ^3 N- q0 @+ c% H% b* T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 V0 B2 v: h' |( r# u                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );+ ^+ Y$ D8 s8 D# w+ y. n( y" U9 c

# l; G" c2 [. [1 J: Q( Y" |                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )4 a* f" z8 l% m
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
1 h% K8 ]2 G$ K) O* w) p: B  J; u8 R+ `3 r( Z- ?
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
7 j% Z! {; q$ O& U$ ^8 G  X! R( V3 I4 P& B1 B; [, E2 w
+ x& F6 `2 O+ f9 v4 l( Y8 Z

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 18:23 , Processed in 0.070409 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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