|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 0 c7 z: G* r& P( @ z- `0 J9 N) [
I posted this because someone kinda posted a youtube thingy about it :O.
; ~' f% s2 ~ z6 Y- t
9 ^: k# S* ^% a7 O4 e9 v: W: h3 q: S; UFind this in DPSrv.cpp @ worldserver9 Z2 Y/ }( | _
- Q. X* ]' D, F6 ECode:/ r6 M0 B! {( y' O1 K
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 ~5 ]! u( G- R( i! _7 m{
; X, C6 d. x; z/ ]# r3 e s DWORD nId;
0 z5 a/ K2 B1 v, K int nPart;
9 @% @! W( |: h+ ]; u( \- n! v0 I4 T2 z" p" u+ O" R
ar >> nId;
) C: g8 z: ]8 I% V) i9 w- ? ar >> nPart;
# Z; Z3 h" c, Y2 E
& [6 M8 c% c2 s7 ?. { if( nPart >= MAX_HUMAN_PARTS )
6 i6 p; I; p0 F% o return;
7 T! ?; X4 r; s" m6 e! P: j/ J' n( O7 E7 ^1 F, a
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it8 _7 V' A% E% j l4 P# s) b
; j! }. k1 n1 h0 _2 |/ k( e
+ N! c* k" X+ c6 K! o' L8 d
Code:
9 w# G7 \) y6 K3 @8 v2 {#ifdef __QUGET_SWAP_FIX
* ~- W, t2 w) m% ~; v7 ?: a. W( X4 q6 l) P8 _
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
- d' ^( S/ ^7 Z3 a pUser->SetHitPoint( pUser->GetMaxHitPoint());
3 X9 R) Y4 z7 ?% i& u5 n7 w' [7 _: z8 A2 _9 t& \3 F: g
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
+ W9 |+ c- t0 d) F" v! j: ]* ]: t pUser->SetManaPoint( pUser->GetMaxManaPoint() );
! p, M+ n: }" d1 Q& x# u; _9 i
% q1 t% }# w0 V7 B' S6 U1 e/ i5 f if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
* y! f1 A8 \) g/ l pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );" v, K/ l n$ T, V" ]1 c, A
; R) u% L9 Y! v% Z( `) i B
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- s% _3 x: h' s2 U* E! v6 g0 R% i
and add under
S7 `& c! b: h% P
) C. s, l( Z& ]9 U' UCode:3 L# W& H6 [- b9 V! a
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ); m, H# r' p" h3 O3 [0 w! E, O
{
1 D9 c" \( a0 s" X 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 );
* `+ \6 x: o0 l, g) b, G }this
4 x# s& C% s* u. n5 k7 A
: X. i+ u- D3 H9 b. X# Y9 j2 {Code:
& ^3 f1 Q: Z- v O5 E# {( l#ifdef __QUGET_SWAP_FIX) S- H0 w% j) |* e3 J3 v
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )* y! y7 P6 z$ }0 c" d, |9 Q: _ ~
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# [ B2 z, w' w% R! {5 \% R
( H$ y* P) W# v6 c$ d+ P if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )! K5 f. B7 H; O! G" ^. j; g) m
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );( u8 S( G! y2 { f M8 k
n' V, s' }/ l Y# T if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
. R8 ?" L, v% D/ Z; }( N pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );" T$ S4 a$ }9 W* h4 k
, V+ ~2 ?7 v( s# {# v, g$ b* G( }
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 4 u0 C5 g( v2 s9 r2 r. D
! a. O0 }% D) C9 t9 j& {5 t* }6 q; i7 W1 k
|
|