飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17096|回复: 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
1 C5 X6 T. B% l/ eI posted this because someone kinda posted a youtube thingy about it :O.$ d+ @- Y9 i3 Z7 _6 h+ Z# I

( k) T: `1 n5 g  HFind this in DPSrv.cpp @ worldserver
" |/ r) M% o% [+ `, O% A0 o2 M( w/ P
Code:
9 U# u/ [+ s0 X9 @" |! q' m* rvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
* k; z& L, R$ E{
, X: n( `* r6 A        DWORD nId;, g0 ]. Q  p5 b* R
        int nPart;" b; y1 b, T7 q/ B! z/ b# @9 M: q

& V& }3 }. p9 L8 }        ar >> nId;
( i3 E0 V. o4 Y; `        ar >> nPart;                4 L) T% q2 o' G4 I( T3 y, }& y' d: g
        6 B1 W- B3 k! U: \" T) L
        if( nPart >= MAX_HUMAN_PARTS )        & a' i; `' T9 V  f+ m- Y( R2 g
                return;
9 N/ q6 S7 {6 n# _- t: ]6 F
9 K8 V0 `! V& Y0 S' o5 P. g0 P+ q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- M9 m2 q) w$ q$ u  h6 I% a
) l, `( g: X) T$ W& ^3 x
, q. i, p3 h7 I1 S/ h$ H" I2 MCode:
+ t8 e+ H9 D' F/ \* u#ifdef __QUGET_SWAP_FIX# I/ \6 H& K/ m, X. e0 i5 w# I

" `- A9 N! N1 E                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
! H# Q  b* z( H9 _' N                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" t+ G8 C/ J; ^; k7 ^$ j( _

$ X9 e- @2 q; A" }6 c                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ). X% R+ s# g; T7 p# e! g6 S" m
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );. b0 \7 g: I: z# o" x
0 r4 Y: M, i. A) E) \/ k4 \
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )5 i  }2 D- ?2 u2 J) u
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
; r2 F* o" O! M& @: U
" T5 s- L- ^% `#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp/ j/ l0 E( S! g/ W3 u. p
and add under1 p( y. a/ G* P; ^" B

# v* M% M) O0 qCode:& W8 y+ h  `' \# K8 Q$ A
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
; g6 u1 p9 S" l                        {! Y7 u; k+ h* F- m3 n
                                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 );
" B( z. o1 q# {/ Y8 K% Y                        }this
6 `6 A' e  F2 E. K9 j, b9 i9 T- a% P- ^" h# `% s; i; {# A
Code:
. l+ q: n( }% t4 y" ^#ifdef __QUGET_SWAP_FIX' J' N; T0 {$ [# t
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 z& c" i8 k) v                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
& t  F# l& Y) k- E" N. B" ~' T/ }6 Z; k6 D
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ), d  A) a# [# C3 n* ]7 E
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
7 h& ^0 U2 W6 B5 a( ^7 }  w; ~7 i
+ I6 V- P( o! E, C                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
7 k: ^7 j$ [- X. G                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );) E2 {4 C/ h" i9 v" n" O

2 y7 K' B. e( c' n" f+ R' B* ~0 K#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver & l8 M# X+ N+ T& P( a+ _/ N8 I' w7 G4 w4 z
- h5 {5 c* R* V* V- z, o8 b# K: w
- g0 }9 D1 F: J( u  S7 r' ]

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 11:55 , Processed in 0.062649 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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