飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16453|回复: 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
; V# w' Z' A/ T8 W: jI posted this because someone kinda posted a youtube thingy about it :O.6 r0 {- R! E& Y: Q
; A8 A* Y" D! H) M2 b1 [! H3 }
Find this in DPSrv.cpp @ worldserver
' F2 h5 p3 U9 T9 T  a4 D5 m: A0 r
5 Z6 w' J4 r4 j# ?1 H  J4 O( cCode:
9 t7 q4 Y* n) w/ Mvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 l* e6 T% J* }7 i! P
{1 b9 Y) v% {8 @, T
        DWORD nId;
( Z7 m+ j7 j7 Z& @- G        int nPart;
+ b2 d, ?6 u( K& E
- j) n+ \* U. J: Y: y        ar >> nId;& F( I6 i; ^0 R- ?9 N
        ar >> nPart;                2 p2 X$ e6 U. b  C. D- _
       
0 h' g3 D( q: k; Q7 N, Q        if( nPart >= MAX_HUMAN_PARTS )        : S# ]9 H5 S  H- g& d, J( U9 {) z
                return;
% e) y& p, V0 B
9 O+ N0 P! j6 H! N7 G' }- [) w        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- o( W! f9 E  g; i6 C8 Y! W
$ L! v, S) Q' J) A9 q+ i1 r& x6 J9 o! z* c6 o: n
Code:
# ]: L4 C& o3 B% [( Z#ifdef __QUGET_SWAP_FIX( b0 d& F  Z( k  W* v9 O
* g9 C5 t( `. d3 n" `! L5 z7 {3 c
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
7 ^( d$ u. [% A) h/ P                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());! h( C& T2 f8 ^( q

( j$ |! I9 i3 p7 A7 a5 f9 |                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )2 ]4 a0 G4 ?% y2 e
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& s  @8 p2 ?! k# U3 p5 D" I) _. k% n5 L2 h* x& m" Q5 G  q
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
9 W/ t/ r3 f; T                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& Y$ [8 I( ]) f0 F
# w. p. [0 n: s" ?2 v#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
( u2 Y- F0 V3 x9 f' Uand add under0 y  b5 i+ t- r# W
- n( V3 ?5 m( {
Code:
8 Z. E! D' K% X) m0 \if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ p& u) u$ d9 `' X  _2 T* y                        {1 _- I) [9 G" A' a$ X6 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 );5 i  ^6 {4 A$ q" d" a+ z' f7 S
                        }this
/ C( {: @  U0 \7 L% C
( f# D. U% U7 e$ X9 M6 oCode:% I; l- v* X) X* O
#ifdef __QUGET_SWAP_FIX* P8 O& {, Q& U- k4 U' S% C. W
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 u4 Y7 Z( \" P' P) \. l1 U3 D( W                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ ?& h& I7 c9 {/ P9 K! B
0 m" C% ^1 ^: i                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )/ f4 Y) \$ ~$ N3 J$ P& H
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' K6 V3 y$ v! K# `# ^3 z
0 y$ y% M" |/ l$ S: Z0 d8 P
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )9 T" P+ \. z2 ^5 _( i4 G) d- D
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 e  `* R- ~' E9 ]( B( s8 B

9 z( M0 w. `# |$ G. B6 q1 r" X, d; b#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; s& R* X2 a6 Y  @. L

8 W2 g! H; r( `' d3 e# c$ P2 |8 C! b7 E0 t! {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 11:19 , Processed in 0.078551 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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