飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
: C# y; ^* d- U: R H
I posted this because someone kinda posted a youtube thingy about it :O.
( j/ ?4 P0 \! W0 O- [2 g
3 p* z* P1 J# ~+ M7 v' i& C" e6 R
Find this in DPSrv.cpp @ worldserver
! u( Q6 {) x0 o4 v: d
) W/ g% r" [) K
Code:
9 K' D' h" V3 Z
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) i2 W6 @& m9 C+ X9 ?
{
: s1 b; H/ J+ o( e
DWORD nId;
& r' y7 R1 q( ~0 S: f3 o, C# Q$ k/ u
int nPart;
6 i4 `- Q' _( U# k
+ G; F0 ?. q5 ^( w$ {
ar >> nId;
8 k7 V0 p C# n/ _0 i! g
ar >> nPart;
: O0 _6 b/ O, m1 v# j' C
$ i6 ]4 I- _6 l6 h/ i
if( nPart >= MAX_HUMAN_PARTS )
4 M; ]5 @) i; W7 r
return;
0 g) Z; e! @- s3 |: I8 }# i
4 C) p* K1 ]1 K) ], ?
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 [ z& B3 Q2 \& e
7 c7 d1 L; J8 j9 I
v* ~( c# H p" ^
Code:
! m& `2 m* X- a3 U$ ^2 G. ?
#ifdef __QUGET_SWAP_FIX
! L! R8 q4 k' P1 z
" u: M- i }9 f
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
1 A8 E2 I9 M3 W8 L- H; j
pUser->SetHitPoint( pUser->GetMaxHitPoint());
) Q, ^( a9 o, E! F+ ^- i/ O7 _& T0 J
+ x, ?6 {# `, l
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
$ ?, B3 L( Z0 o
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
( n1 o4 u4 a" e
% w9 C3 ?4 s4 B
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
, d% u& G1 h( f* T5 Q# l
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ A7 n0 Y) _+ t" P5 `( V" J2 T& t
3 p2 R7 [2 i1 E. m, q; l
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 Z. r9 y6 Q6 |; {9 D
and add under
" E2 e# M& p6 k$ k5 Y9 }
6 P1 N6 X6 o/ {, H) k) I
Code:
$ D; s+ D+ ~7 S- e& ^* M7 C
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) I5 ^5 O6 n) y7 D# f' ?4 K, b9 _: D
{
: y! a) \) ~! u' L0 K
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 );
Z: M- q3 B4 c7 U+ D2 E
}this
( ~+ t/ O$ i) H: o
1 d! Q( I& k) }2 [
Code:
8 h4 A! D" [7 B+ w
#ifdef __QUGET_SWAP_FIX
" A M2 l7 I* _: X8 K2 y8 S0 d
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
& `& O* X" y+ x2 |' ~. S F( f7 h
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
/ g; ?9 d4 o9 U8 H5 S
, ]3 }4 e5 [7 [
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
; X4 j* t# A$ n
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, M2 [& I$ g/ S* }1 A6 i5 Z' }7 a
3 O% v8 f* L& a- s! F. C
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
7 f' e L" C1 w& Q$ f' p
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 i3 \0 y& t- ]% O/ J
5 k- {3 A. k& {3 U! Q. v) g8 \# ~
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
' s' k# C' \; z( r
8 F8 h/ p5 d3 Y5 x) p% ~" D) s
) X0 l' g- y5 Q( Y
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2