飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16554|回复: 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
4 `2 j% |& m. {0 N1 }5 UI posted this because someone kinda posted a youtube thingy about it :O.. h; u" ]+ h& H* e- i0 Z% {

4 f% n1 J/ s: o7 u# d3 f# {Find this in DPSrv.cpp @ worldserver
2 F# q; O9 b$ V. Y+ U" ^: G! q0 ]2 w/ C, r/ F  j3 o
Code:/ D# F1 z1 a. Y+ B, J* h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ): _* z1 V3 L6 W* ]0 i6 @
{1 c5 n! Q2 ]/ T8 L$ p
        DWORD nId;
% c- R' G; @, g( m+ P        int nPart;
0 p) A: \- V6 `6 V# E* X% v9 [0 \
2 {0 `! g  c# }        ar >> nId;
4 x6 K8 m5 ^) G; f- e        ar >> nPart;                ( k& Q2 e' E/ o" m8 A% {
       
% X( V' e6 J; U. M4 ]        if( nPart >= MAX_HUMAN_PARTS )        2 _( r  e) X0 T$ i4 j# |3 V+ e
                return;
( n, W6 l' g1 V2 o3 S( v# g
- o2 o) `3 w  M3 M* O+ N        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; x% W0 B. ]8 t* E
# Z4 V4 U& T9 Q/ D5 Y' V0 p5 N* ]* Q$ |4 {- M& l- P$ _
Code:
# c" g5 m5 {0 S, Y) ~3 }4 h5 K#ifdef __QUGET_SWAP_FIX
1 R& z8 m1 t0 Z: W& k% V, y" v6 }$ r) J& S. v+ N3 n5 O) ?
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ r* k2 U' D- q$ ]7 A
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% \3 ?( @+ Y% n# c0 S( F
' Q4 H7 m  Q4 M. O2 S- O                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. |& m# u  _& g5 i: X' J                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- ^; z) {  L! r2 M! _4 y6 R7 h
/ S6 i  P( ?5 l' ?9 N6 O6 `                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )% U' k( h* b6 r1 Q' |
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# b/ }0 F$ G. Y' s+ @, O6 U
( ?5 t6 R! @  @9 {  n1 i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp* K8 p* J6 e( Z& `1 y4 ^
and add under
2 V6 N& h* x: f3 E0 W6 E$ }/ G/ q" b4 |" c7 c: N' u, T
Code:
3 t% H% b8 b9 hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
& A. ]% n7 h' h8 L6 W/ o                        {, i8 c! v' k1 P. @1 y7 I# {
                                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 );* R, n5 C, ~- C3 B, v$ R/ Z% P
                        }this, J! Y6 M* ^7 U% y8 I
) B) M( O: V! F. ~" h0 s, v
Code:7 z8 J& B9 X" P
#ifdef __QUGET_SWAP_FIX$ \# w* a$ z6 O& Q5 U1 X0 U
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
$ Z- d! {# `5 t$ ^                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());! {+ O3 Z; a4 Z

* _# b8 {3 v1 b/ A. s: d                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' ]; ~0 h7 M/ j. P1 y2 Z                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" o2 c$ k0 A6 n- Z, i* i* j" [# m, {( l) a+ C$ m& N& d; c# @# m
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )$ D" e) v( @8 O
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );/ v3 d; P$ T" d: ?
2 }9 Z7 u* X& ~/ ?5 z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 [" i# i+ j! C& {! F
; v1 x+ ?  B8 |: p* }! A5 A( K' w3 R, V3 f* {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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