|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( `8 y% `5 E9 R- A/ n( v
I posted this because someone kinda posted a youtube thingy about it :O.
$ ~- W0 t$ C6 Q$ N( c1 n( O( ?; W" i2 C2 s
Find this in DPSrv.cpp @ worldserver- W4 ]' S, u" U" D S
! P) V& K# k8 y5 I9 B& i5 @; ^9 t
Code: Q( U7 S3 S) _- v2 Q2 b. D
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )7 ]1 n6 Q- m# O
{, g# t: i, O/ j6 M. U. g3 D" C
DWORD nId;; d- s b8 `, f; [1 b) y
int nPart;: k! e7 _2 D, _4 U# `- g1 t7 F
+ ]2 Y. G" {& E
ar >> nId;
( P$ e! J# t8 F% Y' P ar >> nPart;
+ O2 i2 T4 E& c9 y% x0 C& e7 ~
( {6 q0 J0 I3 v. s1 b* j if( nPart >= MAX_HUMAN_PARTS )
# y2 v, l, U# w+ N return;
! x9 A& u7 Z' o/ ]" ]: ^# \0 L7 [# |/ B# t& T O
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
E- }/ S$ W% g* ^ q
5 e# J! I# U. N) c- z" z; J# P7 v8 t. ]& m$ ]4 s: _0 Q
Code:. j% V( _1 S0 p6 ~
#ifdef __QUGET_SWAP_FIX# z8 T0 W* I' x
% U# j# Y! Y9 e! N$ N# o8 h0 H1 a2 @
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )) }, F5 z) S0 Z0 t9 n5 f; H
pUser->SetHitPoint( pUser->GetMaxHitPoint());
) h- O. [8 @# v" [; v
/ K+ l$ ^: `: T" }& d if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ U+ k- E" k/ {
pUser->SetManaPoint( pUser->GetMaxManaPoint() );( i- Q8 ~! m0 v' V- v% o: M1 F# H
5 U$ E' O. @3 G: ~# w( D if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
" [. P+ h2 L; t+ \, v pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ X* O' a/ g2 a8 V. p* w$ l) n& q+ N k2 H, H
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, w4 W8 k1 \, d; O0 qand add under
2 e5 j, M M4 x3 ]2 D1 L" T0 ?/ q! v7 W) m3 Z) E
Code:# _6 u/ i- y3 c
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )1 t" B1 k0 Y% x3 P" J
{& E: s# T& }' c' T7 t, Z
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 );
X Y5 S& P8 Q2 m7 D }this
# R* F4 g: x. x& L7 l5 O, T8 f4 R- {* M- a% Q
Code:
1 n8 j+ V& r% F! L( h" {6 J% l* }#ifdef __QUGET_SWAP_FIX
* K1 i' X3 Q8 X/ ? if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )$ d" R0 \) y" ]. v( u* x; z8 q* q
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint()); V8 Y# {. o! o
, C- ^; t' i9 c2 \1 @. C r6 v6 J if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )/ I5 Q: V' V% l: A' U# B: G
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
0 t z( Q; \6 L8 C! t
$ Y2 U: T0 j$ u6 d8 ~8 j if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
! J6 E0 j; v% x2 U pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 A" ?" n4 `7 \& z& N! a. x7 t0 x
+ I! G. b5 _% N#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver " u7 w2 e4 K( B- U* g0 j
8 C% P8 a( ~2 C: v4 F+ W
6 X$ R8 ]( Q+ _ |
|