飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16871|回复: 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 2 K- G5 b6 j6 f3 ^+ D; f
I posted this because someone kinda posted a youtube thingy about it :O.6 V0 d) A* b. N$ }

: H4 w6 Y* p) w) S* t3 gFind this in DPSrv.cpp @ worldserver8 F" r9 W8 O  v5 U: @( s

* x) E" M; v: Q2 M( {Code:
2 D3 g$ \$ c+ L* v6 l0 xvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )2 Y# @6 p& H5 m" P: R0 m' C
{
, _0 U( S* c, T+ c        DWORD nId;  D" J( t3 p& O) F% x
        int nPart;; u/ z7 K3 h% i; [2 p- \
$ H* l7 L& P1 {% R3 d8 m
        ar >> nId;
% R2 O) J% c+ a& U% q8 R        ar >> nPart;                6 n/ f+ c+ i# }, G, \! B; t
        1 ^/ a; S. b" J+ b5 s
        if( nPart >= MAX_HUMAN_PARTS )       
  B9 e+ W' x0 Y5 l: L                return;
2 A9 H$ Y* d3 Y* P
9 L0 m! n5 g0 Y& [        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% R) V6 z% k( p; u+ u7 @8 G$ T% h

; F& ^2 I* z) s+ l' r2 f
$ G/ U% x: V/ s8 j: Y$ Z# ICode:; H/ l* B& K. a
#ifdef __QUGET_SWAP_FIX. u5 H+ E! {# U; }5 S
, z$ A" e' Z7 K# V9 b' j: g
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )( |& C# V! K" W  H9 l' W% C' F/ V( L
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% R" p2 }' P; B; p$ a8 i( J
. H5 K! s/ `& l                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ). @8 e% R# p. m7 Y0 C
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
; U3 _$ X; g% e/ d; I" g+ ?' ~8 f% l, @0 G7 c9 [3 c3 w* u; F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
$ u0 |# D* I1 |; U                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
' q5 F6 I# x4 M# ?. M+ i+ C$ n+ A6 ^" y9 ^# g5 E+ C$ k
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ O8 t! d. K# C% e6 F  _
and add under
% t; L" l4 f9 Y" W4 q: L: n
8 V0 N; b- \$ K- a4 qCode:
1 P* e' W1 c& F. vif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )8 V7 H- O: g8 F3 O+ Y% l
                        {
" N  j6 P, M5 x: j7 s% @! }" e                                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 v! L* j$ d' o* M% u( ]3 K' D
                        }this3 A; j* q! a5 m0 c

9 g; g) m+ `  w8 w3 nCode:
  d8 a' w2 d3 q#ifdef __QUGET_SWAP_FIX% B0 I# E9 r8 @; i0 O
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
1 J6 G7 Z# @3 |8 g. f. V                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) F4 ?* ^; c* }' a( f5 z1 [
6 V$ F# r' ]# E+ l
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )3 T/ E3 H1 _6 m5 j5 J3 a& _$ q) \
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
! T( u: [1 [4 Z1 m* L1 ]% m  z3 ?; A( J3 t0 i
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ Q1 |& o4 h+ e% d- R8 H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
( B2 F1 R" E# {, }6 l+ E4 Z9 _# I2 E
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver $ j/ I* B4 c: c: @1 n; v. A
# E1 P- N/ e$ s* @& m/ i

( |) H9 \" N+ O

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-10 08:08 , Processed in 0.070266 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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