|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
{* ~' Q1 a: a2 g! o" w G; G QI posted this because someone kinda posted a youtube thingy about it :O.& o5 c& O# Z! z
6 k9 ~9 Z2 G* O2 iFind this in DPSrv.cpp @ worldserver1 B1 P A P. l, D: R0 ?; A4 j0 y4 i
- L9 g( S4 ?8 A+ L5 [+ @Code:$ B( Z O% L8 H, @9 l# O$ V
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )! z2 L1 `. T/ z4 g$ l
{6 U9 C \6 x) V4 Z3 `
DWORD nId;
+ V/ _* `1 s) B int nPart;
; Y. ?. T0 }( }) _8 ]
8 h3 P9 j; x/ o* g3 E ar >> nId;: j5 l# G, I! G9 ~3 X
ar >> nPart;
@* o. F& Q& N1 F
0 l4 D: g; z) L u if( nPart >= MAX_HUMAN_PARTS )
: Y+ N& q$ Z p. |% z7 [9 u/ a return;9 K H3 F5 b7 N" L
$ k) s8 \5 v9 Q$ R5 Z$ L/ o CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it1 N3 Q' A, Q8 ]6 M; R4 M8 O
* W4 Y: I6 @- ^. x9 h% {* D# G
: s! C0 I* \# Y5 ICode:" l& D' M7 P& \8 J8 |
#ifdef __QUGET_SWAP_FIX( c! Q% C! M7 c7 B2 f5 e E
! K( |9 w% f+ e if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )5 u& M% T+ j! _1 [) n9 [8 L
pUser->SetHitPoint( pUser->GetMaxHitPoint());" p( N- L( O- } W
* d) H' }/ k! a- ~
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
( _; Z% S/ e. _+ R/ E* p' f0 ]; x P; G# M pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 n) C% v$ ]; ?* x5 w) E. f) c, e, h" x1 `! [/ Y/ u: n
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )0 h& _9 c* p t v% f; E
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 ?& X _- L) {+ k$ ?6 h$ }9 W
. Q- j7 H f7 W) F7 x#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" T5 t9 A" S9 ^! L/ \1 k$ t% Qand add under
/ W7 [' ~- ~* p6 e1 ]
+ N; w C! H, `+ f5 HCode:
! W2 r7 L& w# E Vif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ e) `/ C; C1 {6 Z1 p z- J* E {
1 [- x) x9 P7 _4 m7 Q 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 );
" A, h) y/ H4 e m* m }this
" P$ a% i; W2 ?3 T8 e: F! k. q2 M; |3 Y& j6 ]5 S
Code:
! `6 J0 j! A a" j" o6 O$ U#ifdef __QUGET_SWAP_FIX
$ C9 t8 @- X& Q8 Q V7 e if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
& l, Z+ u" t, U pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
8 v4 x% V! r* j$ T
: @( ]$ n. j/ {8 i" F if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
" l5 g2 w8 u- R% g; X# ` pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, b, @' y; f& ^2 p( N* M4 h1 m }
# c1 d! D( I$ h( m if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ). r" \, x7 ~ s. m; F
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );2 {. o7 [0 {# q- k3 ^) T; b
* r7 X8 g# ?. l/ r ^
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
5 X* O* K( `/ s/ F S$ ?
; d+ \5 w- ^* [
1 `/ |1 \: y5 w# z* P( v |
|