|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
, O, p( y$ s8 E8 m5 eI posted this because someone kinda posted a youtube thingy about it :O.6 x& b/ H2 z B# X
0 x2 o. Z2 @$ o5 J* Y* ]0 `& yFind this in DPSrv.cpp @ worldserver/ O& O0 g `6 l, {3 `' b
& V; I P+ }4 e6 x* Y6 ^& d
Code:6 d E1 j3 q" `9 L% i, d, b
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 u1 w5 _. _' `: Z( i{
# S% E4 F9 K4 a* Y' W* \ DWORD nId;5 K1 E/ i- K0 I/ d ~. A5 f
int nPart;8 v6 Z7 ]( ~& y
N' k) q9 j9 S# R
ar >> nId;/ w7 K/ b1 ?6 ~4 E. x1 s; q+ w1 g8 S
ar >> nPart;
+ L( q! Z! e, l- E# C) x* r& M, c
) t2 E. g: Q' j$ p' F3 u& j# u if( nPart >= MAX_HUMAN_PARTS ) . `+ Z/ x; E: I. i
return;' o0 s) N% M+ ?: O
4 L4 v9 Y' Q0 }1 j7 R5 X% h CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it* C! t( I6 \! e; C0 ^7 R; S
4 p! L) @7 J1 G/ W+ ~
4 E# V' l. N0 v! |5 z/ ~9 ?Code:
% ~# N. r1 J+ C& w3 n8 Z#ifdef __QUGET_SWAP_FIX
, J; e: b$ F% p. _6 k: l4 e- D! ]" j( ^8 v. c) D
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )& Y$ w. ^" a8 v/ L, o, }
pUser->SetHitPoint( pUser->GetMaxHitPoint());) a6 x1 F2 m7 K; m8 }7 }
4 ?: |7 T& Z. @8 o* } E9 O if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
" q8 U) u2 w C1 X pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- ]! q5 Z1 |. r' W
# G) x; d& A% X( I6 Z if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
' ^' c2 K' Y1 p6 l# ?( [2 z% h8 D8 D pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );7 @. P x; V/ ]8 B
+ S! u3 f* u' H$ |: m#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" @5 G7 z6 o* u9 _2 Kand add under$ J7 Y- H8 U7 Y4 E3 u" x; C! H5 E7 f
1 u3 L$ @! \! N' E" q
Code:& K: L9 H0 E b, n
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
; q+ f4 l; q& P9 i {8 G ?. ?# ^ v [! j$ `, I
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 );6 u& d6 p$ @) j0 n1 |/ v9 @+ V
}this4 G5 C( \( V3 c+ A* |, z9 Y
( |5 ~$ E- t$ k) H
Code:
1 l" b3 w7 P, W; I; [#ifdef __QUGET_SWAP_FIX
9 i! \0 d; g, B- a, n6 |+ o if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
4 ?8 O: g' K. Q+ ?8 B8 u pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());& W+ t) {, U' f8 Y
, M2 {6 F! m4 d& I( ?! u9 l! H' l
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )! K+ s9 j$ e+ P8 w8 o# B$ l
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );! E3 D+ M {3 L1 q
# w4 X* O" J4 C- F' R% l
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )6 I3 d/ v% U+ R' o" T6 g
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ x0 r) F c/ z( p, L* N3 O% c. V5 P. U [+ o* p1 [4 |
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , W, V' p4 Y$ a( n- @6 k
+ g# D0 J6 Z" t" T* G, o: C4 i7 y# ~1 ]- T
|
|