|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 9 \7 f7 x0 l; e- ^3 t
I posted this because someone kinda posted a youtube thingy about it :O.% e7 L; a, M( u$ G
0 n" \( |% k) S; S* f. Z4 ]4 TFind this in DPSrv.cpp @ worldserver, p. S( R% q! n
. h: I3 V( B! q- p8 E- X6 O1 n
Code:* {8 i' q! O& w2 g# {
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& u2 P7 X7 e& k( I1 B: F5 B/ B4 P
{
0 V" c9 r ]( k$ i# N1 I+ L5 e DWORD nId;9 }! a& W8 P( h- |' u* {
int nPart;1 U+ ]+ G2 R: p0 [
; S, e: H+ h% j& ]$ _; P3 @
ar >> nId;* Q; _# {9 S' B
ar >> nPart; # J) V: I. Y. M! w* {) ?1 J1 U
" d4 |0 }. F7 i, c( J. \* ~
if( nPart >= MAX_HUMAN_PARTS )
" t) _- |8 j) N7 f4 J* N return;/ {+ M- W0 G' Z0 c) g5 M" @$ K
4 d" O4 F! t$ O) R CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
: i1 l! T1 w7 r, K! `/ a2 x8 u0 q0 R. ^0 j1 O9 K7 d
' d+ j ]9 P4 ?% I9 k% C, ^
Code:9 ?; C* \, A2 ^1 _: W9 F a- `
#ifdef __QUGET_SWAP_FIX
* m+ [5 v5 w7 t R5 m9 J- b2 {; h" O6 N. X3 ~
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
4 u( i" Q. P# ?2 \: K9 o pUser->SetHitPoint( pUser->GetMaxHitPoint());
: o5 J( {- E- C7 d7 t
m9 z+ m0 o1 B if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ N0 \) c; o- Y+ k% C8 O2 s
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
& p3 g7 @' Y& B1 \+ U. i, \4 d5 ~/ T, C8 @5 l
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )" z- C6 z3 R& q1 `5 m! T+ V
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );4 |! J) ]0 r( u8 P+ s8 V; T. m
. m. ]6 W0 a l% C# M4 F+ `1 j
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 y8 \; m. G$ D! T! I7 T3 Iand add under8 h. B: D; {; A" z( }
0 K1 X7 d% l* d) ^& F9 {Code:) n6 B! t! q5 J/ F& t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ) p; f3 |5 S& T ^
{
0 | f" K, P B' D' G, k' T' l 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 );
3 @5 N8 l4 G& Y- I }this: ]) |8 M! H; i! ~% _: T" N
V. J9 l2 |& x2 ^) CCode:
1 y6 ?4 u/ x0 G, s#ifdef __QUGET_SWAP_FIX
& s" C" e; `3 ^& G" x1 R if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )# [& i) K% G, G' F% N! G
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
|; c7 j6 g+ g: K* z% j; Q3 s* K- G
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
1 P2 Z4 G; P! e8 w1 z pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ N2 [& w3 y$ ~. F V0 F3 q
/ c( \2 D: F0 l& B if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
, B- M1 q' z/ k6 I6 g pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );2 s! W3 r7 b3 F# u
) P5 t. h, M" Y4 A$ f- g, j
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * J8 m0 _4 q: H: S' [/ E
( m Y1 C1 Z# ?6 }( x# W d! ~- T# F* h( T8 E9 V( i. y: V
|
|