|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 3 `& O3 ~4 T! }% r
I posted this because someone kinda posted a youtube thingy about it :O.7 t. t2 }$ M7 Y( A. G+ J
2 w9 E# t8 S$ G
Find this in DPSrv.cpp @ worldserver
! Q: e: a7 g$ l% R% v) b2 L4 k
! k4 g; n1 X# [) E; @/ a- TCode:
) F: i6 f9 p/ l& Nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )0 d8 H& n2 I! V( E k
{ r6 A% T, {' c2 o1 L
DWORD nId;1 S: ]& o P3 ^5 X" R' I+ D
int nPart;0 J9 p2 M! y$ \' k- I2 z
5 L0 B, h) E4 W5 w8 a8 S
ar >> nId;1 A! N. F6 m6 N+ \. S! f7 L d3 w
ar >> nPart;
( _" |. c. Z3 i
/ x, H% [! z* n. t8 s: e if( nPart >= MAX_HUMAN_PARTS ) * r8 k6 y5 i- l! C% d; E
return;
5 z4 O8 r1 H- d3 A. c; Y: F$ `2 ?" k9 [$ L9 H& C! u9 g' H) _
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
* z5 N( ]# p( _; M" g
* u* c4 G' A! i, A+ X, R+ N* P' M( Q7 }& c) Z/ Q
Code: C1 n, r; I! X* s; Y& m7 @
#ifdef __QUGET_SWAP_FIX
; d* }* I9 b. ?
: K* h* R2 \! R+ h if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
9 W% X* ~; w% }0 C- m: \7 R. n- L0 m pUser->SetHitPoint( pUser->GetMaxHitPoint());+ W1 l. x% y; p; _+ G4 }! l" ?
$ C6 B7 ]3 Z/ Z5 h& o! n* h. g
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
4 \5 Z! I [8 r& z1 ~ pUser->SetManaPoint( pUser->GetMaxManaPoint() );0 A, l8 d7 N7 {& E
- v) w: d+ a" y& d
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )( k* V7 L7 \/ [8 D0 `/ P; } l6 q5 }
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ U! a9 h( i5 L* r" X. O9 R' I( M6 s3 w
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp" B: A0 A$ ?+ D1 @& T0 \0 c
and add under6 t8 f. v5 f* m; h
) W7 W1 g- F+ B+ X1 _* [9 ?
Code:
- z1 V, \! f8 Y- }: oif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
B; }, E0 i$ f$ e8 ~ {9 Z* l) U* }' L4 x+ X3 z
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 );
" o4 x: |# k" n* m; u" ~, @2 J3 g }this% [2 P! V2 x! |) g0 b( k1 N# M
7 z: j3 O6 h7 a
Code:
4 L! P/ l& C. h. t2 U#ifdef __QUGET_SWAP_FIX
6 k R) S8 r% W' ^& R if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
2 R) T( z2 T7 a% y3 _& S# C. ` pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" |- C1 F. [3 U* W' T+ Y' v/ K' r# D) O# T" _% a: t0 A
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
! d/ A) m- Y/ G1 F pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );3 d+ p' s1 d% I- }2 ~/ u
+ `8 K. X8 @% Z' R! G if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )$ N) J0 o" c: s1 x
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
7 M5 {6 G& [ p6 @. |, ]3 s0 ~% H- A+ ?9 x
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 ?6 U( i {# o( y0 E
2 c& r! V5 i+ G! q+ q- L/ c" }2 C' c* l
|
|