|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ! n) `- u6 `2 U' w
I posted this because someone kinda posted a youtube thingy about it :O.. p/ P# T1 p; ~* X' J8 X3 B j
1 S' J6 e* b1 W9 e" S( B
Find this in DPSrv.cpp @ worldserver
5 R. Z- [/ x) ^" N" r/ i6 `5 _, _) S
Code:% g8 k5 P: u( Y0 n9 ~; U9 q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# |/ L% M: k. E0 D7 e3 @9 i) x: t4 d
{' F& o- ~- Z6 r2 P% N
DWORD nId;; M1 K+ i$ b& W. J- @2 h
int nPart;
0 J7 ~" m- w/ P0 N+ _7 C$ R8 ^: B6 E2 [" }7 J0 f
ar >> nId;2 S& v |) s7 G" B
ar >> nPart; 5 @: a% a8 Z% {3 C) n/ w0 A' w
. ^5 x# Z+ M0 q: S4 @3 e* y4 S if( nPart >= MAX_HUMAN_PARTS )
) Z4 V' x1 n, { return;/ S8 Q$ c. m% r- k
% s1 V m# l& _; h
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 r; F# n3 ~5 _1 P$ w c1 B
6 N! ^: q. z2 C3 A5 g$ K+ u- t, |
7 t- i" @4 L) B/ @7 N' z6 M: aCode:
# G! ]9 ^$ X% V* e#ifdef __QUGET_SWAP_FIX& g" C9 h4 h$ z2 e+ `- U
4 p8 ?1 L0 u$ u" u, j' P; Q4 `" ?: ] if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
# j6 \+ n. w2 E% A4 T8 W pUser->SetHitPoint( pUser->GetMaxHitPoint()); Y* ]+ Z5 @5 s6 z O. p8 H2 o
7 G, X. I' K& g if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ). H* }! y4 ]# O) V
pUser->SetManaPoint( pUser->GetMaxManaPoint() ); e4 G1 b" v& M( F/ U
6 U2 x; d% o+ w3 M* _5 R" X
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )7 V4 C" |' z, E7 y8 k! l% Z
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
" H- x% g4 M* K, M: @
+ ^1 R4 Y( I" C3 s$ P#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp+ `( |4 m6 n# E! l: d: |
and add under
2 l' V# \- `$ R* W
1 i4 m, \" t2 |/ X; z) p# l& z5 n* MCode:0 Q* s$ w5 p; C3 I, N
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
8 N# E% d( o* v$ u {7 k" ~& e$ h" X' k# t
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 );
( V* }; u# v0 {/ n8 b }this
+ a( K8 i, I- b* Z4 z% @. }: u3 h' K0 ]. o) P0 N6 S
Code:) g7 b1 v1 z. l4 k
#ifdef __QUGET_SWAP_FIX. K, j) A B# y u
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
, u( V4 a3 r" `) m8 @ pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
q( E# }5 F0 E% t
4 O# o" ~: ^" M if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )+ s9 d7 f) r) ~7 T) X% t5 g. e
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );% J) R, G+ D' n+ a! o" `$ o
- N/ F5 B3 X2 G if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
, @' i. r, H7 X0 B" I& O" A& x pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
; T+ y, N. u3 n& k. Q% Y1 y; B- f; [
+ `3 C) U& Q( s' A#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 W: U* N& t' i. X# h* Z; S- N
5 j' Y" @8 D, K! b! R
) g: b# ]* v- u. k+ @ |
|