|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
8 @% }2 I4 t0 M5 x' h" q3 FI posted this because someone kinda posted a youtube thingy about it :O.
9 U( b, O3 Q6 E5 R" z1 g [8 }$ r' |
7 { p* K6 x. F, `- ^5 UFind this in DPSrv.cpp @ worldserver
: c ^! N3 G" H7 L3 t6 A
& y% I, ^* E1 B' u) eCode:
2 n% U: b9 S' _' k9 svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
- E3 w6 e) k7 D7 r) [+ z{3 h6 ^6 }+ X' t4 K0 K# @) _
DWORD nId;5 |2 c: M/ U, ]3 k6 B$ T8 D$ u% w
int nPart;0 f1 W/ B; M4 R! D, d+ u
1 u& a: Y8 |) b* n
ar >> nId;( f6 h1 F- Q3 A, x4 t# d+ N& h
ar >> nPart;
: B7 A8 f, j0 }* V& m) j
& }6 G4 v, n1 T3 R8 Y1 [; ^ if( nPart >= MAX_HUMAN_PARTS ) $ x7 Y6 J" H Z: ?- P8 F( U, c
return;
' o3 {0 T3 a& y3 ]
- D% L9 c6 z+ J; }2 W2 n CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it: @ q* f$ o4 s8 P0 q5 \: @" v/ x
) E( u1 M4 k4 M8 Z- X& a7 g
G$ M/ Z9 [& q5 n% ?8 k1 O5 s7 nCode:
& F! t9 u0 K- x6 @, N% ]#ifdef __QUGET_SWAP_FIX5 }' i. A8 r2 S7 R% r
" C/ ?" v: C! s
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )+ y) s C5 a3 n7 Y) x: _: M; v: X
pUser->SetHitPoint( pUser->GetMaxHitPoint());
" y# p9 u+ q3 z* f: z
* R, R$ g, g6 @) y! K if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ) F. W, y( v5 \ j# m5 E
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
/ d0 ^4 y7 _# s" {) U8 Z
- f; W: ~& u' j+ l# h* B if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
* A, l( p' \3 i# p3 @4 C& | I$ b pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% U* j+ o! p( [: Q6 Z
8 }8 E! P! j7 s. Z4 _! d4 p* }#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* d" R# V7 t# g5 T& \( {and add under4 X& ^% x0 U9 r
' y6 \% s8 B3 r( z8 s0 [% d% @
Code:
. {5 D% G1 n( p3 Z$ n8 ?2 ]if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
( }- D) _0 z) p+ U {
' P. r0 {! }( ]0 M+ p 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 );
* j; \; m6 p6 v! w+ Z" C }this
' J: U" w' k2 ]; w1 T& z' X* w9 T
Code:
" v" R6 m/ O. ~3 p: |#ifdef __QUGET_SWAP_FIX+ q+ w' R6 `4 Y9 j j3 r% M
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
) U$ t' k7 r' m8 V5 M ^" c pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());$ j/ @; E& b: v( k
9 {& w9 q- ~4 |. Q
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
# u. ^/ f" [' j* q! a8 C pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 k% D4 H7 g0 u; \% F5 ]) h9 F6 I
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
2 Z( q2 Z b! x I pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );1 _& d/ W( @9 J, d
- H6 ]1 _/ Q. e. _% d& R- ?; Y; Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 0 F- E0 ~" j# q- P- v, A j# ], i
0 y) F4 K5 G* {( {1 l& ?& }
2 }' E6 v" E# J0 i |
|