|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
$ V0 M( r" B2 S! XI posted this because someone kinda posted a youtube thingy about it :O.
9 \1 d" a `1 D8 A: X2 U
% k/ M: E7 W: b2 B1 {Find this in DPSrv.cpp @ worldserver2 A' H1 H$ C9 Z: G+ _( V
0 \8 }: g" d5 B H7 z$ y/ P
Code:- D: E4 [+ n& `6 U
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# u0 I5 ?- g# U1 W3 G{$ P% j7 f9 C- }0 u/ {
DWORD nId;
1 c8 ]0 t/ x2 q( q5 c int nPart;
" @ M* m# b4 ?+ Z6 p! d! M6 {7 ~/ _, T& k
ar >> nId;
' v* D/ Z# B5 g" ]" d2 W* Y ar >> nPart; : j) n8 t* a, [2 ]
) b) a. s+ c0 [) q$ r, i, n& w; T% `
if( nPart >= MAX_HUMAN_PARTS ) 8 _: F1 }6 u, Q2 `, O1 {3 d9 j8 _
return;
5 v o: B: h: q! w! c& ]* E9 @& q; o0 Z, s% e3 Z
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, Y5 W8 e. j( g7 w6 `: j& ~
5 j( m# X# k! J# j- s3 i% |3 |6 v$ G* c1 l2 ]
Code:
# C3 M4 H9 k3 }+ P: s* m; @- }#ifdef __QUGET_SWAP_FIX4 H/ U* i2 p- c- g' f7 L5 ] ?, x
; T- U# G4 L0 S' e h
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() ). @% \4 E, q* @! R# S& r& u% J0 H. e
pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 g; j! M- Q" H B2 N( i r) r, E, H' T$ h
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )8 C/ b7 z+ D9 d2 H) l4 \: `
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 e& v. v; l. q3 e; L t# w4 E" R
3 C v0 F; w" C! H6 Z+ ], O$ U$ v0 E if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )$ h3 g8 A1 |1 \9 A z, O# g9 X
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 i( t" k( y+ p6 k9 s+ M' d7 s; u- k% g& Z0 w) |2 h! ]
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 ~% S) `+ j' Qand add under
- \, V3 |4 Z6 e& y* U
* j1 w8 N8 [% d9 sCode:
; M% B9 M r3 D- Rif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ) s2 {1 b/ j# ~; Z! v K$ {8 D
{
# ~7 g5 @# E7 z4 ? R 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 );, s r# o' z$ D- \. ]2 Z
}this- i0 o) E, `0 @2 T0 S
& Y1 D* C- v0 m" |
Code:. b+ T( k/ }& E
#ifdef __QUGET_SWAP_FIX! J1 E7 X _# w. y% {
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )- `$ j+ r2 P( E& l1 S
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 B4 A! f$ Y4 S q) N% N
- y0 ]( P) v/ y$ Q if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
! M9 A2 J) N9 b3 M) b4 B; v pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' j( ]1 k% `6 E- H7 _4 i2 ~
3 X( p" u$ j+ a) W1 Z if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )7 Y' `: |$ {: @1 [
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
# i8 z/ H! O k* b- T0 ?; N, m& D* ]. O5 @, o/ X3 F- B" w
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
; N: ^( ~* v; z6 c& Y2 M/ z
% D! q0 a0 v7 ?% \1 }$ D" P6 Q$ G! n' E: Z0 r* I. X, u! H6 ?; [
|
|