|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
3 n1 `0 h G) L2 v9 @# S, G( PI posted this because someone kinda posted a youtube thingy about it :O.
" A% s: \$ h- V' j* _2 G* J8 `3 r3 y7 ~1 k
Find this in DPSrv.cpp @ worldserver
8 P: D5 D7 r" P- b, {3 i) W' U
$ O$ G U+ }4 x) ^0 j. f$ {0 u2 q; LCode:7 j* Q9 j3 \$ {* h" R
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& `' g+ X1 q# v+ @
{; U' k' a; h" p! s5 ^
DWORD nId;
, W- y8 d: T1 p( g: i int nPart;9 K/ m" Y M* m# ?
- a6 L' i: ~1 d+ A" m
ar >> nId;$ z1 @* j3 G! A; S! T" n+ c* X2 {
ar >> nPart;
: x, y% t" k- [7 q$ R% w - K5 j! l3 N3 O" G1 s: L5 |9 E$ O$ ]
if( nPart >= MAX_HUMAN_PARTS )
9 ~" h0 M- u& R, O8 P return;
$ x( X8 t1 j5 J" r" e
* r" J7 L; a. j. b- ^# u CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 B* G* D7 p) h$ J& {
# l6 b* O. ]1 `& G% [1 u% C: e/ _
) p. Q2 z+ {) U9 X' f+ gCode:
7 O- A0 F J& J o#ifdef __QUGET_SWAP_FIX# k" l: _! R3 \2 r$ m! [# h% ?
4 C4 h1 p ^+ ^4 s- @
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
2 c6 N+ I% Z! k pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 o" G* I& K, Y! {+ W( b$ ~; T" f) |" o5 x9 b+ D% [
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() ), F- g; k7 ~) n9 j) [
pUser->SetManaPoint( pUser->GetMaxManaPoint() );$ `+ d* L; X7 [6 Q- B8 L
+ @' X! J$ P9 B" |1 ?! A if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )9 z9 P+ {$ B" P# @1 v
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
6 Z# v! f% D0 ?, b* B/ f" @1 E/ V1 s" r, N
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp# O; v1 F- I& _- f" M. o! I
and add under D$ m& l& v, S4 h1 ?
) n1 X: a4 C+ w5 n2 v9 ~
Code:
" J6 l; M" [8 B5 }, `" U# pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
G2 l0 j9 X/ q$ e& s6 T {
7 @8 }* L5 N* Q g H0 y 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 );' h1 Q6 I2 E5 A [
}this
$ v6 m" d) l. D) V ?
1 |" a/ R: h8 ICode:1 W3 D. a3 i0 f- F
#ifdef __QUGET_SWAP_FIX
" Y3 \/ p7 E& h8 t& p8 F7 H* j if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
4 F/ z% J2 S& W2 X pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" r o, e% t, l' I' b9 {
/ h, O5 {$ Q" v5 t0 M3 { if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
) q5 B' y4 J$ Y6 s8 c( \% u$ t3 M pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );. {+ ]% i/ j& Y$ i
1 V% G* `3 R9 x# Q8 B& y* w if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )9 ? O( {3 k! m) t' j/ i2 z
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: T: ?* i* F% N% R- r' L$ K- a" |: e
- p3 d7 f4 t/ {, L#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . \. F G. Z q* g% g+ f
. t2 X! T A) @
, G" V7 t* I3 ]7 T% u- Y* t( \$ V |
|