飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16203|回复: 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
4 S, g. E# `4 {0 I( x. {I posted this because someone kinda posted a youtube thingy about it :O.
5 m, G" j3 T  Y1 I0 r) ]9 v
% F( ~; Q$ I) q. N* wFind this in DPSrv.cpp @ worldserver. A% ^  @6 ]) h4 ?* W" [, L

) P# b1 r  J( tCode:
/ z7 M7 m6 n6 _" b, [void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
% i- H0 j8 [5 p{
, t$ A, r% w: n1 J3 C' s0 W        DWORD nId;4 |! p) R9 [4 r5 K) ~! k. C  A
        int nPart;
/ L0 O; {4 ~. g- I; m9 H0 P8 ]2 m3 F: n3 B
        ar >> nId;7 I$ z3 q5 Z1 V
        ar >> nPart;               
) ^: a, T7 x( j* v( W       
/ }3 o! A: w$ C5 N        if( nPart >= MAX_HUMAN_PARTS )        % Q9 H' Q; T0 j" @. J
                return;
$ q% n' _; u9 |% C  O/ e' f( ?' G, h9 |8 z3 F
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% O4 ?6 a- I( P" L# T( v  ?
! m* {, F+ t  h5 Z, {; n
; I8 l; j8 F) m) SCode:* N  o$ E! w, N# a2 A
#ifdef __QUGET_SWAP_FIX
) o) C& C2 W( T# K/ J6 D9 E& ^( H% t/ O
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
  W; j" E, ^" ?3 E6 E. [1 b                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());% j" x; ?2 `6 P" S: G+ ?' Y
. G- R6 f$ R) m5 o# k
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )4 @7 T8 b. p( n: i+ J% r0 I/ y
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );/ k% s. z" N% _" u) r& u' m% i
" o6 [# p% H6 I# [& x" W8 x% ~: C0 b
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
5 g- j% e8 ~3 I4 }, d                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 K. K# a# \" R1 ~/ K% h
& I! {( v3 o. V3 V+ d9 M) F
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp$ l$ q) c3 L5 S
and add under/ E" w. P( |" U" }, _0 d3 r
" Y( u8 i7 i7 R3 d
Code:
, O6 x6 Y& C7 D( E3 ]if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) h$ K- s) q4 I                        {2 s7 s: D* P* ?! |/ ~
                                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 );7 i8 n4 H3 L4 ]8 T1 U
                        }this
/ ~7 y4 E5 `. `: Y6 `
: O2 z2 F' k) E# x6 q2 g& j5 l; y9 {Code:
! K! X. Z5 O) ]#ifdef __QUGET_SWAP_FIX
: O9 z9 L. I: j  `- b* s$ f6 N                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
/ y2 W8 _4 o5 |: N  j' o+ ?  W                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: Z2 O/ @( n# p' w7 x6 y' I- X7 l6 q$ Z6 t7 K; ]6 g" c
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )+ O: |* \9 j& d7 e
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, s4 r/ _& _& B% x2 L! c. g
% e, @0 [. }; f2 e1 e6 C4 O                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )( Y( {- ^, D6 \/ I6 O, B, P
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
% o' d% T/ W5 O# d" }: M+ B2 R7 L4 Z6 ~, v
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 @3 v  h; _* U% H

% L' D* r$ D% g  K0 }9 }' O3 W7 W- p
; d7 K+ p5 V: h2 S

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 01:29 , Processed in 0.059218 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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