|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
9 b1 K4 f# @4 n! C) W9 [! P3 ?I posted this because someone kinda posted a youtube thingy about it :O.
* \. L0 q" p7 h0 J0 O
* t! j# R1 |9 e- L! ^, |$ JFind this in DPSrv.cpp @ worldserver& k- b, c5 _3 n5 j0 f, e% ?0 P
5 R8 E6 |0 K' |' `
Code:
+ a; ~& s2 k, |3 F, `% ivoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' o% S! `* F3 t4 c- O, ^4 T s
{
$ h S# m$ t, s, {4 m DWORD nId;
! U$ P# k3 r6 x C int nPart;. I! @. I6 ~8 K) f% X
& r3 Y" T( t# P* d6 `; k
ar >> nId;( U6 G4 w+ L" ?6 \$ N: O
ar >> nPart;
! c" E$ [ P+ u5 {8 z4 b; Y1 M! a
9 ]$ F3 r. J6 L" z if( nPart >= MAX_HUMAN_PARTS ) : J4 }5 k* V4 w4 ] ? P' o
return;8 t7 Q1 m% o, I9 P8 y
/ w1 v, C; y, y/ D- f- D; u R
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it+ j7 o" k6 T/ ~6 K% ^5 r
$ K/ w/ G4 p" C1 p# E' B0 |5 v
' T6 G% ~5 ?. f7 ^4 V, XCode:
f/ m, U$ R; a#ifdef __QUGET_SWAP_FIX
7 b. j' _7 {' R/ E3 j. g& b
3 ~- I5 `8 Z4 f/ }! O if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ). w- r' u( z& ]* C+ A( i
pUser->SetHitPoint( pUser->GetMaxHitPoint());
* m0 |+ E; f9 i) A6 O4 Y( Y8 _; Z. [! q/ l4 S* i. W
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
9 ~; I0 z8 L8 @0 E$ H- Y& {9 | pUser->SetManaPoint( pUser->GetMaxManaPoint() );5 R/ F+ Z2 c" X' ?" U- ~' X
" t s+ q/ m9 W- E
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )# A% B a9 g6 i# Y2 I" w1 X
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
J& [6 T: w* a& C3 Z
" R" w, N0 {5 V. L1 o! [& h#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 R K6 @ ^& _: [and add under4 j$ d* w! r" b" |& }
1 v0 h! g( k* m+ I5 N) T7 I+ o) K
Code:
' h& @1 j7 t5 {8 l6 b* Mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ): Z( q8 _) F: A5 r9 y
{
. g2 p5 K3 W& |. }. I+ L6 j 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 );
( k/ O/ B3 m3 |% s& O! ] }this
" L" L% G" ~# S& j( p
- j6 U# M) v+ T; B* u& oCode:0 _6 b! I% F/ ^: G
#ifdef __QUGET_SWAP_FIX
( g9 Q0 w" ~1 D# A* B9 J if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
( }% h2 o6 W" v4 t ?/ c pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
- w( l2 x) Y+ F/ g) X Y# e! O
2 Y! ~( O% g9 P( w if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )/ R8 O& q/ \" D2 ^
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );; c. F+ o' A1 D9 W) J5 l4 b B; }/ F
1 P* r. B; Q: B9 D if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )" v% l. k( d, m) ]3 k: G) z m
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. ?. ^* T0 }* X" z& e
' ?% }- _0 N% Z( U) N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * n2 E- _; U3 ^' `; l
4 {3 B5 F% v# S# v( y' Z) q7 P- N' f1 e R& z6 k
|
|