|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 5 ?$ Y4 m( d I' g3 x
I posted this because someone kinda posted a youtube thingy about it :O.
/ b( x% F( y. \4 p
8 M/ X& _/ r5 \) P$ m: d, h) J/ MFind this in DPSrv.cpp @ worldserver$ X+ U" d( ^5 z0 C% s+ F
4 ^3 }, ?2 ~2 Z3 [
Code:4 U5 T: I9 x O! ^ q; G
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! M' w, l7 ^0 s{
% ` g. V2 ^4 R DWORD nId;
; j% M/ E* O L, z2 e& x, d int nPart;! M6 k, Z P9 l1 e3 _
; }7 e+ V3 M3 a. k; ~
ar >> nId;
) U$ M; T5 N( u+ C" h# ] ar >> nPart; + J' Y( D! E6 `4 ~1 C- y
# v$ ^) U$ _- W G5 a) Q$ N
if( nPart >= MAX_HUMAN_PARTS ) % k3 F8 Z) C( C
return;8 N2 c% M3 t. ]
; T# L! T. h7 K9 Q$ u4 D- j
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
. m* G* b/ K- \9 z2 y2 s W: h+ t- K5 G1 j& z5 T: {
+ i1 w1 `0 E9 ^- V1 V' Y+ h3 o' [
Code:% s# ` W4 k9 ^7 D; ^
#ifdef __QUGET_SWAP_FIX' L6 {' F ^7 X" E. r1 y- @. u
3 X8 K9 R! J* R1 Y if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )4 ?" k. H+ F0 {8 F* b L
pUser->SetHitPoint( pUser->GetMaxHitPoint());( W* w6 x5 N7 h
5 |+ s" S8 E6 P! e, B( n if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ t( M/ y9 s8 l
pUser->SetManaPoint( pUser->GetMaxManaPoint() );' e- X4 M" k4 v, J
0 g* g* ^& o+ u; ~6 U- b( K if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
' k4 ] c q. Y pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 H3 `) N7 X3 k! s
8 H8 ?- D" p. T6 `( l
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, b- H0 C6 C; j4 Uand add under
0 h# r/ E1 r) S7 p& d6 Y: Z& E0 _, a w
Code:
2 g; B# T8 F$ o& B4 a# qif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), D2 h* {+ u8 l! H3 C5 d3 u
{
8 {) |6 {6 n) M6 u) N4 _ 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 );
7 F7 c. N5 g: w7 @8 E3 E }this
0 d) U- o, k* ^8 y) R2 ]) h @* S* H
& X5 a$ B% @2 i: q9 a8 W& HCode:& e) h! _6 g- ~
#ifdef __QUGET_SWAP_FIX& ]9 o& v* y. P4 o* f& b
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )* v$ e) g4 z5 k5 c% P
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());1 M( ?2 C X" m, ?
# a' y a9 x& w; A+ r if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
$ q. S" s! y! }3 O% f pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ r4 i* b' Z2 V% U4 [2 z4 |7 `6 q
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ), b j) N ?+ D- J" m
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 e* h& A$ |- }4 o9 h- m' ^% `& S; B2 K5 g; i. ]4 Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ u' {/ M7 ?3 v# R2 M' j; k( x. E) L4 y( a% T: W8 X3 `8 f
. L8 Y( A3 a' a/ a7 E; v4 Q |
|