飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16513|回复: 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 * R4 I  Z0 i- x
I posted this because someone kinda posted a youtube thingy about it :O.
" S4 A5 E8 j" ~% l; }6 j7 F5 v9 d% C7 o- k+ Y7 X6 s, J* ^6 B& K
Find this in DPSrv.cpp @ worldserver6 r# E% e) }- {# }, T! t6 P

. u; r( n- h$ l( q4 a- cCode:& L: Z& m  M2 _5 }
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )$ V( ?# I! p7 z7 g
{
! L2 c9 S" B# m/ M2 o7 O5 F        DWORD nId;
# k3 B" ]* U9 ^/ H- u) S5 R        int nPart;9 J& U9 I* u* d) K
% h* i' R& m+ F$ ~. ^
        ar >> nId;2 F6 A  x+ Q% F( F: j( }" Q
        ar >> nPart;               
# n6 T/ U  Q4 o0 D% n% ?4 C       
% O  M$ k) Z$ D( H# c        if( nPart >= MAX_HUMAN_PARTS )       
: R0 K* f  {  C" N4 ~& C                return;/ s9 ]( K% O* V3 w, K
5 ~+ k  P( e& q1 h
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it  Z3 f7 [+ n0 u  r

7 q0 ^, K7 w* B+ w& s1 @+ S' ]) x; u- w
Code:
, A3 I3 \4 C4 C8 ]4 y0 N#ifdef __QUGET_SWAP_FIX' g2 q+ o. N6 V* ^4 B

3 ], l* p% t  D4 P( i+ E                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
2 a6 U( \$ E3 \2 u$ S  ?                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) v8 P2 w8 j9 t) g: n4 \

/ N  p1 e9 U( g  n                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
- M+ ~% L1 M; J& G1 T# j5 N                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' X* C8 ~) [( ~+ |2 Z9 W8 l1 M' q7 Y: l1 D' m
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ). u* Y, F  v: Z6 G4 t6 t
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 |. w5 p( j; n- Q$ h$ R: t' o1 C* p. U* }# M5 J
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp: a) c* f! G. V% k8 L0 `; x
and add under* W" q2 n) S1 G. m2 Q# ?: z* i1 p

7 G' j6 \& W! v/ ^3 ZCode:; Z& A- ^. [) D& Y7 z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )1 q! {$ @: ~# d6 Y% @! C0 B
                        {
9 l$ H  M+ M1 T! A: p0 ]6 h                                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 );% G1 L( L1 l) ^+ D3 |
                        }this* e* N5 y' B/ R$ O1 U: |
% V" |" |3 F" a" H1 K6 n
Code:% g; |, l' E9 O2 e2 u
#ifdef __QUGET_SWAP_FIX
% v; K" H, B' S8 i# }" T9 ]                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
1 l& _' K8 @% P& T8 e* b- a- k' S( u                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
; W% E* t9 o) q. \" j/ o4 {
! s. j3 x7 f8 X! |                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 ]; ^! n+ ^3 A# e; h- g                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );# w0 l; ~8 F& w0 i4 H
* u: w4 E) x% O6 ~, I- H  R) S
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
' w& o; i: x$ n; p" H) Z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
+ W6 r8 y5 A0 H% _# \- Q! h8 F: i9 b: s  ?! c+ j6 O+ e. ?8 I
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 C: l" s  [8 G: z0 `
  p5 C0 H- k5 K0 L
3 {/ R2 V0 C& C" @$ G

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-17 04:31 , Processed in 0.075581 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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