飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
admin
时间:
2016-1-10 03:43
标题:
修复交换错误
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
) }: g8 \( \9 p a1 k% [
I posted this because someone kinda posted a youtube thingy about it :O.
- E5 u# o; O. W( f) E! }& s
# Y9 A f2 U4 n" V& Q( c' \3 B
Find this in DPSrv.cpp @ worldserver
0 ]* l7 _3 ^8 O1 i8 F8 k: u$ h0 G
$ j; w: ^ k& K% F% _
Code:
( \ W4 j) E' K3 ~2 U4 B. K
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
$ Q- O( v; U3 ]+ y4 C
{
8 y- }) W6 B; ~- ~4 \$ H
DWORD nId;
( z0 F- U. I3 V' V5 }
int nPart;
! u/ o' P( q0 S6 @$ V( E+ B
6 P0 v# K" j# B, M' J( m
ar >> nId;
( x1 s% {5 t& ~- `; l! o
ar >> nPart;
/ x2 F; o4 W1 d r7 }
2 F9 Z* O& b2 I2 j- |- k; T) B
if( nPart >= MAX_HUMAN_PARTS )
! s2 ?; U" o4 D1 Z/ b C
return;
& v) P* C+ G' e8 x) v5 x. e
% }8 }% { j) [: @9 c( n
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* X e9 j3 B7 X* m. ^0 K6 T; a
5 |/ f! X, K8 ?5 M7 [
- f: J8 E! a; g6 ^1 a( d& b
Code:
, F& f. A' b0 ~5 W+ F
#ifdef __QUGET_SWAP_FIX
2 z" S: F9 n* K* o* X/ o. g
8 m2 d/ D, T5 a* [
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
, E; ?3 Z7 X# t$ J3 v1 H. f
pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 i& [9 ]# V% N1 m/ w+ J( O
9 Y& I- S9 c% t) ~8 {
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
& i4 G0 |7 ~0 K. P
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
Z3 k, _2 N# P# ]% t, |
+ @) x w7 v7 A
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
1 A5 e2 q) r0 k& k
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% }5 K" r# k4 v- O7 x) \$ M- I
! T, w6 o4 J/ @9 j
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
7 }: A, [# S- O* E4 Z
and add under
" ^. i F- H. I8 @" f9 u8 a
1 M+ s/ n6 E. d D5 q
Code:
) v$ }& I7 c$ S9 z- s9 k) @2 x
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
' {9 k, C% C5 k
{
/ ^8 T5 g" _% q
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 );
. i5 q9 f: E* g a* Z: W: p( H8 C
}this
L9 K$ I3 p; u5 P
+ T. _$ U4 @1 n" x: G) |: T5 V6 n$ ]. |
Code:
- J; f) o5 U! n" @+ `+ D2 ~
#ifdef __QUGET_SWAP_FIX
+ w9 e+ z4 _0 X7 ^! W- t1 a$ j
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
; K' _* S& S, M* Z9 E6 {7 U. r
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% P- g+ _$ N5 ~$ r. Q( V1 H
. S4 c7 O3 {; h* D1 ?9 y
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
( J1 _& E9 S/ s( l4 q
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
* i; V/ J, N, W, C, Q- A
' g* K: s2 u' x6 {* l5 V
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
+ f$ k1 f: W, N/ W; f0 K. H6 G
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
% }4 f+ O( `; b E' _( t
0 w' H7 t/ m, b8 w) Y! D4 O- S+ u
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
3 o0 _0 j8 H: t, Q
3 P9 b: D7 P% H8 M& H1 e
8 h0 z3 F. f6 @4 S
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2