|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked * Z J. ?/ ] Z# E3 Z0 O& O
I posted this because someone kinda posted a youtube thingy about it :O.7 r- n3 k% F5 Z+ i! K# R% U
% b0 g" _* r# M& H tFind this in DPSrv.cpp @ worldserver/ I2 O- e* R% D& I- K
: I' d$ R: J. x' I. _Code:6 ~5 L' B! n! S5 O/ v2 {
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ), @! }( I- K4 `0 {# @5 K9 v
{) r1 C. N4 o* D
DWORD nId;( d! @* Q' {; U4 p& `
int nPart;
+ E, H8 X- O2 V; {' k0 _- G; O( T- y% h8 i3 H" o
ar >> nId;
: `) k* E: D: d: A. p% k ar >> nPart; 6 n5 t o6 q5 j: _8 T
$ p' b6 ?7 u7 s( c& |( t& t# q if( nPart >= MAX_HUMAN_PARTS ) " q2 B5 s. v: v& Y
return;
. b2 `( y( K Z' |+ ^$ p1 v! r, h' S9 D# Y
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it: r8 R1 q$ x, {7 M* D
1 u, m) g7 B- E6 p) u% j) @5 N- E9 l( D1 b( v* V8 Y
Code:
/ B$ n% d$ N" T% _1 m4 e; B+ L#ifdef __QUGET_SWAP_FIX. N4 G+ d4 [+ [+ k6 U
6 y! o+ U2 _% r4 \6 t. W* f/ g if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
/ e+ E+ b! t1 ?! Z% | pUser->SetHitPoint( pUser->GetMaxHitPoint());
* R# U; c7 e& h! C% m5 D) B3 ?- r$ R5 o- r; x9 K; |1 c+ y9 c9 `. B1 M1 q
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
0 b0 C0 g- a4 X pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 o1 U& C4 z4 L- {) ^9 o$ K! a q
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
% J' f1 }5 T1 d/ c$ `. s& j pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ }7 u! E, s n% r7 B$ O! S8 h1 v( ?
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
/ z+ V q3 Z$ Z5 |3 nand add under
' T6 r5 C* c" |; o+ c
! L$ y" @9 l. J; g" DCode:
2 y. I6 X6 f7 m) b5 pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
D' m2 o( W6 d9 O3 R5 t+ H {9 E2 C! G2 _- y, C, {6 {
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 S: E6 r) E, B0 b
}this
9 h' F8 |% B; z* @' }* D( H6 B% Y' T3 s( z1 L5 l
Code:
6 \8 c5 I' ~( d0 A0 O+ f1 l#ifdef __QUGET_SWAP_FIX
- o, n' H9 W% ^6 b/ |* | if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ) |- R% x# { ~" H9 q, h$ N, `
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
5 K# G) o b$ @8 c) @2 X) Z" ^% a9 `8 |# l3 o- z
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
# w/ \1 J% U4 c pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );+ S, z0 y" a' D/ B3 M
" Y. B+ a6 F! U2 i3 z1 W( ^" F
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
% U! x& y z7 D; c7 R pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 a+ H% y4 T' f$ E5 \# d# R% n8 \3 w2 Y! l( |* K: C5 @6 [$ G
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! G7 X' M" V- d1 h- }3 H
' N% [# N& S' b( K
$ O3 f+ M6 O0 Y; P# O |
|