飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16546|回复: 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
# {9 f5 E) Z/ kI posted this because someone kinda posted a youtube thingy about it :O.
0 Z+ e5 k& u$ i% }  a, O
! U' J  d9 W. M6 G+ e) ZFind this in DPSrv.cpp @ worldserver
! S% _& |. F3 v+ L# [1 S
0 z$ n- _0 E+ M$ [) VCode:
3 T$ W2 h; R2 _# A5 p9 pvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& E" @# j  F: t# ~2 z! K. {
{3 x. Z) [1 N/ S# V3 A/ n
        DWORD nId;
1 K' c! _$ [& U% e5 I' L/ I        int nPart;
. Z$ w( q8 S& N9 ^% X- d7 P
" B# b8 a) N' ~$ y        ar >> nId;
6 w: g- ]2 v3 F' z. ]+ g        ar >> nPart;                ! [9 l/ S2 _! x3 N/ l! M
        2 d1 @" J  ~$ z; f. T4 `0 p
        if( nPart >= MAX_HUMAN_PARTS )       
  K  X( y, B' K, W3 \' D                return;" a0 Y& m' y# ]

9 [  f' @2 b) k* C2 l5 h3 A        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it( S+ q/ [" x5 `4 c0 i: E; M
* U9 n' C# e: {1 F: l# S$ ]4 w
% ~' x$ ?; V7 @
Code:# R6 |4 T: g3 X# a. z. {+ x8 \
#ifdef __QUGET_SWAP_FIX
; _3 U' V& a* U% s2 T3 `4 ~% q* [# j7 K9 ]# j4 D! k
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& ^* V9 C; V' `/ D2 k. ~* k                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());' ~. r' j  z! L3 m5 C" _& L

7 A3 j/ z. i4 ^4 u                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )2 @. e* \* X0 q4 u# k5 D! W6 Z
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );( e$ j% H; Q+ ]; t; t: ]
8 c) E4 L1 `. N7 i; G+ h  }* l" g
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 G( i- h3 l7 H                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, c- _! z9 h/ z. H% j- w8 _

9 c, f/ k2 k8 ^3 J2 k, ~, Q6 j3 T+ v#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 e7 {; j6 ]; P2 a) q. M' M6 B0 i
and add under7 n" J/ b! A9 _( A2 c! C6 I

: {+ ?( V* x0 |1 ~  UCode:
& Q3 ~$ ~8 f% A) W3 rif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% ^+ Y! J2 s# ~6 G
                        {
. I8 R' \  ^0 ^                                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 );
" u3 {1 e& v" M6 h/ U                        }this: R& C& X7 q- B) k2 [
" i) p( F& Y. ?& R* ~0 Z
Code:
) y4 h7 G& O* }% c9 I- F- C#ifdef __QUGET_SWAP_FIX* j$ z1 W! O# b
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 h, |+ u( G5 Y. V  v* `& _) m                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% A* B3 I! p& }6 ?8 z, |$ Y- ~0 b
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )! J) |* e/ [8 q
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );& p( s8 p. i3 e  Z0 `8 T" r3 J

3 A3 L1 R$ j+ r                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )( \! B% Q* i$ l
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );$ b  k( b7 F9 F7 Y9 a$ B

; ]$ r. ?8 d* M+ U+ G- ?5 Q+ ]#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 ?- Y* ~) U. c+ X/ u. W. ?! l
/ z& M- i& u# E+ C( U: t$ ?7 v5 j0 G3 a

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-19 00:24 , Processed in 0.062901 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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