|
|
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' ]
|
|