飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16383|回复: 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 " }: n" a  b4 ]. w8 b* r+ L7 B
I posted this because someone kinda posted a youtube thingy about it :O., \! n' }* u9 d: w# C7 D
% W  i! U3 \* A: E
Find this in DPSrv.cpp @ worldserver3 J: O  `' A$ G7 M+ ^! {" ^& p

% A9 L9 J  A2 U! q, r9 q3 b% w: fCode:
9 u; J0 n8 i- [void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 M. e# w4 N5 F2 X
{  P1 F! B& C3 o# k: f' V
        DWORD nId;. X8 Q: G- O6 ~: f8 O( W1 m
        int nPart;! k2 M  A" x/ _: }4 b
9 i/ S8 p% ~5 b; A' ~
        ar >> nId;; {, d) d3 [8 [5 ^( t  q; z/ ~
        ar >> nPart;               
! h6 Y. _3 G: @! j       
% @: \7 m1 p2 E7 B% F8 i        if( nPart >= MAX_HUMAN_PARTS )        $ ^0 o& F2 j' O, S
                return;
  R8 t$ j; n% h+ C2 `
# {. E# ~9 a7 y* e0 o: D        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% F8 ]* E8 G3 P; j
9 |( F# Y) {3 a% O: h! E
& S3 X  ~) H3 HCode:
# z6 y' c/ p1 K5 \#ifdef __QUGET_SWAP_FIX
, F8 ?% Q% R" @8 j, v$ Q" S4 {+ b% l1 ?5 O5 Q3 T7 v, [/ t. W/ ]9 I
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
+ @$ s) p; X: s; J# H                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
. n3 X4 p: H7 ]% g9 n0 V% k# p5 x8 b/ u
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& t. M* k+ h: X) }9 _* L* K                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' z+ |: n# |/ }3 t; w/ j4 \) C9 |0 J7 q" m2 o
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )% s4 u% ]4 B) f' X% Y9 X
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) n4 O; @0 i1 Z  K+ s( @1 E0 @- Y3 m

& i. n* n8 Y* [2 f5 n& i' x- n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp7 \8 i  q; R. m1 M4 [& N0 y
and add under
1 H0 ^4 {1 {. V# w2 P7 s1 [: T! f0 o( l
Code:& Q# N; H( A& w. @- ?( q4 _
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
' @2 G( w5 T; G: B0 N                        {1 q3 E; Z  v8 t% d
                                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 );
: d7 Y/ f. Y! @# s% u; T/ @9 C* ^                        }this
2 a) c6 B9 {" p+ q& d9 |: }# u% F6 r; ^  `0 n5 q9 x
Code:
/ j- R" H, m# U3 K( e#ifdef __QUGET_SWAP_FIX  e6 w4 F+ w$ X5 }
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 C9 D/ C8 S- w! o                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( v3 q$ [9 V4 U9 N
+ s& e" [4 f8 P; r& j                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )( ^6 O' n2 ^+ U8 {2 D* {
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );9 _8 ?3 E* t; g5 V

& }& {9 A8 k* d% }+ @6 Z                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
% Z. c# G6 l% J* }7 I1 L& n; g4 ^                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
6 F5 L7 q9 q/ U) T+ J1 Z2 L, Q+ P- V  [! H* Y
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , {4 C2 Y0 d6 Y/ u9 P

4 Z/ F: R% |+ k) C9 O- b, s7 _2 y/ D8 j/ G$ [& ]

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 10:25 , Processed in 0.069673 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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