|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked ( a+ P% }! d/ L# F( |1 u* [2 {# m
I posted this because someone kinda posted a youtube thingy about it :O.
, ^. O, ]" ]* T! I: A4 {* k. e2 s8 W% ^6 ~& B
Find this in DPSrv.cpp @ worldserver! G1 i7 v' B; F1 `) k
3 z7 |! p0 H2 @Code:+ t2 }! n2 i& c1 L+ Q: h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, f7 U) S7 F* Y; L{+ v( K' C& t2 B# [3 q
DWORD nId;
7 d: u! B1 Y# ^6 X5 n int nPart;5 u3 T" ~/ I+ x8 p, U
& x& A: i# R# ]$ R9 t+ e; |0 Z
ar >> nId;
d3 e Z* c6 `, n& a9 J+ ^( q/ Z ar >> nPart;
, Y. F! Y! g9 o3 p
" N2 h: D1 g4 T7 T8 _/ U if( nPart >= MAX_HUMAN_PARTS )
% L( ~8 w5 ?9 R9 _/ F+ r" k return;
/ U" L7 t/ H: S1 y' y4 x3 P8 }# N( x! Z
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
1 u) c9 I8 X" o+ s9 r, m
: J2 j: ]* V3 Z! @/ ]( e6 q$ m, j2 W5 H0 \2 X+ m9 p
Code:
+ L6 ?5 H9 O( j+ B! E+ w4 S9 J#ifdef __QUGET_SWAP_FIX. N$ z: u9 N. N; V; ^9 ~+ g
" h3 m5 s8 y" j; o) w4 Q+ r if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )7 [! p5 N- h; y
pUser->SetHitPoint( pUser->GetMaxHitPoint());/ K/ P' E* A; U9 w; l% Y
/ }; ] x* j3 s) D2 { if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )8 G1 I7 `6 \ x9 F# C/ Z- f
pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 P q6 R9 t& {7 k7 d6 z
8 f. j& P8 Y1 x if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
X) A, |4 U: W# l pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 T3 z3 s! C+ r! d0 W& |' [+ P! z: f6 x# G( b3 O$ i
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ u3 m5 \6 r) X5 {7 R+ _; land add under/ \. ~6 g* B& Y6 q5 }! {
: B0 I. i2 V# F+ ]Code:
7 G" f8 Q' [, f; j# m4 E( S+ w6 S/ bif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
+ @; K6 S5 N% M I& P" }' w {9 W) R; J- v1 X$ ~! T; 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 );# r8 P& `( _" b# w" c; j: g
}this
; r0 E1 |/ D! @$ i! W- J' Z6 R: t7 J
Code:; _+ M$ t9 o0 T8 R% O: f
#ifdef __QUGET_SWAP_FIX0 t! ^% Y; \# c
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )7 a1 R2 Z- @+ Y- Z
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
4 \' ^& l& J" q# f' [& N5 a- a$ ]; a+ M- `! o; h) ]( e
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
9 ?& y% U8 ^ X. c pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );8 o. F$ r# X* p7 z, \% G
- h( o, ^" P6 q5 k if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
/ b7 s" u. @% l pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 P( D5 h. E; J9 f
4 g! K r* \- B- K' ]* p#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
0 c% p- @, j; v/ e! r/ X: N
/ T! B [" Q9 ~, t2 k8 l' x3 i; _. M7 P# N9 ?1 |
|
|