|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
- c0 [+ t" @1 a) e' O+ BI posted this because someone kinda posted a youtube thingy about it :O.) W+ x6 H6 k0 M
3 A* c+ U1 v: s" L0 hFind this in DPSrv.cpp @ worldserver
r& v. V( c2 y3 f
0 F- }7 O; k2 m2 x1 f. M4 {/ D' m) v7 wCode:
4 J! D4 s& D1 V4 rvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
/ W0 u8 k0 K4 A" L* ~( J{
2 Z% a# d. F# B7 D& e5 S' Z/ n* O DWORD nId;
' H! j5 K/ ^8 T7 v/ G; g: }0 Y# ` int nPart;
6 z6 s& k" z( K7 q( v; d9 n0 R
7 D, L; d+ T1 E! |7 T% s, c& C. v* o ar >> nId;% N0 F% R% H+ R8 x2 S- r2 B+ N+ H
ar >> nPart; ) N( p3 h' t* r& H0 R( h, m8 r
' H; u8 J, K7 [ if( nPart >= MAX_HUMAN_PARTS ) ^ X+ e/ C+ z# E- U
return;3 k1 T! J3 B/ g2 a6 f* Q* e
* ~) r- n+ R. k' n CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! E- e3 `& l- e9 ?0 d# V! ~$ t: ?' J
' U/ V1 v. s3 `6 I
Code:
! P, o5 I! ^7 ~0 J#ifdef __QUGET_SWAP_FIX
9 u& \; c$ ]8 ?0 C v
" Q! N2 {! L7 } u7 O5 h1 D% i if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )8 d) V2 _* q8 f, r& ~5 ?1 x
pUser->SetHitPoint( pUser->GetMaxHitPoint());
' k; G; x$ z3 f3 u) w# I( n( ^8 z/ [% Y- A! i
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
/ I! }. L0 `, Z) I* X3 q; D pUser->SetManaPoint( pUser->GetMaxManaPoint() );
* R: w) I! o c7 B! S( {* E
/ x+ g' M6 z9 y; N- k/ W if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )2 G$ `3 \, `1 y; S$ h+ k
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
* L- ^5 B( y2 A
1 H5 N# G$ Y$ f9 C2 b. d. t& R, i#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
. {9 [5 ]7 E- G* oand add under1 O8 k) t+ p1 V& g' M/ g' }! W
" T- G2 ?; k+ l- q9 ?& n: X+ MCode:, V! C% v$ ^* S3 ^4 Z4 C# U# M
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), p& S4 _6 [+ E( o t0 D& I/ v) P% N
{+ h$ x# v( I; I9 S% u
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 );
- Y6 O p* D: V" L& p }this) o5 B, A6 Q4 t: I7 D, @* x$ Q
! u$ B/ d) d+ D1 b Y5 S: H. i* X3 V
Code:
5 u6 `& V* h( I: J' q) v: {! ~#ifdef __QUGET_SWAP_FIX
, a$ r5 E5 q' y3 X% S if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
. }: O# m: o7 G$ A& R pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());9 D& V$ Y, H( S) w0 }" t5 ]
, b. I, i' u6 L- b% g* u7 ] if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )0 \1 [$ C- j5 C: w
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );: [8 Z! C, h, M/ Q1 N$ U, w
% p7 t# _6 Y/ h: ^, y3 |
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )5 B* _7 h' u3 P, `6 X9 F
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- Y; M5 T1 ~) g1 h3 x* G) T: k+ [
1 P. d4 {/ o4 z+ [#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ X/ S. \3 {) ^$ B7 T% u: d& r; t5 T. s# C% I& @
! m" Y' q& |. l; A0 m5 b |
|