飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16961|回复: 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
6 p. B; ~) [: r  r2 iI posted this because someone kinda posted a youtube thingy about it :O.
9 M6 Q$ `3 ]" a$ D5 a, C, R, ^
% w* R: I4 A) n0 p  bFind this in DPSrv.cpp @ worldserver
7 N8 t% U( j7 n% w
$ |5 j1 X% ~9 l6 ~! X6 y4 _5 yCode:
3 Y  \* D6 q. q9 ~& m, q! pvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )$ X0 A7 ~* W# \" C9 ]. g3 N( L
{4 t3 p6 b' f' N2 Z
        DWORD nId;
8 T7 J! ^2 @% L! J% d# H8 ^        int nPart;6 [: o+ U5 `1 h4 G

8 m4 W0 y0 Y: `- R8 Z; q        ar >> nId;7 l8 W* }& r6 Q3 G  ~
        ar >> nPart;               
$ d9 I0 ~2 H4 X/ F! f       
' l0 T+ P& Y" w) ^/ G        if( nPart >= MAX_HUMAN_PARTS )        3 S5 h% Y3 n! [# }) U
                return;+ W/ J8 `$ ]9 Y7 w

3 `8 O$ \7 `. k1 Y4 H        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) |( Y, y7 M2 D6 O5 D7 c
$ m5 x8 Q) {  A% f  J/ i9 r+ k" V4 E: N0 O- R
Code:
0 G  j& g1 n+ n% g9 }# x: D#ifdef __QUGET_SWAP_FIX8 U: |0 j  X/ G6 G" c

: w* Q1 U9 V% z% H/ u3 B7 j                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
! f. G* U& u9 s; i4 T. l                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
1 E9 p  R8 d; ]& Z! a$ ^
! [2 }* k( P% b5 ]* }, _+ t0 ?                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )2 V4 M' O0 E. B9 k- n& y  {1 s
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );9 i8 g' C* _6 n7 G- [7 R
9 e( H, I. ], H" h1 h& ]* q
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )0 B. f' A# X  B8 }. t1 \
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
! r7 D# n4 F6 y8 Q3 F  n/ z- }' X4 ^/ O) }4 [* O$ g: o) U
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp' b9 S8 i! l0 J8 _  x
and add under
, R# p( }, Y( h
; C( l6 k; d5 ?" D) m( [) @Code:
+ [: ~/ A7 [8 Y4 O! D- X* wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ m3 H- c2 F1 t( R3 @                        {
5 Y; x6 r* i5 ?0 @* y- |: H4 o                                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 );
0 G; x9 {8 ]3 i! x                        }this
9 s' Q  m9 d& d9 }2 P' `0 W
) B. q- W6 p4 V* ~. N9 JCode:
% J, d" u( ~% ~) j7 }) @#ifdef __QUGET_SWAP_FIX* z+ G2 _) j6 z, j% [
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
! L, }9 T7 j9 U4 W1 C9 ^3 }                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
9 r  j  {9 ?1 `$ ^; `3 n" [) R% w% h9 u3 W. E& P* H  a4 I8 E
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' s' L0 _" a8 M- U  m  h: t: y5 o: `                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );; [: l4 F! n* G6 |& p% V
" q3 o& @; A) r* A' u, f( t  Z3 u
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
) p& J! }5 G" O$ \                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );* }. u+ J$ E2 L0 N& v0 K% W

2 Z% B. A. ]6 F: N2 A2 l; K#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 6 V( K1 E1 G4 m: \: B# p
1 u4 H  D  f1 N( Y

. c% u" u/ y. k' a9 _

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 04:07 , Processed in 0.074257 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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