|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked % W e9 O* ^$ S9 Q* t5 j4 |/ a
I posted this because someone kinda posted a youtube thingy about it :O.( }2 C7 A/ R5 S% x6 a1 w
; V7 B3 k2 c/ PFind this in DPSrv.cpp @ worldserver
% {" S4 m9 `1 e0 L- l
$ ?$ Z0 L, n# ?4 ~, `" L) mCode:
' n# [' X! y* ]void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )6 T0 @2 k6 l M# f/ K
{
8 G+ U9 i! {. D1 E$ I0 e4 G DWORD nId;
: W8 T* Z* H# o" H9 Z' o2 J# E, Y int nPart;9 j) W6 U8 I9 Z j! c* P# W6 i
5 X9 x. F/ X: H. l
ar >> nId;
# t* T/ p! _: s% V! O7 e8 B# f ar >> nPart; ' F" ]4 i; [5 O, h) w4 L
8 y U4 a; S. A& Q, j/ e
if( nPart >= MAX_HUMAN_PARTS )
! v( k! j4 V" Z# c+ Z$ e/ g return;4 d+ d/ j7 p5 a! y
& B. e1 L# C" @$ k9 h/ ^
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
5 t/ t7 |, ?* n+ E5 V4 x
/ |* v9 N) Z+ h4 r
, V; o! c' d! s: z/ vCode:
' K J& h7 `0 Z7 y E& p) g/ i8 [: `#ifdef __QUGET_SWAP_FIX
2 g/ H- }" b. c% c% R9 b
5 M) k+ Q7 `; e6 q0 w if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
; }% t# ]+ O, @2 G) o pUser->SetHitPoint( pUser->GetMaxHitPoint());" q( e0 _% Q: y: i
! z. e# ?) i' O0 u' ]/ P2 k if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )3 r, y5 q. @' ^; H+ W. z
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
: R. J3 S7 [8 U* I7 y ^$ ^' w
+ @* a, B* P: h/ k if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )2 I* C7 K# s: A
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );' G1 W6 J7 f( H9 Q
3 s" @( R' `- [3 x q( R5 p
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
! d4 E/ r: z& y) n: K# pand add under
; o* U4 g6 E6 m4 {3 A
: N! Z. s3 @( \! G! ]3 PCode:
7 f! F/ c4 L' [ \$ r7 nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 ]! l! j7 F( w1 ?$ l, |' S! a+ n {
" `$ [% |; M- |1 d0 n 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 );- b' w' t) ~" h0 p
}this
# g8 ]) y- t1 T( m% _0 M2 e' `1 p1 Y, u* t% w: R
Code:
! d: ?5 p' x( k, i#ifdef __QUGET_SWAP_FIX
% g' P2 z) b z0 L4 J if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 Q% A+ C) g: i, C' @( q0 S0 t
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* `* C; X" l2 B7 h/ d2 {' O6 O* Y% H1 P
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )" R3 i n, V. @" L9 |' r& j
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- K! u* t* Z: E5 C
, U+ m- ~5 x6 J; A, g4 G2 g if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )1 h" ^4 K. Y( q$ d% \" X: {
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: ?" }2 ^1 f% V% |$ t) [& W1 m0 w
2 Q4 L- a; C$ f% W; ]) {) l; M#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 1 w/ r0 }+ x0 L/ e) r
& b/ A: k. [0 S
* D7 X2 T8 L8 S: d. M% U |
|