|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( S0 j& r" B. L2 W! A
I posted this because someone kinda posted a youtube thingy about it :O.1 G# p# i0 v/ g
- i4 T0 ]% r! b: c9 @4 Y; D
Find this in DPSrv.cpp @ worldserver
# H/ r& x C. w; [9 n7 g, @# h4 Y, S' P# g$ d9 P5 O
Code:' q& s4 }4 D Z. a/ J
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 V& L0 v! h/ s; p" `! Q
{1 ^% ]& X1 t6 x( z& S. X
DWORD nId;
: x/ I9 x, ]. W$ N2 @- U0 O int nPart;% U5 ^2 u, |5 J( h; E9 s) d! b
# o( b+ y& h/ b
ar >> nId;
2 V" r) b8 L: t8 T4 B* E5 k& h ar >> nPart;
/ A" e2 t8 U3 ]5 n7 y8 o. `5 F! a
1 f' V. ?. h. v4 X Y& c+ Z if( nPart >= MAX_HUMAN_PARTS )
, t5 O6 J+ O# p; i; W& Z return;8 C# c4 C% I% r5 r
/ b8 Q; @4 ?1 A3 t) {+ z
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, c1 F n* L; {2 K. O+ q- C
+ @" ~8 Z& q) W' P5 M
2 y) L' Y. A& D1 ?! cCode:3 r( r. b/ I# p6 w) J: ], v
#ifdef __QUGET_SWAP_FIX( J" f5 w5 @( H6 r
; U5 G3 l$ e4 N8 u5 I/ V
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
% b8 J7 v! f2 y5 { pUser->SetHitPoint( pUser->GetMaxHitPoint());- @+ A/ o. w4 T4 H& X5 P
( Y Q/ t- D% t% @* {! [6 q if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )9 L: ~8 ^: Q3 j1 X* X
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
+ Q: h0 R& r0 G1 r7 G H$ q
; t% }# c7 ^: {/ u if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )# t+ I! B: V+ L- ~& I5 o
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& Z+ h/ D6 h: S% ] O2 v
+ z' U- [8 |) I/ i L#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 G, t( S3 M/ a1 ^and add under$ {4 U' v" f0 M6 h. j5 p
* G6 g( n7 g9 ^/ Q- T9 j
Code:
0 R) |$ r- m! l- f3 i5 Cif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )4 N2 H% o3 @2 j, Y
{
$ t6 U9 }/ f( C5 s7 [ 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 n! [! v, e6 `2 J
}this
j$ N5 h, A+ H
+ t( [3 A5 E+ A. F6 kCode:
! I# P( m8 K. a, g5 c' t- w7 d#ifdef __QUGET_SWAP_FIX
' `) f5 Y! T- G$ e$ p0 K if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ), e1 O$ X; p. }
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());4 X8 I( Y* u8 ?2 S6 U+ ?
- @/ ?' `, G" {9 K if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
9 c1 J. d! Q6 s7 q$ C7 T( N pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
: c' ^8 {/ a* z' x$ L& b8 t% c2 v4 b$ m+ I6 @
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
( } D: r7 t* {# _$ Y# R3 f pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );% l. ^7 g% S3 O# r+ r2 O
8 |( T5 U6 R! ]
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
- M" u) ]8 H: s) M' C7 Z% \! q/ L1 C4 Q' N) o
$ c: d# d; V$ g# [3 D( } |
|