|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked * {+ q' q3 W$ r: L5 \! q" C
I posted this because someone kinda posted a youtube thingy about it :O.
9 V4 j2 n; ]. n3 P3 V9 D, t* C t
Find this in DPSrv.cpp @ worldserver4 A' }8 ?0 T4 w9 e' O8 B
, F$ q, F7 N0 U5 P/ v; u& @) a) l
Code:( q, j3 f7 Y% I3 ]$ q/ c
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )2 x; y" F% x5 Y4 E
{* y8 c8 v+ Z+ t$ G+ H) i2 }
DWORD nId;+ l2 u4 U' v9 o% U, m; T9 r, ]. I9 a
int nPart;
: ]/ M3 B8 I* [4 q1 P1 V2 ^$ j8 F0 e0 f% u: W4 `4 b( S" M
ar >> nId;& |0 N7 T8 a$ `& V4 g9 r
ar >> nPart; " _; B/ [* m* h; N9 a
/ H/ S1 x ]: p3 s0 t2 g/ m- r if( nPart >= MAX_HUMAN_PARTS ) . f6 {$ ~6 Y4 B e9 s4 A; V
return;
7 k4 q( L1 `# m/ W" m8 |
8 i& V; u! u* R# a, N4 ?4 K CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it! u4 {% J" [4 Q/ O4 P8 ~
- R; \7 V3 m3 v R$ U* x- r
9 I* \7 `4 z" z5 X1 ]. ACode:
% ^3 f( E# {4 H) j$ \/ f+ l#ifdef __QUGET_SWAP_FIX
- [# G- s! \7 L
! ~0 c" g8 h/ x+ ~' x, [0 ? if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
" f- z: K/ g' w# o pUser->SetHitPoint( pUser->GetMaxHitPoint());
: @. e [, \% t, N* G( B
3 ]# S0 G7 x; B. S if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
$ l% q/ _8 b6 C pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& S1 T+ h' d) d4 b! p- W# j& t6 m$ K6 P' @- i0 k5 ^
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
" X/ g; D2 _, p! H pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 n5 ?) y6 E) n) F$ D9 T( ]. k, _
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
0 C2 B5 M, M7 R1 s/ P/ Iand add under* n/ q/ H! O. }
3 ?; n1 ~4 t$ _) RCode:. x) c, Q$ O2 R
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )- I# \' \8 m: S" ^" [; f9 A. r3 M
{
! w6 P6 H0 {! }8 }! U 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 );* h9 f/ }2 E- T2 u/ j0 ?8 ~ z2 n" k% p
}this4 L* O2 E+ G& J6 C% e. ?
# c1 `: v5 J4 iCode: u2 Z0 b% t, t& p( h
#ifdef __QUGET_SWAP_FIX
2 t0 @& A2 B9 J! B* ? if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 F- p" |; `) z2 r2 B7 b& N! X: d
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) U0 c& W- o5 }
& O- J, v s" f, s2 t if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )+ k! o2 @4 p# z$ n2 X
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. ^: H. `2 Y2 c, }! `4 x& H$ c: C' i% x
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )* Q; ~) d$ ]# Z5 R# r, c. _5 O
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- X- Z4 K, n, Q5 i7 q P3 B4 p
) u# g! f0 Z. ~6 f# `& H#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! X- `# C7 _+ H- M! ^* W; [* [$ Q' d# x
$ d( ]4 U0 k+ M4 H; X& g |
|