|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked * Q/ Z9 K$ n. K$ V7 s
I posted this because someone kinda posted a youtube thingy about it :O.9 d5 X+ R- k( i/ K) ~, U
4 r; l$ [! V1 t: L; ~6 F2 V: zFind this in DPSrv.cpp @ worldserver$ _( g; @) X) a2 a; ^( f
k+ U1 A0 J& ]( g
Code:' C3 T# A& M% ~' ^( e
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 Q3 U9 A7 ^9 x, c' c
{
% D, x7 {8 Z% N( d* T A( t DWORD nId;
5 o% V+ q) g; N; a' K* S2 o7 h int nPart;3 j) S* l; C4 O" ~. A0 B4 c
8 |4 s8 o# m5 Z
ar >> nId;+ p/ N9 t9 k) U3 S7 D: h
ar >> nPart;
8 u: E' l4 D( r5 M 5 ?; S7 z& D4 R& c! B, i/ ^% Y
if( nPart >= MAX_HUMAN_PARTS ) 6 n6 J3 ?4 `2 G% c, g
return;
1 S+ N7 L/ V5 U8 H* E9 g* U( Q8 u
+ p! r$ ~" J! M; \1 I; R8 j CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
; C% J6 t/ I* X( l; G+ C
+ p* h$ s* ^' s5 z) J
6 f6 ^ Z* ]$ }1 b" I" YCode:1 R" n2 h5 ^9 R* I. {& n8 }
#ifdef __QUGET_SWAP_FIX
, `+ k- z( |7 P0 w: M2 E* t% G) r
: Z4 b+ J! w8 o. z* r if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
- p- a; X* @# S- y& ~ pUser->SetHitPoint( pUser->GetMaxHitPoint());. n& K! m* X8 ]1 B1 ^
0 r; n0 v2 k- l7 I! X
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )) q& D0 B' i R L& c
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 M6 v$ M! a4 |* `
7 C5 D+ y2 E9 n8 A+ M/ u% |) _+ n if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
) J. p, j/ R# u! i" f, ~7 d pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ r# b! I1 {( d* C. m/ R, ?! e; ]# i) S
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 p C1 `0 f7 `: A( Y
and add under
: x* B9 ^ m" N( A% N+ Y/ W# K8 e3 s# M* w. B. }
Code:
; W" F4 k# t1 V! y: m3 R% Nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), s: o; q5 B/ l! \$ A4 P7 X- ^
{7 }1 Y! p. B* [" p
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 );; V; B1 Y( k; p% N
}this( p' s; B. A. k+ [
7 s# [+ ~+ b4 N( a
Code:8 m3 `) q& m% q; Q( [
#ifdef __QUGET_SWAP_FIX$ V5 c2 z: r3 k* x9 f6 v3 n3 g
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
z+ y; T( Q* [ m5 k; j6 f pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
. G U* t+ g! l& ^% y# E3 M
+ H. {! ?* e2 p$ X7 E3 F if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )( ~+ X, u5 N7 }2 U/ |: v
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- E5 f' y% l. i$ G1 c1 s$ ? Q+ H
# G8 S; v, x @ if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
+ |% u. T$ P' W2 H8 E pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() ); B) b% w5 @+ }0 C1 p% S) w
8 l. @0 b* m' ?9 b) u* [8 w* P0 U# C
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: F+ h, e; N/ m& d0 e# v0 [" h* b$ v( e5 w
2 ^( ~! M3 m& h9 o& W4 m0 _ |
|