|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 6 t+ m5 V& c- a' \: D
I posted this because someone kinda posted a youtube thingy about it :O.% n D) h) l& D3 B+ k
R8 Q# r/ _3 x7 \$ T4 v3 T: x
Find this in DPSrv.cpp @ worldserver
, N) M2 x4 Y* |# S3 f' j7 t- [- w2 d7 f6 t
Code:
$ m/ b9 Q& B* O C, Rvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
* e" B( g" e( g; f Z1 z" [{
% X. |6 m. Z' ^5 @1 G4 u DWORD nId;
5 P8 M: W/ [4 }# J A int nPart;8 C2 \3 E' Q8 Q5 C& f1 b; Q b s R
D4 e& ]! x( X* r; G' ^
ar >> nId;( h K7 j8 @! h$ O' \- [
ar >> nPart; - \2 z- F- {$ c1 n2 i. F
( T Q Z1 R3 u5 ]1 |1 H
if( nPart >= MAX_HUMAN_PARTS )
" `5 E* U9 W# u* C2 n. o return;$ K3 G8 T9 }4 N! Z: m
2 N2 Z+ ?3 q7 B7 q4 j8 c1 U
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it9 s( Q" s& J) L4 s
8 K, U, v/ d) d6 o. O8 e6 \/ O4 ^7 v* q( I2 T( A
Code:
" i3 A4 w# g1 H7 k#ifdef __QUGET_SWAP_FIX
( t, P( D7 q) _ d7 j& B- f, p/ s I. f% [ w6 e" s
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
- G: e! e) [: X, O; _+ } pUser->SetHitPoint( pUser->GetMaxHitPoint()); w# ?% v, O9 d
# O/ w/ T3 W1 u2 [
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
* {& Z* r6 K6 d! S, c: _8 V pUser->SetManaPoint( pUser->GetMaxManaPoint() );. \# f9 e7 x4 w5 `( T. r
5 C1 k" k/ `+ q6 l" Q, |6 b
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )5 z: v* A1 Q: q6 s
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
! j: p1 g% ? o( v$ r8 t$ J& R* Z" t) ?, G% r! i- f
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp0 `3 y1 ~# s+ @! P4 V# T( T8 p
and add under
" s' J! A" G2 _6 J3 x/ N" u/ d, h& D' @# B
Code:" G @ k) i! K# j% p) {8 O6 Z
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
; t2 ]; [1 L' \, O1 l {1 _2 ?; m. n9 @% W2 h0 }# m
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 );, Z2 K( F6 l8 S7 d7 }- q4 q
}this
8 m4 j9 E' r' C: ]$ @6 F/ ]; F* r0 v; O6 |7 Q7 |( D
Code:
- G# r( f q' F- r F#ifdef __QUGET_SWAP_FIX
( a% d1 r' U8 ? if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )5 p2 R0 f" w7 _. l
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ p! L% I: ]% m/ N8 r
) L5 ~! R, H; K& m- i8 ~ if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
. q7 n$ `4 P7 x0 ~4 S pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );! y+ m) |' ~7 x5 V, m
/ ]/ u* _8 v: g" G; N: e if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
7 K2 d2 j0 ?; E2 Y6 A pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
% f: c, w( T# q( G* G" p* M3 j+ U4 `
+ ^& o4 i3 ]: Y- a' g* V#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ i; r2 W- v0 a" P' L. N1 I: H
2 N8 d* v' a: E$ I* O$ T7 F7 x0 P' z1 D" i1 o7 P7 Q8 b
|
|