飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16980|回复: 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
7 I3 L9 z- K; K4 w/ ^* `3 e) U1 ^I posted this because someone kinda posted a youtube thingy about it :O.3 `" F) S6 f. V4 j5 v8 e

4 m$ v, c  e) TFind this in DPSrv.cpp @ worldserver+ H" z3 f: A# c7 I5 y- E
% ]& G& x" O# K* E- |9 U% h
Code:  N4 I3 G# @. m6 Z
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ), x  r8 b* H7 `: f8 L. D
{' [* G/ M: D# h$ z# E8 ]$ Z: A- d
        DWORD nId;
% S% q- O$ k  N% h3 a        int nPart;0 F7 F, E, y9 D6 i
6 u% T) ^( w/ j+ u* A* M+ [2 C
        ar >> nId;+ h* l" f8 p: d0 e3 y
        ar >> nPart;                3 _: k/ f/ l% K' G; R
       
4 Z- l  l0 H( K  a# d) @3 b        if( nPart >= MAX_HUMAN_PARTS )       
5 e+ Y& r6 h. I3 R# q) X                return;
, T/ _0 F& x  `! [! D8 l: d; I) ~! T5 R8 \
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
0 b1 b4 x! O% m0 E. K- g, U
2 N: Q& N- }4 E, O7 d2 g4 L& \
" R* B3 @8 H, tCode:) @" M- ]5 g: e; x9 J6 H" k  A% O# ]
#ifdef __QUGET_SWAP_FIX
. N8 j3 a2 F: \) H2 O1 D' ]8 [0 C. u7 t# e0 |# E' J) B& R) ^
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). s5 |: b" q9 ^& g/ ]
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% N2 |5 {  {' p2 b1 m9 Y; E0 j8 E9 D( l/ r
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )0 H0 Y0 `" K& d, V5 m1 Q
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 m- E0 L. i$ M
7 _+ ^8 U5 ?+ U) X' j                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
3 K. m  ?' }$ S4 D7 z, x& `                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 ^. z# m' d9 X! N. S. u% Q$ s1 _* d, a" c
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp" W& q1 a2 S3 h: |; V! ~8 d
and add under! T3 d2 ?( W7 L7 G0 K  ^
* @6 \/ d0 A; k+ P2 L) j
Code:
! e( i- F' ]" i/ D* @) C6 w! Aif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); d. H8 |( B& ~3 E+ m
                        {
$ e% A9 }- r. P1 p) B0 L1 }% 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 );* w4 w/ `+ v" s# [; P3 X
                        }this6 E2 {( O9 k* x% [5 Y
3 _% W5 E6 }) |0 ~! T5 W; E
Code:
# i/ G' J- C# {* V4 G#ifdef __QUGET_SWAP_FIX
# w$ ?8 D' F% W6 n% k' P" Q                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
* ]- M, I' x$ n- [/ Z                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ Q7 M7 {; n% e" N$ q+ E, F
: M$ K1 ^  f& x                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )" ~  x! t7 u. @$ W" F
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );" u5 x! w& J& a! r: g  D& @
- a. W/ [' O7 Y6 u9 h
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
0 B1 c+ f  A& E/ S0 p. W6 [                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
4 O% C8 b8 K, `8 |8 |( w; s5 R6 ?
  l: _9 v/ y1 R#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
- B+ k3 f1 v6 R/ }
* z  V6 S$ d& v5 U4 O+ H" y5 Z6 B' t, B( b# S1 k% h

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 03:14 , Processed in 0.058878 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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