飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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 & `' [. j, }4 M) J0 A
I posted this because someone kinda posted a youtube thingy about it :O.  C5 d1 t  m2 a2 @. U- I

2 Z* Y) C. E1 ], bFind this in DPSrv.cpp @ worldserver  N( A9 n( ^  c" T8 y& M  h! ]% K& `$ a
0 V4 M8 T9 s( }8 _: d. @
Code:4 S+ k+ A3 ~1 X5 [- N9 ?" b1 c/ D6 A
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
5 X; x6 V8 H4 t0 [  a{# y7 s) a" g$ }% z9 y& ~
        DWORD nId;
* F; @6 i+ ]) y; E. E        int nPart;# Y# u4 g- V2 K. {# ~0 S" g6 p* l  e
/ Z% w. h$ T  X. J* B' s+ j
        ar >> nId;
( K* ~6 O3 O; d# ~; J1 _% |( f5 N+ F        ar >> nPart;                + O; K+ ?# M" l$ i! R9 |* Y
       
3 O, ?" O6 _# Y0 S7 R) X& p" [/ z        if( nPart >= MAX_HUMAN_PARTS )       
- u: B7 X6 n: |4 x                return;0 E- P, N2 {% {0 M. q

% }. e, `( @! |- Q6 Z: q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
5 Q# J, z9 J1 q
1 a" J3 s- {# g; Q/ |. h8 w
0 i. ?& {, B3 p% X7 RCode:: B- \) T2 S# O$ z" s
#ifdef __QUGET_SWAP_FIX2 a+ `) B3 @/ \8 M) K. ?  I
8 N1 P- ^4 o7 P7 ^
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )/ u2 V& r3 A( r
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
. v, Y6 O1 H9 Y% F7 _$ G) B1 e9 ?1 ~, e
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )# I5 f0 \' Z2 p( d( F1 d8 b# D( w
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
1 o/ `4 U. `8 G' p* e2 C% O0 {/ r
5 A  Y4 h# b: W1 ?+ z; K  k: J                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )& b" U' Y8 l  a  W7 \+ b. v
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
( c! w: O5 U* H; m6 g! n- x2 m2 u1 Q. l
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
$ v, y. h; Q, c8 Yand add under
4 F- j8 g& y. f2 Q+ ?- x( q& ]3 o" N. w4 r+ d" s& y+ o$ G
Code:8 u$ [6 G0 e8 I3 t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) V0 a9 g9 n2 V* G+ [
                        {) i- O0 g7 n* I1 T- ~1 B! X1 w
                                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 );( U2 F8 k3 t$ X6 ?
                        }this
* H8 Z9 w3 B( `. f% g7 C- j4 {' m  o8 [* {1 g0 M- C
Code:
, D3 e; t* T2 b8 D#ifdef __QUGET_SWAP_FIX  Y" ]- r! f! i2 ^, ]3 C4 O7 h
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )# i, Q3 D) d' d6 q2 m
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 K& \; u+ _4 |, r! Q+ d4 ^5 q( r% M' u1 `
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
$ `" M3 }. z5 S                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );  O: C: A7 Z1 q: q. j- ]5 o. ^" H

  j. |1 ?; c. Q& `" U( ?9 s: ?4 W                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
3 q+ d" }: Q4 e! _                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
7 x1 R; ~) e3 R6 d/ M" Z: o7 A4 r) v
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 _/ H- _8 r& k
% C/ U4 Z- x, U$ H/ S
: X7 k2 }8 z0 ?$ {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-28 20:57 , Processed in 0.062725 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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