标题: 修复交换错误 [打印本页] 作者: admin 时间: 2016-1-10 03:43 标题: 修复交换错误 Hi I fixed the swap bug a long time ago it got tested on my server and it worked - _5 M" U% _' X7 |2 q& Q$ L# Z
I posted this because someone kinda posted a youtube thingy about it :O.0 h4 {8 G/ |1 c
9 l5 l1 j1 T. g. {9 wFind this in DPSrv.cpp @ worldserver ' `8 @; U# ?) x ]9 t% K8 `0 Y* s
Code:' S s3 |: x' Z) r
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ) 2 a; j, d+ k/ J5 i6 U ]" Y) z{& H1 Z- E b" f2 Z8 E
DWORD nId;8 W/ D- U- ]' B; t6 R% F+ u
int nPart;3 B% k7 q, R8 K, G* i
! }3 n( X ^* S$ K8 n4 j ar >> nId;# f9 B7 I4 |$ w! w2 u
ar >> nPart; 2 Z: ^7 I4 ]5 E 4 Y; ^& o5 A' c7 `8 a$ v4 h
if( nPart >= MAX_HUMAN_PARTS ) * m6 c+ L8 s. ?/ c" V8 ^8 R, I return; E( ]4 m6 T4 {6 Q" A: M3 S' k/ t9 T" y5 n* V
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it0 A. |/ ]) Q5 |& ^, J' _# ?. k
. Q8 U$ k- ~7 C
( M+ e9 w% f$ a/ Q1 V
Code: # w b5 S% g# I1 h, j) _) t#ifdef __QUGET_SWAP_FIX 3 G* B6 A$ j* Z& N6 g8 j8 n2 P/ R1 i. a% S) _
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )3 |, A2 S! [5 Z
pUser->SetHitPoint( pUser->GetMaxHitPoint());7 V [" n( k& m+ t2 o! N6 n
; @* r2 N" q( x; @& b2 C" d" L3 c7 `
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ N5 `9 X. c0 y9 k
pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 @& l' T/ r' Z4 i
5 G" e3 q2 U/ U8 t- J* r
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )* o8 ?+ ?% t% q* ?9 {& T* G* [2 E
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() ); ; Q$ j7 n$ M8 ~- t5 [. X' A& c Z# D( M/ `
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp # X) X; b( k" L- r M5 t: N+ o! uand add under ! w: K" j3 h) B* O/ S- Z. q- P" l9 y. M, k
Code:* V' [9 E _0 _% p& i X2 R
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ) ' g' l8 S9 ^! \. y n) ? { % J# i3 ?. \" ^) 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 ); , p" m" ?0 c9 G$ Y2 j( f }this/ O2 Y7 P6 N* P! d- {
9 F% {% Z/ B& [: D& [
Code:8 j! x# U; J' M
#ifdef __QUGET_SWAP_FIX2 S" C# b1 u* `0 V- Q
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )* m, Z( b% [; p! s4 V, R2 |
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ Y9 q ], N8 |" M