|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked " }: n" a b4 ]. w8 b* r+ L7 B
I posted this because someone kinda posted a youtube thingy about it :O., \! n' }* u9 d: w# C7 D
% W i! U3 \* A: E
Find this in DPSrv.cpp @ worldserver3 J: O `' A$ G7 M+ ^! {" ^& p
% A9 L9 J A2 U! q, r9 q3 b% w: fCode:
9 u; J0 n8 i- [void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 M. e# w4 N5 F2 X
{ P1 F! B& C3 o# k: f' V
DWORD nId;. X8 Q: G- O6 ~: f8 O( W1 m
int nPart;! k2 M A" x/ _: }4 b
9 i/ S8 p% ~5 b; A' ~
ar >> nId;; {, d) d3 [8 [5 ^( t q; z/ ~
ar >> nPart;
! h6 Y. _3 G: @! j
% @: \7 m1 p2 E7 B% F8 i if( nPart >= MAX_HUMAN_PARTS ) $ ^0 o& F2 j' O, S
return;
R8 t$ j; n% h+ C2 `
# {. E# ~9 a7 y* e0 o: D CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% F8 ]* E8 G3 P; j
9 |( F# Y) {3 a% O: h! E
& S3 X ~) H3 HCode:
# z6 y' c/ p1 K5 \#ifdef __QUGET_SWAP_FIX
, F8 ?% Q% R" @8 j, v$ Q" S4 {+ b% l1 ?5 O5 Q3 T7 v, [/ t. W/ ]9 I
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
+ @$ s) p; X: s; J# H pUser->SetHitPoint( pUser->GetMaxHitPoint());
. n3 X4 p: H7 ]% g9 n0 V% k# p5 x8 b/ u
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
& t. M* k+ h: X) }9 _* L* K pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' z+ |: n# |/ }3 t; w/ j4 \) C9 |0 J7 q" m2 o
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )% s4 u% ]4 B) f' X% Y9 X
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) n4 O; @0 i1 Z K+ s( @1 E0 @- Y3 m
& i. n* n8 Y* [2 f5 n& i' x- n#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp7 \8 i q; R. m1 M4 [& N0 y
and add under
1 H0 ^4 {1 {. V# w2 P7 s1 [: T! f0 o( l
Code:& Q# N; H( A& w. @- ?( q4 _
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
' @2 G( w5 T; G: B0 N {1 q3 E; Z v8 t% d
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 );
: d7 Y/ f. Y! @# s% u; T/ @9 C* ^ }this
2 a) c6 B9 {" p+ q& d9 |: }# u% F6 r; ^ `0 n5 q9 x
Code:
/ j- R" H, m# U3 K( e#ifdef __QUGET_SWAP_FIX e6 w4 F+ w$ X5 }
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
8 C9 D/ C8 S- w! o pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( v3 q$ [9 V4 U9 N
+ s& e" [4 f8 P; r& j if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )( ^6 O' n2 ^+ U8 {2 D* {
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );9 _8 ?3 E* t; g5 V
& }& {9 A8 k* d% }+ @6 Z if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
% Z. c# G6 l% J* }7 I1 L& n; g4 ^ pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
6 F5 L7 q9 q/ U) T+ J1 Z2 L, Q+ P- V [! H* Y
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , {4 C2 Y0 d6 Y/ u9 P
4 Z/ F: R% |+ k) C9 O- b, s7 _2 y/ D8 j/ G$ [& ]
|
|