|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked * v" t+ o* U8 U6 R) |& g
I posted this because someone kinda posted a youtube thingy about it :O.
% E4 F2 v c8 Q& A5 I
( y% s: W2 ~0 C) Q8 G, \Find this in DPSrv.cpp @ worldserver( a$ [7 _2 c1 x! g
' ?* L; l# l4 p. P. u
Code:
6 Z* C1 j5 ^3 ]) {) @, svoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! G# U8 J4 w& r' ]: ~7 i7 `{
) h4 v# x0 Y3 B/ Y& F DWORD nId;$ L* _, A/ J# T ]& i9 E& z$ Z1 t
int nPart;& {3 |; L- k/ |% E3 Z+ c
1 p, b& S) L& A$ E ar >> nId;3 v- t) A3 {7 Q$ j4 [" V* |
ar >> nPart;
5 A# q3 t4 N$ e2 p4 c. |$ ^; J9 A , ]% E* ~5 G- d# M8 O% E s
if( nPart >= MAX_HUMAN_PARTS )
0 H) Q% l$ U! J1 d. } return;% ]9 h, u% S- s! Z# d) k
) M1 c- z' I- u
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% l2 w# T% I% H* ^3 D. P2 O
& a* a/ Y2 D5 Z0 j4 v" n- Y) ~6 p
2 F+ i+ l: w4 Q- }
Code:- }1 F" ?( o$ o' x" q4 f
#ifdef __QUGET_SWAP_FIX1 L H, G- A2 j! l3 T
v+ F$ l7 P5 @ if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )# \$ b1 z2 s* q6 ]7 L
pUser->SetHitPoint( pUser->GetMaxHitPoint());/ U- P" ]( e, K' W9 y+ [
& o J1 v& s+ G3 j: C if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
. v g; Z* b+ y# _ pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 C4 T8 @$ q2 l5 D
/ k2 S! \+ Q% R if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )5 S; Q9 Q7 q9 k; C, U/ L0 {
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. u8 |4 a8 P* P& D( C1 q
8 r" _' D4 X; m2 z#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp. ?. n, Q4 |3 _: X3 p# M2 X, F
and add under
7 M+ N/ v# t$ t2 X/ S4 I( w0 D9 u( B2 D; C0 \2 x( {- r3 A: ], i
Code:& E! l/ D1 N9 B& C' `7 h
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )" b a4 K, P6 I% g; h) T7 {
{
0 r; G2 ^, c, ]1 X- C9 o 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 );( i3 Q+ q1 w4 a, r
}this0 [! C2 G4 x3 N& v- W
8 c$ @8 _! q- yCode:
; W- m! E' `, m8 n$ o7 X; q#ifdef __QUGET_SWAP_FIX
9 O1 S' v1 i4 V$ B+ r, A if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )) f5 A1 E1 n8 w- i
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 C; n$ x/ o6 R
0 U k5 g+ E( o3 t! G4 X/ J$ O" n3 a
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
& R$ Z1 j1 L- D pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 M. L3 T; Y- l7 g; @6 f$ q
7 k- h* j# B$ _' C! t0 V8 p if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
: ], v; v5 J/ h- w& y& H pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 [+ R& E; K3 H) o# U/ G& H& s) J9 w X. q
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 F6 |' n6 F, c
/ y% `4 c8 a4 T4 q7 h9 }" E) b: V0 y' p+ l5 L" H9 L( E
|
|