飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1082
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
# N3 j9 h- W" @I posted this because someone kinda posted a youtube thingy about it :O.
" b1 D! w4 w$ ^3 ~2 D7 S2 S- P# l# o1 l1 {' e5 e. K& R
Find this in DPSrv.cpp @ worldserver5 g' ]) [; h" T/ l& Q
$ x6 i( _7 |. g) s3 T" q
Code:
, [3 M6 Z7 q$ i: k) ivoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 a, l7 ~2 {( H' b9 `& ^
{+ J% Q3 H( T9 J2 W5 R4 y
        DWORD nId;( J. Y% _. `: @# Z* ^" Z* p
        int nPart;" `' a& o) @, N) w- K8 Y% q; q

6 E) B: n; d$ W6 u" @        ar >> nId;! U: `* G0 a8 f- T6 ~* V5 D
        ar >> nPart;               
3 J6 m/ K7 ^, r. S7 W       
( w8 \. \0 C7 J        if( nPart >= MAX_HUMAN_PARTS )       
( j# |1 q8 g/ e! C% B, N                return;
4 Q, H5 I  A7 X% |" m: K/ `6 h# I: c! c% x
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! ?: @% _4 e8 Z0 k& u& X- N% N) M& D' O2 Z

+ X* ^8 A9 Z! {+ t8 E) N2 [; zCode:. j' ?5 c0 A& z7 ]* u4 `, t
#ifdef __QUGET_SWAP_FIX- D9 j2 P# N* \5 ?' i% L

4 M% V" J1 j2 G. ~0 _0 L                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )' g4 h& Z" |" \# ^$ u, h; R& _, d
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
' y! T1 ?6 C! ]2 L2 t7 b* Z+ o' B# m, w6 v' D
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. b4 W' G7 W0 ~' \7 r, S# U! `/ K                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( v5 s2 L3 j$ q" \

9 c8 U3 l6 I; L- @                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ). U. ^) F9 r+ U- b2 O) Y; w9 \  n
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 L1 w; ~. Q" l8 \* h* Z+ P

* z& d2 S+ @/ F/ @# y$ G7 M#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
& h* f) N8 d+ H$ Sand add under
& ?- c- W0 N& z/ F9 v: Z
% z$ d6 \$ E9 K* o5 L8 wCode:
$ m1 F5 w3 _# u9 Bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): m; \( J1 w  v  t$ l; v$ l
                        {
5 C/ N( n; _3 j, \1 |5 s                                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 );
  O& O) Y0 O( D- t2 S                        }this
( Q5 V/ N6 q1 C: G+ \
' i( }6 M+ M2 a; Q0 \Code:' J5 `5 `8 s; d% q
#ifdef __QUGET_SWAP_FIX
) ?/ O: d/ U. w. d( w, w                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )8 I7 k9 N: X7 ], s3 z5 z& y5 A
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* q; |+ C  M0 h& t. g3 l8 U+ w5 m
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )6 m3 i2 X" x& q
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ S. \0 D3 ?" P+ i" \& ?: p% M8 M
) D: G" O7 J- [9 [. o' b4 `
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# L. k. v: P! i" D1 s0 A$ a
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
: u+ u" L# U# X* u
9 Z& u1 K& K0 q#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver & B6 A! C$ z4 @7 _2 X. M, e: k

1 I2 j' B& H, j! K2 P) U9 H2 N1 Y
9 H  [- ]( B9 [" \/ H0 U; X

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-5 16:45 , Processed in 0.067881 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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