飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11121|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
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 t+ F4 e9 ?& O/ ]( W( m7 a5 x1 j
I posted this because someone kinda posted a youtube thingy about it :O.. P' c# x- D' F) A$ l" k
) _' }' p; p3 t5 P6 F6 X) J
Find this in DPSrv.cpp @ worldserver2 @0 j' [3 Q( `& E6 L4 k. @3 O; D8 v

% L4 N) v" D8 @% L/ BCode:. `/ l% x! [, A! M+ t
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
+ g1 E0 o' a6 ?5 q{6 U' t( J/ W) C2 X  }1 e3 z
        DWORD nId;: A3 O) j3 B' T8 _+ L; I3 B) Y
        int nPart;$ f  ?: z2 ]: d5 o; ?

' K2 ^, ]) v& c; c+ Q- K        ar >> nId;, Z" O1 H+ T# P% I% ^8 T0 i
        ar >> nPart;                " M3 q0 [! _4 K! O5 @
       
/ h! A+ p1 y, z& i5 O4 K9 v4 O        if( nPart >= MAX_HUMAN_PARTS )        " \2 e* y" ^4 o$ M8 V
                return;
9 Y2 I( g, Q6 }( K
( \4 D* j2 v9 l        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it0 `; \3 e3 _. e$ K9 d
/ Y" q% _! H9 V& ?0 `

5 g$ f0 Q/ V) u: h6 p* h' DCode:
+ O/ Y. N& g8 {7 h#ifdef __QUGET_SWAP_FIX
3 T4 y5 E3 _% B' \" i! @+ k3 V$ i1 n# k6 v! k2 q% [% t5 B( F
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). Q( K" U* H# P$ P
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
) J) R. \+ \1 C9 n' _: x) I" K' u$ M9 G0 S2 k( j' \+ ^8 J  [
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
  X* d+ ^- H6 l3 f$ @2 M) s                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );4 y4 g2 ]0 k: e4 M9 A, u9 u
  M  D& R0 {! H: q# f
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 M! s# u( [: j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: e! e1 m0 P: z5 m. L* H( c

% K0 C* |3 o  h2 @: {" R#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
' z6 g( Y6 w( o8 {and add under
$ c) }+ s% a: z+ Q1 b( D) A. L( q3 G0 k; V6 e
Code:
7 Z8 k; F8 F# F" j8 X4 z, w2 ]if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ). r' Z3 {% h. G; k, u8 L2 u, U2 f
                        {5 ^% D. {2 Y7 Q" m/ {( b
                                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 );8 o( X. [- d3 D. z, y3 w( t
                        }this0 _% X$ w- p" X& b) f/ f
. s9 r/ F1 A" f& _0 I% L; P3 o; M
Code:8 [! G6 \7 g( i( x* G
#ifdef __QUGET_SWAP_FIX
1 S! e# ]4 y3 f& O3 }2 p5 Q3 Z* Y                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
- L/ K! B" W% _4 T                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ I  T+ M, l/ q9 {5 ~9 a
, {/ [; i* L. V, A, N7 h) E/ E
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
# ~! t2 l5 J; n                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) Z9 Z5 Q) h: j) @7 {

! o$ h5 s# L: y  P: R                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )$ w6 y. t; q6 s+ c
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 Z5 H4 R- |5 v& c# m0 q! s
8 i0 h( A- W! Y: e
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ( |- S& ?/ D! t. _
/ |# ?1 g8 A* B) U

$ }: h; `- V$ t9 J+ z& ~' C% @

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 06:04 , Processed in 0.057794 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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