飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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 9 v; G3 o7 ^4 N1 T" `3 R7 G9 T2 J
I posted this because someone kinda posted a youtube thingy about it :O.' e3 `# Z6 q% c

8 Q! }2 [2 J/ h* G1 ]- r. CFind this in DPSrv.cpp @ worldserver. s/ g+ W% B, v; a
8 g7 z0 ]/ p- Z- x( W- p: [2 F5 Z
Code:* D0 O( D' Z% ^" S+ }
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 h+ M! q. ^; z: m, r3 b{
  f) q1 b" M9 h1 Z* E" }        DWORD nId;, I+ a" A1 p* S- }; J
        int nPart;% a# `7 Z- [, n" B0 P5 b% y$ P
$ M6 Z" K5 r: l5 q7 s  w
        ar >> nId;
- m5 m# P2 d# \        ar >> nPart;               
/ m% }2 _6 Y# Y6 p       
, p8 o6 P- L% V" V# ~% l; S        if( nPart >= MAX_HUMAN_PARTS )        5 ?1 H* ^; Z! X. G
                return;
& s7 F$ Y9 E7 a8 P
( M- z1 A& B4 ~        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, [2 \. o. j9 x. _% J. a

, U3 J% W1 N7 d+ H3 K" [3 ?! x% l, E  e( d9 x; ?
Code:, W* C% q5 R& K2 Q7 Y2 r* A
#ifdef __QUGET_SWAP_FIX
/ K/ R) S2 d1 O/ ^3 }$ e1 }  c5 S* O0 V# t1 `( L/ }& `" C
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )) Y6 Z" f  \/ _% v
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());4 x8 k5 V7 f  A) H* i0 c* e$ q
9 Z6 N3 e% l# W# k( J
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
7 P+ ]9 ^# a- R. U/ c                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! z+ s% M/ Z5 _
' |: R+ G0 c7 ?+ j
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
, D1 I0 v5 O* Q& y4 \0 J$ j                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
# @8 I4 k( M7 [' `- q  q7 {1 O& F4 |# C
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 v% L! Z) v- `# w  C1 o) R9 o  J. Kand add under
" |( e0 q3 a) ?6 V2 x* u
3 P* y% u- T' k' B3 D* @Code:
" L, M, H- O: bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ e0 C! t& L$ C6 Y                        {. ?) F( A+ r1 ~& |  U& }. W& 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 @0 e4 C5 ?' X% v/ }                        }this# N1 @0 O! N2 \+ {- F

; A. a( n/ v2 k$ UCode:
# s5 u2 H+ q8 s' J0 J#ifdef __QUGET_SWAP_FIX+ T2 b1 {" F% Q+ t
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )- }5 v' y4 p- F) X8 u
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 ?* d% Z3 q) J$ L9 r
4 f( `: N# [" Z" v: ?2 H( T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' m# E5 w: C- e) F                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );  U! U$ o- h. `3 w3 ?# k
4 Q. K6 W/ M/ Q# T
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
6 I; i" f2 Q$ j- Y, R                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* W* |; ^! _) P8 l! [; Z/ |
7 @' U  U* c/ O; g9 o5 f. O#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
2 k/ n: [" {* M2 ]6 q" ^( J, P, |1 n

; Y8 O5 L9 ~' {0 A! \8 N

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 07:05 , Processed in 0.060324 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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