|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
0 o0 N5 F7 ?" B# X: e" iI posted this because someone kinda posted a youtube thingy about it :O.. w* {& r6 c; {- R' m
" ]: g) _5 M! L, ?) k
Find this in DPSrv.cpp @ worldserver% C( B, F/ o; B5 Z" R; \ i l
) H/ V2 `) {) P7 }- `4 CCode:4 v5 j/ w$ W- r" x- }& S
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
w( W% S6 M6 s# k- z{
0 W( I$ F3 w: k; F3 M1 _! ~ DWORD nId;
( G8 A ?! Q. N m* x' f int nPart;% d9 ^& t* @- _( K7 D
! |7 q% L0 j4 X: p
ar >> nId;
U, x$ L5 M/ o- O ar >> nPart;
3 O/ y0 m& E& i! G* k& b
/ h$ L$ s. O) O5 ^, I- T if( nPart >= MAX_HUMAN_PARTS )
9 Y4 t }1 H3 P$ \: O% ?* M4 N return;
4 e5 ]* l4 t4 E/ B7 }$ Y" L& g# u5 b4 F! ~* k- `
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* i/ B$ p4 W/ q8 y* g
+ P# E w3 o q7 [! h# T# X/ D5 K0 s9 @$ y9 Q
Code:
, ~$ ]" A$ w3 I7 @" b8 z4 H8 r) N9 y- D#ifdef __QUGET_SWAP_FIX
- h4 W0 d/ n& U8 n0 H4 C% p, q+ a; X. ~
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
& i0 L8 n) W: Z2 }: @/ e pUser->SetHitPoint( pUser->GetMaxHitPoint());1 e& T% M- ~# q% D8 }
, B- B9 ]3 s0 K+ ?, @* }: |
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
6 H& K9 Z1 q& e! H pUser->SetManaPoint( pUser->GetMaxManaPoint() );! @) n" p' F4 E2 x
% q# Q J: A1 a' G. `8 c2 j if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
- ?, \3 @" _# |; F0 v pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() ); U6 j1 M( @/ M) u0 p
* n J% f- y4 V; P# ~* @* q( k. B9 `#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) m. D8 ]* }- r5 ~& ?! a2 Z1 s
and add under6 ^4 u! b% [! C, a: O0 s2 \
+ v% u8 T$ t7 Y" y$ NCode:( }$ c# F9 i2 {8 S* m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 F8 O" m6 D. {9 ~" w {
3 r$ x0 r5 r! d. U2 Z w7 j( 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 );
% z. @# c+ P; \- O( E( a }this
1 U! T( H' c# `* B- J7 b8 e$ G/ A) B: T4 a
Code:; J$ {1 z' c/ ? t/ B
#ifdef __QUGET_SWAP_FIX
1 b0 t, e6 o' Y' u if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ), n4 t* v2 ]+ T9 Y% R8 T
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# D1 W2 i" P$ ]# d$ T4 D. M6 h
, m# P& `8 F. |6 Z6 Z8 g2 N if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )* p8 x4 Q5 Z* f& X( w
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
9 k& m4 @, a% x6 ]9 g5 H U! @4 X/ E+ z% X
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ); N9 Y" ^: |0 ^ S- D: R* P
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 ~! h8 A2 M) K3 `! l' t
8 m: j2 M" G* g2 X#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 y: T( V* o; j
8 X# ?- c# ?+ ^) t3 y! Q5 a0 f9 I4 D
|
|