|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
4 p- `& R+ H7 w0 l# n4 |5 p- |I posted this because someone kinda posted a youtube thingy about it :O.* N- n# e( |& _4 ^
3 Y- Y$ v2 {- F8 @
Find this in DPSrv.cpp @ worldserver2 z* ^0 n. ^* K9 X5 G! I+ z
" p: W' m0 [# ^5 R: ?) V# w
Code:" ~$ h+ T9 W4 A3 k4 f& v( |
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& ]0 C8 R) ~) k* i' Y" e+ _: i5 ^4 Z
{
; ?" c/ C, } {+ b6 A& X' G8 H$ K4 K DWORD nId;
! A6 ~: N1 C4 X int nPart;$ T* V d. G9 t6 I6 `
& n7 ~/ }2 }; m e" @ ar >> nId;
8 K0 @8 L! u( \0 e# T+ i O ar >> nPart;
# }! R7 ~; ]7 z3 B( Q9 A
, }; A% ^$ r; K, | if( nPart >= MAX_HUMAN_PARTS ) - a* O5 K6 G+ T3 M+ }9 G6 |
return;
* @9 N% @! `7 f& g- p
$ n/ J q6 }2 p. R' V CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
9 X; I; b3 r, Y+ p- U
% h% ^+ J3 L. b3 h1 F
& _& E% v# {* `# OCode:- E- f( x1 B) k3 D$ A
#ifdef __QUGET_SWAP_FIX
8 w# T6 _( B5 t) b3 g7 u F9 w/ P2 c2 Y1 l: f# q/ p( T( p
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
" o# W, k/ Q: e7 Y pUser->SetHitPoint( pUser->GetMaxHitPoint());9 {+ e0 O# Z5 D. _7 u. Z, L
7 X1 V( ]& U! L6 ?$ u+ ?; I1 O
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
- A0 F3 h0 i& X pUser->SetManaPoint( pUser->GetMaxManaPoint() );
7 [5 X) p5 s7 y) k+ b* C9 R1 w
3 {$ @0 K" Z: ~7 x% T- x2 E: j if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
9 f' ?2 ~8 h* u' R4 B6 Q pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 h' c2 V1 G" p0 \8 j: Z1 V* x& r+ q: k
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp5 r& B ]7 M2 Z: E" u( p# T* y
and add under* _3 v! A- z: F
7 c7 t$ y8 K5 ~" }Code:
* Z) T- t3 H+ J( j' z# E lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )$ B4 n5 r. o y# H
{6 \/ v3 C2 ?5 B8 e4 W* 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 );; W, P6 Q6 A9 E; a O; U4 l: J1 C
}this/ ^4 W" _# W4 r6 x* w/ j5 k2 A
, G% z! I+ d) [. {& zCode:4 k9 R5 B! [. k( g" A* W0 Y9 [
#ifdef __QUGET_SWAP_FIX
! R( ?5 \' D1 T* V- l" Q5 v/ R5 k+ o if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() ), H `6 }% \0 c% U( G! }- i
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
7 \* I3 X, c% {3 K- Z4 d* _/ C, C1 q5 V2 X
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() ); Y+ D2 a7 V( P4 y4 |: g) F- S6 Y
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ u; F+ s) V j1 b1 w. G6 t
4 U3 t# m& t5 R+ F% b/ V if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
% h7 F; q4 `5 T5 d+ a pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );9 W7 \' W& t1 W. f9 l' o. O
: _1 V' k$ j5 w( A, |7 x# R. B
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
" G$ _. R/ A* m; \% m# A E+ |* f2 f
! A3 |2 ^& B! F- `& E% |/ P% r
( ~0 U9 a5 }0 u) c P4 I) z |
|