|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 1 H, i2 P: c2 @1 M1 P/ d2 O
I posted this because someone kinda posted a youtube thingy about it :O." `7 a% u, z! l1 j
8 y y/ R+ L5 O. [) O' E" ?Find this in DPSrv.cpp @ worldserver. L; c6 R4 ~4 R) t2 i
" h' h7 }4 d+ ^+ Q* `0 J9 x# C
Code:
; \; e. p* w, \$ wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 ?# w% L% U% k3 F% z: p{" r0 ]/ ]$ h' }2 a: i
DWORD nId;
8 H( o( c+ Z* t0 x) w9 [* d int nPart;
7 \% {) V" {: Z0 X1 w% e# ~2 {# B" Y! m, M; b0 ~
ar >> nId;* [8 B) A( m' J0 ~1 N# c$ o
ar >> nPart; ( m% z& O1 a6 ? W$ x
5 ?9 T4 ?: M! w7 B I if( nPart >= MAX_HUMAN_PARTS )
! W! b' j! D) ~4 g5 V( m return;/ U% R$ G @/ w
0 d w, C. E, U7 c9 C CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
$ E9 B% a3 f2 d! g/ [1 i" C. N( I, p
1 v) b8 _4 Y! G2 z! KCode:
7 R7 v+ H8 ?8 Z+ b& W" n8 X#ifdef __QUGET_SWAP_FIX: ^- r* Y+ N' @! v7 H H4 A8 o
7 d- H- ^3 G4 |7 J$ b
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
; j5 d# }0 B# ^+ }" r pUser->SetHitPoint( pUser->GetMaxHitPoint());3 Q# k6 k' _, |. ~; R; L) _* A# K
: x+ c8 T0 J2 {" ] if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
0 X5 D0 I7 m" I* y, M! a pUser->SetManaPoint( pUser->GetMaxManaPoint() );' k3 Y% Z. \) V' j7 R
! X3 x/ P, ~ ^, K( W: z% w
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )- k- {4 z& {' j7 z" `( M5 l
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
$ C9 J' j' ^. g. b# E
" e: G3 [4 e2 o: i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
# V( h8 b+ X# }# c8 Nand add under: U6 X$ o6 b2 n& ` y. J: x4 t
7 ~# J' j" l- [+ x- rCode:
2 M7 W4 E' S" p+ I+ d! b5 Sif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 x- G5 g1 s% m, ? {& ?4 z P" c; B# S/ R' S- \8 V) b
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 );
, M4 o9 B4 i( R" d2 S. {) M }this
- I& A# S$ [$ n1 K, V9 M1 q/ s5 }& L, C! E
Code:
8 s1 }0 \# `# g7 M6 U/ R#ifdef __QUGET_SWAP_FIX( U! @7 m2 O: ?" U) V( Z0 V
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )' ?+ l- |- E0 A8 H8 A
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
, M! E6 l3 N4 r+ _; q3 ~/ r5 O# M" b
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
4 j9 c' W2 a8 A4 B pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" X& K6 s' A9 Y' Y" h$ T& J; k
4 w' n$ d% `( A( s5 s! [' u: d( _ if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ); Q, H, ~3 u; o- B5 k, D, v
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 e; R5 D8 l' Y, K" ] w4 h- {
6 Q& d0 Z6 S1 y( }8 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
& @' |% Y8 t, `" ]6 }6 G- k: k3 ~& r* F) [
7 {% Q. `, P- ]- y" ^, u |
|