飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
* V3 O/ u0 B8 Q# @
I posted this because someone kinda posted a youtube thingy about it :O.
: t" u- p% x3 L, Q% ^/ P+ t& b
, ]& o9 ~1 b q8 w6 Y3 h( u1 h+ k
Find this in DPSrv.cpp @ worldserver
" X/ ^, V! \. ~/ w
" [0 [5 x0 W1 m& h& [. C
Code:
, H3 L3 }9 `" ~( @" y4 _$ R- b- Q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# d" f. o- A; Q* V. A% r, q8 B
{
3 c& l5 J( ~4 N$ j
DWORD nId;
& c. O7 B% F, c" D
int nPart;
* T5 q, x: ]6 f, y* h# s
9 t8 ?. l) R9 g; Q: a* A
ar >> nId;
3 k- N4 q8 r9 E: v9 L4 L
ar >> nPart;
: @, l) D; ]7 O* C- |+ ]
5 j& k- O9 {* U# w" c4 A
if( nPart >= MAX_HUMAN_PARTS )
! R C" Z! d$ m
return;
U5 [5 C- {) y, x
! m, |! q2 [, {
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% B) z( c1 K# e( \& x* L
/ p" M3 e1 l. e4 V/ q* O
& W% s4 _* o8 W b) h
Code:
) ]) s4 ?# z. W2 E
#ifdef __QUGET_SWAP_FIX
8 W& X9 q9 @6 g1 D% o @
; Z- y, W, z! J$ v, O
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
) w5 h: |0 b% E
pUser->SetHitPoint( pUser->GetMaxHitPoint());
- m" c) L! i5 t s
# @( R+ Y$ G# m8 {
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
3 J0 i1 k2 c* h* [) N, m# \
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, q( z: Z+ K, G1 s' S W& W
8 J! t3 U+ o. X
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
# r: {; v6 r1 z9 `( F7 o
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
$ F2 ?4 {0 T' |5 D* O7 U& _
: L# n- @- J5 }
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
! l+ ~# Y, R5 t
and add under
+ }) }3 C" P- B) j
+ v9 z/ {) U; r2 Z
Code:
8 I l" |' `" D1 D3 O7 o$ q( H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" I" m1 W* o: i- S$ k- u
{
+ [4 D& p' c# w. s! e8 m
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 );
! i2 L! x$ G, i) E- ^7 h2 G4 k
}this
0 }, N7 u7 ^$ n G( F% n6 |
" p& u) Z$ h- _+ k
Code:
8 W9 V- X4 ?9 B1 U* z
#ifdef __QUGET_SWAP_FIX
( X: ^- t- h4 A
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
3 z o# M3 o0 B
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
e3 \+ g& a4 e2 s( P
' w4 r' P; T( T" L) t6 O
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
( u: P1 m. K/ k* ]; s
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
) d& G; c. p; `% u
- @4 b# l7 |4 e/ v9 ]
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
$ F- D9 N) a8 Q
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 N# C4 q* k5 ^; U1 W3 T. K
/ C) B. Z& N& O) e r4 h
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! Z' o. o% |- z7 d
; N1 j. U6 l# y: l2 ]) t* Q9 i
: D0 b4 A9 w9 X; }
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2