|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
7 S9 t- P8 a. G6 A2 D# z; u* CI posted this because someone kinda posted a youtube thingy about it :O.
+ Z! R& c$ `1 ?; O4 _ d
, y1 R) @; D! Y$ ~" G2 K) y- B$ RFind this in DPSrv.cpp @ worldserver. d; N* y8 f, ~
: u4 d1 W% z8 I8 }# VCode:6 \/ A, Q6 l1 E+ T1 u
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' t2 Q2 A. X# B0 l& H( F( r
{5 p1 F8 j7 m) f# F+ R
DWORD nId;
9 O2 e2 Z M6 v% n- y int nPart;. B" n) [: \9 F
4 A- f$ Q4 ~, H/ ?+ s4 y, u ar >> nId;
) I. g) C7 \5 l$ D, Y' y ar >> nPart;
3 i- q$ K8 g; } 2 N) J$ t3 G/ A2 j0 U9 Q. D
if( nPart >= MAX_HUMAN_PARTS ) $ x* x: l. c/ M
return;
6 P! r& A9 @2 d$ O/ W7 k& Z! o6 k. i0 X, l$ O m% e
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 a1 W5 A- Q' @; h1 S
2 O3 O- q2 T7 U
$ S) s+ O7 C5 j) f `
Code:
) @. R$ P. Z4 V& w# Z% v" @7 k! c#ifdef __QUGET_SWAP_FIX, S0 k$ m A4 S: R1 R
+ g( }# S- A" b* b$ @ if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
p8 J' O2 `' G: F pUser->SetHitPoint( pUser->GetMaxHitPoint());
- t+ R+ ` [% |, a4 I1 l: u
( h% z* I) l6 h: N if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )" Z2 [; z- H" E+ \" s
pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 v8 T" E7 T% [
" @& M1 X% ^6 K if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
4 D( w5 a# m ?* l3 A6 j4 { pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 s" I) a# D, o0 J' Z7 i. q0 g' T* m' P0 K4 u$ c. E9 y9 i3 V
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- i8 d! j4 c ~* m2 \
and add under3 F: V, ~3 W) d2 e$ A7 A4 F
' @5 N3 p! y0 _ J; \4 J2 bCode:3 W0 B+ {2 a( ^0 e" O. U8 l+ q4 m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 J; s+ J9 E$ S4 ?# i9 X' F5 O
{
2 U8 o- n7 d+ r2 S 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 );- {& I) K6 E: j. |6 |# {/ k) u9 A/ @
}this
' ?6 ] L1 _6 v/ }$ y* Y: G# Z4 {7 l0 k
& E: s3 u: ~( u, h) y1 ]9 QCode:! L% f& w9 @* f$ G c7 n' l
#ifdef __QUGET_SWAP_FIX
X# v8 a+ z2 Z* @* J# ?, X if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
+ p! \- l2 h2 p' ^5 p pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());3 t9 Z. p( k, e; b& k1 b7 z" q# K+ j
, m: r" l9 r: h5 y: J9 M
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
& \' m) Q0 |; {+ f8 ~5 J& v* ?8 j pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, P* h: J2 t8 w+ [8 Q, V( m. y3 |9 i! x2 n, }! `+ V: ^9 l
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
+ M d! F2 S" G6 U7 T+ B* H pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 K$ A) [0 u/ s6 S$ P' Y7 i1 L3 u3 m7 L* f+ Q
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; T' Z) X8 o5 ~4 O& F. X, t
7 Q+ d1 i* j/ a" u
" P+ ~. e4 n% L* [* P |
|