飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
6 `% D3 c( r3 c. B" K) K2 s' w7 J
I posted this because someone kinda posted a youtube thingy about it :O.
, R2 U# K) f' h' i# E
" ?, x U( R( J- x- l3 {2 S
Find this in DPSrv.cpp @ worldserver
' m4 M6 T, ~# p" P* d
2 a1 C+ O# E% i
Code:
1 q+ c+ K1 l4 ^+ Q; [" M
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
1 [) ~: T4 s0 O' O0 B( M
{
; U+ E- ?' \: U, K0 i9 L% t
DWORD nId;
I [; T3 r' m/ ?
int nPart;
) K* m) }; n. @. @! J
; B M2 W" I& l/ L' F1 H% {* @/ M, t
ar >> nId;
+ k2 l% U+ c- E% @3 p
ar >> nPart;
) ]: I' a# r/ |: |
% l& y3 A* M! ^; H
if( nPart >= MAX_HUMAN_PARTS )
/ G1 I: S# z& ]% I
return;
2 t M) \! b# F1 y0 c/ r
1 \+ n# b S4 g5 v5 {6 W, }
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) y! m8 k' G2 g/ v C5 v) u/ ]
7 B& @* B, I; r% d) S! D3 L# M
M9 s4 D6 ^" K+ ?( b. j' [: e, ^
Code:
, ^, z' o, }, p: P% p: ^
#ifdef __QUGET_SWAP_FIX
1 U6 O5 U* _: G3 s' Y [
" P# h! u* k6 w) P+ S
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
+ @3 J. s9 x3 M
pUser->SetHitPoint( pUser->GetMaxHitPoint());
2 B \* }9 ^6 [) {, Z* C& F
4 s- q, Q( @4 Q
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
& q) x; K- a( X
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& v7 N$ V9 b2 C9 g" K
; N4 E8 N3 Z4 t
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
& F" Q3 K1 m5 C3 q- }% t' s
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 \( [0 o) ?& `& f1 T
# H& c- d0 K( G P v! g' m( L
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
) Z) Y1 \! z# ?2 B1 F5 C& G; k
and add under
3 Q; G8 _8 A! U4 Q+ D
7 \5 s( `* W6 P( Z; j% `: @& |' Q* J
Code:
& i6 M5 g! T l# e9 A! O; _+ H1 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
% M" q6 z/ O8 t* X
{
) ^. \3 Q, I) A, V! O, L
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 );
' O0 J' ^& t8 R# [8 @
}this
, ?! V3 D5 t) Z' D3 \ y/ E1 g) V' b
2 S; N9 f1 e; e9 x- }; M8 `
Code:
2 K. V+ J* f' D! |+ H( P
#ifdef __QUGET_SWAP_FIX
2 i( N0 Y2 K1 u, o
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
# s$ y9 S, E8 Z2 s
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. a. x% K i8 G2 k8 I0 D! G+ q
% P- g1 T/ ]/ n/ `" H
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
+ z% K" S- {5 q4 O
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 v) I2 D5 M5 k
1 d, f i( k% C5 o
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
# J) `( k2 p9 i G' P
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, m" ?; q; ]2 g l7 u# K
@4 X4 `% P4 E0 h* X# Q3 W( B5 f
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
, v/ Y" {+ s( G o
9 Q3 m) T( y+ K
1 g5 l2 [5 U' g- ~
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2