飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
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 ( G# S) E6 q4 @! F
I posted this because someone kinda posted a youtube thingy about it :O.
: M8 t+ Y+ Q1 Q8 F6 E" W! _! q' o9 c) r: Y9 x. a2 ]
Find this in DPSrv.cpp @ worldserver
/ j& \# V7 @; v6 x8 e- ~
7 m! s- V% [( F9 |0 xCode:7 E) z% Y2 U% u. S2 N" R& n7 u* f
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 K$ d' D0 F/ B5 a! Q) v5 y{
6 t" ]9 e! W3 B. Z        DWORD nId;
  M9 X& `; c+ X7 _, \        int nPart;  R6 z! w: M+ ^: a( n: s+ A

6 w2 W, E; e6 o" M+ e$ ~, |        ar >> nId;
" N+ [4 h8 B6 C5 M* j5 D4 A) t        ar >> nPart;                . x0 E8 O# O0 i6 ^8 p, \5 B4 z
       
1 [! f8 C; T; Q; t* H        if( nPart >= MAX_HUMAN_PARTS )       
4 Y3 D* B& d, f" y                return;4 L; E% ?/ T, D$ w9 n* S
) h9 Q6 P" R# w2 q3 U
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it0 Q! W3 c- s+ o3 `+ i! J/ Y8 S
. @# ]! B4 s, b' q

; `) G& H% b4 v+ c+ T- |3 JCode:5 @% C2 ~/ f, e; X& _! @3 `
#ifdef __QUGET_SWAP_FIX
- X7 j# [9 Q) Z5 \6 W6 t& L" `: M* z. w$ _2 ^4 q
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ), t( O- y9 r$ F( X
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());: F  \7 I9 M& }6 ?. p: ~' y

- Q; p( ]6 ~5 O3 S: c                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
7 b, v5 t/ Q/ t9 t2 b                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );1 D' b5 N7 X! Z% C
* |( r6 Y+ q" j$ S
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
7 d; A7 _1 v- h" ?) N$ X                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
8 F5 z( z/ M  t/ m
( c: C/ U, t* H. _; ?1 U#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp! \! I8 J2 r3 R" Z
and add under* ^2 l) ~) ]: T% I  p1 l

0 S6 ~1 o( r% B3 m2 v2 cCode:6 C3 q4 P& ~& G
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 w% b4 f6 _0 ]7 I8 Q                        {( k6 a! d* }4 g) C+ |; X
                                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 );
3 h/ R' e, M6 a0 Z! L  f- C1 |                        }this
- g/ q8 _* a. v  z, ]  o2 B  B+ N
Code:& z4 v  s3 g% a4 M+ q, Y6 f
#ifdef __QUGET_SWAP_FIX! Y% @2 ^2 H) ^( T. t& f' F
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
) ?6 J, i2 x7 q: q% o& T1 U                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, z1 {7 x, b  q2 r$ G+ h# j4 @; I  }
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 r+ }/ l* b) W8 K& T4 [' v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );* ^, `! W0 z; M/ O' h
) E5 [* x% ~( ~3 O
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )7 F% a) n  B$ [0 S
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );3 e. `1 T1 \1 y, {* i# O

) p& f% S9 \" \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 _& k* E; O9 _* ^7 }4 @& }
4 }$ [: H; e! p1 W; O
1 H1 F4 U9 G  _

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 09:59 , Processed in 0.067773 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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