|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 2 ~- f2 f1 E e+ x+ j
I posted this because someone kinda posted a youtube thingy about it :O.
( Q L' n$ A0 d- T; u5 B
) \, i$ J3 M- V; W: l% M+ e& T# n9 qFind this in DPSrv.cpp @ worldserver
: M1 \; D0 d% Z+ W# T a' Q
4 {$ u" ^2 O* S! E4 ~9 B8 n2 P2 pCode:- ?! `! R% s, l* p/ c
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
& X& D3 J! \9 O Z- I{1 _, ~4 F- j# Q
DWORD nId;0 W; h; Y/ \, x8 J; L
int nPart;6 P. N& {+ `8 U2 r
' a' i* r; {1 R. q
ar >> nId;
" U4 w/ p+ @8 v# M) X ar >> nPart; % d: e0 i) n* }+ z5 v8 _
+ v1 k, x8 r- O/ o- W. f
if( nPart >= MAX_HUMAN_PARTS )
6 J: m5 I4 j' U1 `( {8 B0 w: { return;8 B: l: I& {6 @
4 X! P& M- \5 p3 p4 U4 v6 C
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 i* i# U4 [3 ^+ q4 F, w
8 L0 j8 g' y9 E0 @# [2 L
" K+ f( g a$ y3 T3 Z# N
Code:
+ A, ^2 h5 _ V& D+ E4 |) T#ifdef __QUGET_SWAP_FIX
# J+ h) ^$ @2 W P6 x: O6 @7 U, `* k8 f2 c3 c4 J
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )% A) O1 j) `! y% a
pUser->SetHitPoint( pUser->GetMaxHitPoint());+ P. D4 q; V7 R( z9 t6 i/ r
1 [/ x9 L8 q- L& i if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
" q. ~( D3 C) y* h: G8 w pUser->SetManaPoint( pUser->GetMaxManaPoint() );
3 h7 ?+ u; n8 U! e% c$ r, m, Z
2 I. X' D1 t! Z9 F3 ] if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )# D& o2 C6 S, k8 O/ y
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 N& N1 q! @( K3 ~: g- M- ^% B, a
1 k' B% d% x4 ^! T0 _9 Z5 d#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; O9 x( Q J0 ^7 M/ band add under/ ^4 u. {, l) R$ t5 b- l; a
- q) c* h5 U& b
Code:( {. j* x8 N9 L4 F
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
$ A1 E* A% v: ~- e7 C: e {1 O( x% n6 g1 z9 R$ p0 h o) c
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 );, u$ h" r% Z' Y: g* q" p
}this( ]2 b8 w, W$ E5 d
, k" g. t6 |' X
Code:
6 |7 W# U+ b# M% v% Z/ M1 P4 G#ifdef __QUGET_SWAP_FIX
" m1 c! g2 y4 Y1 T if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )/ J4 n% q0 T& y" b; d) s) t
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 D/ s0 e2 z" S5 ^2 ?- G. Q
$ S+ T: u) I" b3 |- p if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
; U: j4 f, R6 g5 @/ I pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );# U# R# J5 y( O3 x5 [
O; V, Z/ Q" k- O: \. f
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ); J/ ~- w2 j0 y# ] K
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );& k+ Y7 O; ~9 m5 o4 o) O' H
% N$ g! S6 h) `" ~$ Z* A7 v2 c5 a) t#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 C% E" o. M; o9 r E' K
" ]9 g/ s4 \) ~' l$ k! w2 y; v g+ r6 c% K* q, l
|
|