飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16808|回复: 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   e/ b" r- [% i
I posted this because someone kinda posted a youtube thingy about it :O.7 {, S  X: G# I; K8 O  T5 }
9 b! x0 R7 t1 L# H
Find this in DPSrv.cpp @ worldserver
' E9 U3 `0 ]2 b9 E- J: L: F
4 A, B( f/ B4 M! j1 wCode:2 ^$ Z# c/ H2 ^0 G* J4 X+ J3 ?! U: P
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! z. c) ^/ x" }3 {
{3 ^+ j5 f; U% Q, Z2 X% Q
        DWORD nId;
& Y$ Q$ b* c" @3 ]+ t+ |8 j        int nPart;$ P. C  G8 g* Y: e0 S. R

$ X8 V! p$ P! Z' Z8 k6 i! v        ar >> nId;
$ f8 |) T$ }+ p9 N( w4 U        ar >> nPart;               
% m/ o  E* r; b. s" p7 g        & q: v% K( h% W0 D9 d) y* ?  K& I
        if( nPart >= MAX_HUMAN_PARTS )       
, P6 g. w  q2 X9 V1 l" \                return;
+ Q! d  R/ }# {) S$ }( u  P1 f& c. a# {9 z% U
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* ^$ M4 }- m4 _0 l4 S
- L% \  L& {  ?/ r+ ]& h4 b* T, b' b
2 y) h7 d! u) g" Q# k0 k2 mCode:
! }1 u! q. c, B  n5 A4 _#ifdef __QUGET_SWAP_FIX2 k/ G/ h7 r2 f2 _  t) \7 Y$ `

2 r6 I. i# P! P4 [7 M1 x                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
* `" H$ |7 [+ U7 H5 |                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
& f4 C1 I, Y/ J" f" i4 A$ l8 }% d2 L. B; D; S& F
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )0 D# p! D6 [, p( p, c; D
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 m0 T, {) p' a" m5 X8 c; U) @4 j( p- Q$ P
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
. k) Y& K- _6 @6 F1 d  @! M- d                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
: r& h/ R4 D% f6 g8 U1 [/ O
7 X/ [. p1 N; b% P$ Z+ |9 Y% A* |; S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 F4 V' Y6 {2 T' F0 [# l7 vand add under
- B" Q# d% V' B* Q7 [5 M* Q
/ t9 b2 x9 m. I9 p- T+ [# xCode:
3 e5 R7 H  z4 ]9 bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ A4 w" y( B8 y: E& x                        {
% w* j, p9 o( K8 ?0 v# }& j4 Z                                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 );: s# I0 K. S8 D/ n4 _- a- C
                        }this1 A* _7 O" }2 I

$ W- R" u1 X) }( z: ~5 J; F( PCode:6 A! N; G: N$ H
#ifdef __QUGET_SWAP_FIX' E3 |" H4 N1 B3 \0 t% ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
6 C9 @# q  r5 F/ U7 u8 r. u                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- R; S  M  l: Z% j4 m! O( A( ?3 a( w8 Y* s: t. R
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- T2 J+ b# z( |5 X8 y! x
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
( m3 U' F7 [" C, C1 S6 n0 Z4 S, A% N
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
" ^; u8 |- t" t/ m& u5 l0 D; e- H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
; {: g, T0 j$ Z' z8 s6 ~
' f4 {! z' {( g/ F2 w& y#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 v- m0 I7 R( ~4 m
; m' |5 U& _0 n( P, Q4 r1 S. u( s
: O) v4 S; r9 K4 |. y- k$ f

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-1 14:42 , Processed in 0.070627 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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