飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1068

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1068
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
! U0 @6 Y9 F' s7 ~I posted this because someone kinda posted a youtube thingy about it :O.8 |9 i3 k& p: }8 g( l0 E8 Q2 z

9 X2 M9 E, J+ ^) Y) Z! Q& _/ VFind this in DPSrv.cpp @ worldserver) v5 N, I' d+ f5 m  c& @
( S- A( r7 z4 k4 |5 ^, @1 }( p$ p/ |
Code:' g0 }$ \2 Q1 T- X5 [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 @  q* i! Y" V& n0 w, X{
( A- ]$ M0 I; X5 e) J7 P7 z        DWORD nId;7 ~8 |' ?% a$ ?- g. ~: n
        int nPart;
. b* C' ]( K' h: }% r1 n" A0 ^) K6 n
        ar >> nId;" p. E; Q+ N; Z- x  X; i3 c$ z
        ar >> nPart;               
1 m: c: d6 _1 G5 E% H( [: J8 ]        * D8 y  a- i8 C- {; F
        if( nPart >= MAX_HUMAN_PARTS )        4 }: I: @! {3 p$ u- n
                return;, ~) `# R  E/ K) M) p6 x& ]$ E
: z/ C8 ]1 a3 Q4 k( H  b2 p4 D7 \
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
2 K0 d. g: W8 y& g
9 u3 C% B, @5 O& B  E4 k' F' a- H* {5 {, w5 e# o
Code:
7 X8 J0 d' x: O  t) d#ifdef __QUGET_SWAP_FIX  a& O* [& ~% B% A9 B8 g
4 `* x) A/ i- g  Z0 R' H7 ~
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
! A. U% V+ j9 q" g: B                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; E: \; v/ s9 X2 K" H8 o. e2 Z2 s  O
8 @3 ?, u% M1 K
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )4 l' P$ Y: d8 ]9 V: f. n3 L! E+ \
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, c2 q* f1 c; J. x: ^8 y
6 p! J% |# j3 A( }' R* ?                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
/ }) p+ o( W) A1 c# S1 r5 |! k' j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ Z" j' t& f5 Y
  [& W7 Z: E; o0 o#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, n4 c! D& S6 ~+ ]
and add under$ ?  ]: R9 G2 l) i0 {

9 q4 m) l" {8 C9 A) x& U& X$ rCode:
. i* n4 `8 x+ g4 E' F1 zif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )) D+ e( B5 @5 ~5 R; Y4 E
                        {! O5 Q  J( h8 c4 P0 D( X+ 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 );
3 ?- x4 v" y  D- O/ ?                        }this5 S# L0 t$ k7 `) {
  F. ^+ \" f& I/ ?' {' U
Code:' _6 X+ D- |. U$ O* ?* p
#ifdef __QUGET_SWAP_FIX
% D& V+ D% X( U- v+ S3 _                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
# b1 z; d2 Q7 y1 t) a2 W                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());* S0 k* g2 h! e! x8 x5 I( H1 d+ h% _

/ x' F1 e# t. W                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )5 l; d) o) L! N5 D, A
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ t( F: A. H. |' \- _# E& g
/ I) w6 F5 H$ Q$ y4 B1 |
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" S5 m& p5 v7 v* V* H; M1 Q
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* Y5 I2 J/ p/ a3 \# b. `6 L. h  e8 E# R" c; a& |4 c
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
- x: x4 V5 Y- w) D7 }# ?  V/ E/ ]
# d8 e% A4 |. D1 Z9 a* U; q7 x0 q' S, E& m7 q: V# }, A7 {

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 09:20 , Processed in 0.059648 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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