|
|
Hi I fixed the swap bug a long time ago it got tested on my server and it worked \8 ?+ x; d6 g! W1 P4 P3 O2 J8 {- C
I posted this because someone kinda posted a youtube thingy about it :O.; r* S* d" A& e
9 q3 o( _3 q! t. O
Find this in DPSrv.cpp @ worldserver" o, r5 Y# j/ T" b4 Y
. r+ A+ [4 Q, q+ `Code:
: ~6 b& y! ~* Yvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
* I/ o" f9 _# _& H: t9 O{
; S1 G' h4 [! d; k) c- | DWORD nId;) L: y; ]# u1 V, W% W
int nPart;
m$ R: P+ C: W7 Z2 c0 o9 N( x
2 P1 I( x5 P& @" o, u ar >> nId;
. V- g/ A3 ^. E9 b ar >> nPart;
4 h: V* W4 b d8 v% @- _4 Z; |6 T- B & j3 P) ?5 _" o, G ~0 ?4 g1 Q
if( nPart >= MAX_HUMAN_PARTS ) . v3 O/ p$ h" }# T4 L
return;
/ Z: n5 M4 K7 d$ ]* K: ~) g/ _
7 R+ F$ v7 Y& F1 p* N' Z CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
& ~& R' H6 G6 \0 F3 g2 `; X. C. e4 d4 c! `/ M- f+ [- ?: H
0 Z/ c* y. l# a; d9 Q
Code:. K$ j; ?' c; h* T! ]' q8 m
#ifdef __QUGET_SWAP_FIX3 ]7 Z0 N% k8 @6 k
/ G: u& N b1 m& H9 B: C% W/ f if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
" Y8 u5 F7 ?) ^+ s& ~" ^ pUser->SetHitPoint( pUser->GetMaxHitPoint());" w! R; U1 j$ |/ n. {. r. F% c" C
3 M7 [+ x* H& }% U7 P
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )+ n9 v! }8 \. [/ x4 u% {6 W
pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 a* M- Q* B; k$ `$ C4 h
4 B' |1 D+ v' t( G1 q4 C' T
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
. x- q8 K. F0 k: `& J, F8 t pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
[5 i% d, x4 Y, T& e+ S5 }6 j5 |" S; n
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 T' i7 N% f6 M- }8 o. e( G- Sand add under7 b% } F# G3 I: J
8 O7 k3 \, z {4 }Code:* M# n% u q& j
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 | g0 b( V" i p, f {% {' N- J4 f+ w1 e2 ?
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 );5 V2 V# Z7 I5 f4 X, q- }, g
}this+ i9 A; c5 X7 f5 ^; S
# P4 w9 n% f d: n0 [# F. \+ x
Code:
/ P2 q5 E* @9 B: H. ^9 m#ifdef __QUGET_SWAP_FIX* J/ O: L2 a( w$ h. _. m3 y9 I, D1 ]8 A
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )9 Q% o# H6 p& H4 M$ J# ]+ A
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint()); n% [& `1 O1 @. D! [; m: t" a
* A/ p4 S- n2 W, n5 t' J
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
" c4 k( {( i! E* e& _8 S pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
P' [& U5 ]7 a
, g' t% Z& U W# c8 C6 K if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
[+ N; g0 X% u# \4 n: E' Y8 G pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
+ }, l8 |% q7 ?
8 l# \. ~1 k: W( v, N9 w8 \#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver , q" U$ |. o3 M
, _2 Q7 J$ y# {4 h. v/ C, f! ^. m
+ m) F( K& t1 ~$ f0 r5 S |
|