飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16334|回复: 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
  ?' M' M1 i2 G& r; ~I posted this because someone kinda posted a youtube thingy about it :O.
9 M9 R! x0 G% x; w7 a9 i+ e8 A/ R+ \% E" I& T% h$ t  h# [: x& g
Find this in DPSrv.cpp @ worldserver
0 n, i, t2 g" Z( e4 C5 L7 D) h4 W" u7 f/ }- d) W
Code:
. g. E) j6 |; {3 v* t# @void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 Y4 o3 @, L# g3 q( H{! E5 i1 K- \0 H9 O" K
        DWORD nId;
( q" t+ G4 \1 C" a        int nPart;8 x! L0 B$ F9 k" i4 x

  Y" E' ^* @/ d8 _5 \9 i        ar >> nId;
) r1 G5 D( i7 q. o        ar >> nPart;               
- `  _% G; \, N. \& I0 p        & L' c9 |! C6 Y; x
        if( nPart >= MAX_HUMAN_PARTS )       
  c2 J0 i9 @6 k; u3 Y! `  L+ B2 A                return;
9 @2 |0 b- e8 S9 A$ n, c: w! _' N' E9 Y( L% Y6 ~: e- Q+ d
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; i9 S- J/ P! X* ]# D: x4 j) z% _8 {
6 F" x1 N' C) C2 I( f
Code:$ [1 {7 i0 l% Q1 E  B( ~* R
#ifdef __QUGET_SWAP_FIX
& l0 t# g8 b5 V8 {9 ^; Q, t, p
' x% D  v) Y) Q0 m+ e                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )7 a* n2 m. S; Z0 j' b; H" K
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
& N4 w% U- X/ a% S" a' M9 u+ U* ]( f' K1 V
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )6 i* ~( k2 y) t3 d2 U
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );% U- @$ S6 P& ^/ S" y+ w) p( N

% w2 W, |% B3 D( ^9 F                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )1 m- d+ h: V8 o6 |5 R; M
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: o% D4 X8 @) z4 _

$ {4 z; y% s( |9 J$ v/ q#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; V. J) y4 Y8 [! Yand add under  D3 w+ q5 W: l/ [7 e% b. a

$ A6 Z' m+ p" J- {, TCode:
, U2 V& P% p$ Z( \3 T! Q" x! pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )' ~0 O& a5 w9 L8 _
                        {
: W4 W9 z& u% N( ~                                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 );
8 n* a* J9 e. m" M! @' Q( N                        }this
% i& c" b& G" t# g4 m( J% @" F( n8 b8 v9 o$ l/ L1 T
Code:, N4 R; I. |  V; y7 |
#ifdef __QUGET_SWAP_FIX
7 J5 ]% `! l, F- r7 G% {# A                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )7 c" _, U! V2 E3 ~
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! }6 ~+ ~$ ^* w) u8 O# a; H3 |& K+ K2 H8 `2 U( o5 p' g
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
3 L$ Z* J* a7 M8 A" p                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- @$ ]9 S5 F- f/ w) F7 Q4 {( I5 `2 ^6 {
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
2 ~6 z  c+ G6 t& t. r! g                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 A0 K2 F0 L( p7 u; O3 {* X
$ r* T& u( E' c2 c2 F#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / L) C, h- E! z" o" L- f& `

, P6 r/ m; X4 c. a' g/ |0 E" N9 G. J0 p! H, \

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 21:28 , Processed in 0.059838 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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