飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16584|回复: 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
8 p! @! }& D" w" s4 jI posted this because someone kinda posted a youtube thingy about it :O.) T  c. m& J6 s! T' o6 O$ Z

3 E. V, f2 U, e- ~% |! H! C# [Find this in DPSrv.cpp @ worldserver
8 i) b( o0 W% V& s  m3 q+ J$ t1 _# q! {& M! S- G
Code:
, |9 `" u/ Z: O& jvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
  F9 z% x; A3 W& v{* n- t. h" M9 v5 s* l0 T6 d+ Z) }
        DWORD nId;7 f* F+ Q- Z- X. `, P/ ]4 W
        int nPart;2 K; B& t6 [4 ]8 ]
' x9 X2 e; F! ^  l) ], i7 N
        ar >> nId;
; h9 R, N2 _. J; K2 z; E3 J& i        ar >> nPart;               
. v* x; v& |* w1 b) n3 n4 y7 j       
+ |; X. K2 Q$ V        if( nPart >= MAX_HUMAN_PARTS )       
) ?8 `* e" Y# q1 B1 H$ [' k                return;
& \. Y, R3 A* U8 ~+ ~
3 F: J* T- C3 i2 L        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 z. Q; {2 H  x# b% W6 Z# p
. G3 |8 A; B. `. @$ i( n- L
* c$ M* P0 ?" SCode:
0 h4 n; H! @1 G#ifdef __QUGET_SWAP_FIX
$ |1 W4 s5 ]4 W. c
- @1 u8 a- z& K0 u                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ C7 E: i4 Q/ D, Q' k
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
; v2 z, X- w4 l* D7 Q& d
( G6 s/ \2 r0 d1 B5 U. K                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
" \; T2 ]& P$ k5 M  W& w5 r5 W                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- W0 w+ }# }; J) a" P" X7 I4 E$ ^: n. A4 V  u* F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
, p$ y1 a4 S. M                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );1 f$ _3 O/ u. o* A5 u/ F0 T- H0 i! `' i
# i5 o1 i# N6 M: O) j, d
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp! ]: _; G0 N  C% G7 Z' n, N; @
and add under
# S6 s; @6 x) A& Q% t- o( B
+ _& J3 p% c  R( n0 Q* rCode:
% Z3 G7 u. T' D  lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 T  e( z* G4 s5 |; `                        {
8 v2 q* Q6 Q( _5 i/ T6 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 );
, g; R, Q9 ^6 }, Q/ i3 F4 O                        }this5 A! b2 y+ }9 F- K! B1 d) \

/ |; h9 Y9 V9 s+ V; PCode:
4 b- N6 b( R. r. i7 c#ifdef __QUGET_SWAP_FIX
8 [' X$ t% {& x                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
, m# e/ j) P, N. |                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 ~7 W$ u+ i8 j3 F- g; K' u9 D2 ^, D8 T
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )2 x3 T3 {1 Z/ u% |9 d
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- y7 w( F2 X& x& c* u$ a

8 G. f: T1 n! ~' \                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
6 q- s3 d6 z; o" [& m                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* |# C8 {. s% _, l, f% \
8 {' l( M6 ]" n+ f  g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
, O# k4 C9 J' D* C) `
  Y. w) N$ Z% P1 x8 u$ ^% }% U* [  y1 `

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-20 21:14 , Processed in 0.065037 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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