|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
# i B G/ a" f1 [$ e: jI posted this because someone kinda posted a youtube thingy about it :O.5 s. G/ L( v9 K% a; Y% @
) w" i0 a) M d& d% y3 TFind this in DPSrv.cpp @ worldserver
+ \1 H/ \' }: d. ^" Y" d: O; @; ?9 p
/ y8 d! P% i' v7 J! F- gCode:* ?5 b4 L0 F& k# M0 T
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# g7 Q5 W. c2 o$ d* ?/ V
{
6 |5 }& B/ W% i& G" d0 g0 @; p DWORD nId;% s% t9 e3 D+ ~
int nPart;4 }3 D$ a. ~/ d# o9 {
D, H) ]0 | V5 Y# e! H4 x ar >> nId;% h) w, m$ U4 M! v* |- ?/ ~; s6 n9 O
ar >> nPart;
* X5 x" M2 m: p4 z: t+ J " x6 m. A2 a1 U$ M/ u8 _
if( nPart >= MAX_HUMAN_PARTS ) & S9 k& I; V3 ]+ n6 d! S7 d
return;5 M; P' q6 J0 R7 @% W$ n
3 h5 O( f1 L# x7 I4 a. |7 Z/ {
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 M: K. Q' @( o: a" \
) W5 w5 Q" O1 Z2 X1 ]) b& f
3 U: n, V& l- }! |* K3 n) t
Code:
( o6 R$ x$ K) e( F. K#ifdef __QUGET_SWAP_FIX3 U; h! o# d' C
8 c- m4 ?8 V+ ~' e/ \
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )8 c2 _" s5 D1 V1 |9 N! C& B# J
pUser->SetHitPoint( pUser->GetMaxHitPoint());
2 K( B5 A; v, F- }! A, X! R0 L5 }7 o; f7 y' r/ \ B
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
! p+ q( w8 f1 Y( R8 v% r; [ pUser->SetManaPoint( pUser->GetMaxManaPoint() );* z# [, K/ Q1 Q/ f+ x
4 O% N* Q3 A0 R& ]
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )5 h* U0 w; T( n$ |1 P u& A; V
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 M- p1 @% u& a0 k
( _( x. o9 D' e) M/ G6 H% \- [1 s#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; z/ n5 P3 o. D% s' b# C Q" Y* nand add under
! c. s" I2 \9 Z) [
# q, ] N, k8 S" g8 @- X: ~Code:& V( D4 U" ?5 V% a, }8 T" l0 `8 y
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 A+ E4 y5 [4 {0 j' G0 k+ O7 o& s0 Z {
, k _' A" E( S) `" t( h 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 );
- {3 r6 S% b t( d }this0 X5 p; q; g0 o5 Z
. t2 ~* J& E) n
Code:
# k) N9 {/ y) V0 Z#ifdef __QUGET_SWAP_FIX
0 C* z1 F1 A X if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
5 v" ^# `( y. A. F% ?# @" y% { pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
6 {$ g3 J+ X3 |1 W: O. o$ Z, }6 \# e9 V' A
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
3 C/ d8 e9 c4 d pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
% l9 B3 t' q% y _
2 B+ q' H! N% v$ s6 g* D; ? if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() ). M" i+ s4 ~. u' o
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
6 I; @; O9 [0 e8 S5 i5 B; p
W& {3 q) d0 D& q/ J7 ~( ?. ]#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / L. \: f% o. @( r
9 v7 p9 d/ V8 R2 o: ~8 g
, d$ w3 c# a8 C) Q: U/ L |
|