|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
+ F* `/ u/ _/ u1 y" l/ |% [( RI posted this because someone kinda posted a youtube thingy about it :O.* p. ]1 S! e! F+ B! c) ~2 G
$ U; x! l( j2 }0 e# E
Find this in DPSrv.cpp @ worldserver
( D) H/ F; a9 v8 E1 Z( s3 X* R* h5 y9 b. a& M
Code:
; ^, I8 a( O6 a0 Y$ g3 Pvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )+ U* r6 g% `; `! x8 l2 t8 H- B4 x9 _
{2 l `) q9 M3 h1 o' I
DWORD nId;
1 Z' X" m' S8 A( c0 L! Q+ t* Y' y int nPart; D2 f/ _. s6 F4 R' K
) i: r, m" }' |/ u1 W" s
ar >> nId;
# |: Y( Z, v: x+ I ar >> nPart;
7 D: @4 X- P7 l1 {5 o
* J% H( [1 Q; q- b9 F/ ^ if( nPart >= MAX_HUMAN_PARTS ) ! e1 e! z1 z- T/ `) M7 @
return;, g% x+ C4 E/ h5 K: Y5 ?, \! U
& G; K; ^# _& U3 ]
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
2 p1 }" ^. p m9 {# j3 |, A* o( ?; x2 K
. k7 ^7 i. x- {) S$ G& C
Code:/ i& d& W7 G9 `4 s6 Y$ w
#ifdef __QUGET_SWAP_FIX1 h Z: Z4 E; a7 H2 U
9 H, U0 ^7 q* |2 }4 K O' J! S if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ): }# c) D @( M: M) j; I: r( t
pUser->SetHitPoint( pUser->GetMaxHitPoint());
, u8 d% X3 R4 i+ l
$ h/ L/ H# U: N if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ ^* |8 s9 f/ O# H+ p
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
( f+ F* \ x$ r6 a6 b1 k4 G/ T8 F9 D0 n; v0 h8 j6 O3 M
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
% Q! ?' Q) f [' U/ {$ Q pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ i4 `4 Q+ H* D. ]9 Z
2 `, ]! X* m0 u0 ~5 J/ s2 y$ i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
$ J- V- n4 k0 y6 G ^( ~' a1 Oand add under
- l1 l/ t" m* a% S0 a. M" {9 e) w2 p2 A5 O4 B( I, p, a
Code:
: z- g/ J' D6 y2 q, b( kif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )% R! h4 l: {: [0 K o- J. \$ f5 m
{; n7 B O7 ?+ S7 c
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 y Y m- O7 {5 F8 D$ p# O
}this" D& s( u, w& b0 x# D6 u* I: ~3 i
! c3 E$ s, W( p' t* Z# z, ]
Code:
h+ O8 @, w# h( ~( F; K* K( k#ifdef __QUGET_SWAP_FIX
2 ~7 N) W4 E; y if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
: D- b& | k8 H2 \ pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());6 c5 ?4 d6 J, r: I, [; q* J# w
5 R( z! O% c3 E4 S; } if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
+ A) |$ B* v+ D5 h# W pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
' Z* y% H L6 ]
" M! J3 m7 y( ~2 }2 s! k* Z if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
# P/ q- W) b/ b% X. F! G { pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() ); m. ^+ |9 |9 F0 h- d. i: r; Y
6 h6 p% ]3 W* V/ T) N& w- Y0 k/ g#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ' r$ e( g' D, h! a, \" b! p
. B8 {' V _1 \
+ c8 F9 ~- [; z" V% D |
|