飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16389|回复: 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
$ C/ p5 ^1 ~! |/ @7 Z; b& ?I posted this because someone kinda posted a youtube thingy about it :O.
, z) ^9 e+ G7 `$ x4 @! W0 ^4 n
. d7 @  k% p6 J3 d, X4 ~4 }Find this in DPSrv.cpp @ worldserver1 Z1 M$ p4 Z  V- y& ^

8 Z4 _. C% O& q! dCode:. Z  e1 k  ^2 p+ J# q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )% M  X2 f. c6 X3 i. y$ x- h
{, l& s( u" @- p$ T6 i4 F; z0 y9 W
        DWORD nId;
8 g% t1 E7 f7 H- Q5 C5 g" F        int nPart;
5 Q, {5 {' ~2 M( ^: V1 m% `- ]* s+ X( T: @% f0 S
        ar >> nId;8 v. ^3 S2 U2 b6 i! ~0 h& A! x
        ar >> nPart;               
; Y6 i& |/ u, l9 Y+ R+ X* c        8 [- V7 ]7 z. |# l: ?- i# f
        if( nPart >= MAX_HUMAN_PARTS )       
% Y  b3 V8 ^( O. N. D$ O, m' [                return;, A5 U7 b; o& m4 F6 |! q( b$ k, }

! G9 k5 A# B  _        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# ~9 _$ `& z2 S" H/ v) H
8 G. @8 D# v) ]& O. V2 U5 \7 B+ M) z' m$ k
Code:
' \- d3 e) x/ d5 ^# y#ifdef __QUGET_SWAP_FIX, r: v) F) ?0 ?1 X( L4 |
* D& c) q! h+ m9 o( O7 x
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" q7 y8 u# m+ _! ]$ j* c
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 b3 d& R) o  _0 w  H) l4 G
, \+ k2 r& B  |6 w0 }2 D
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )& u$ E  Y2 {8 {. h5 O7 B/ A
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 X2 V  H8 Q  o) h$ p4 W5 L
9 x$ L) I+ R2 A0 z                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
" |' F* m2 |4 e: _) d                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
8 \, N. x# N% I* E: F' A7 v! \/ r: W( Q3 `. e1 A
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) B+ {# e- T$ _/ @and add under$ f- e- G: C/ Y
* [1 \8 H% G7 s$ g& ~$ ]# W8 w/ P
Code:1 t+ m3 z: o- g  K8 Z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 D& E; T" G% Z) H/ l" i                        {( y6 p' {8 \% w+ ^. A
                                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 );5 s: f8 o9 ]6 H+ K' C
                        }this
- d3 M% N) Q& o5 }( c7 Y$ N( g6 A1 W; h/ y( E9 `* C* Y
Code:5 \9 m8 ]* h# i& Q" R6 B2 x
#ifdef __QUGET_SWAP_FIX& y( I# o) j2 n( g' V0 Z( W
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
, C# c& l% g0 t7 I) e% a                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) L6 h, h! f# `9 L
; e4 |5 |3 X% V( [6 p3 [: W! p
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )' b1 _5 j$ n% z/ d  v: o
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );5 S6 w) P/ |3 B- q; T, s
3 h; X6 [! G/ [7 `
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# c9 \+ [+ N. Y; H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
' c! E7 c6 k7 _5 x2 N$ j! U: a+ i" g7 |% F4 r5 u( T& p6 B: r- h
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ' k& Q( a1 f  g3 m  Q
% A3 q  N/ \2 M, y0 O6 e

$ y% o/ a3 ~% P) b. ?

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 17:06 , Processed in 0.078391 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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