飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
admin
时间:
2016-1-10 03:43
标题:
修复交换错误
Hi I fixed the swap bug a long time ago it got tested on my server and it worked
: T5 k! E( Z+ k! o+ J! h& a. ?
I posted this because someone kinda posted a youtube thingy about it :O.
2 g- C0 A" c8 h1 q
( f9 |$ J$ S5 S, J
Find this in DPSrv.cpp @ worldserver
$ x3 j# w& l8 j+ p i) X1 u
- F, m. ~9 ?, ^/ N) d) |
Code:
- Q4 S& v/ j: L- n
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 _! C$ h. h: n. P
{
: [/ _: R; }6 o( N
DWORD nId;
% q1 F: D- _9 C' J' I' i2 G
int nPart;
) N7 ^6 W4 J7 W. v: u$ r4 v
2 n+ H7 d9 I: [) h' B& y0 d, u
ar >> nId;
, i: f/ ?! L* q8 F7 R
ar >> nPart;
: c; n9 M9 q' y, {. M( M9 J% [
$ L" |8 q: Z% _7 Q) q6 |5 C9 O/ N
if( nPart >= MAX_HUMAN_PARTS )
5 k1 W( y; D$ { t5 Q3 m+ U, q
return;
5 S& m8 F* W9 [6 B( X! l
- a0 O) r. O3 y7 z7 d
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ V- s( G5 T: i1 `: ^" ~
0 m4 m/ }: {0 @+ E
9 b1 f( N5 \5 O3 K ?+ D* A. `. `
Code:
2 Q$ V, ^4 z! ]" N! T' c
#ifdef __QUGET_SWAP_FIX
' \8 e" K( t; Z: V, R2 `
" }: ~' x9 \; v7 M& t
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
0 i7 U* L; I+ g# E0 r/ b
pUser->SetHitPoint( pUser->GetMaxHitPoint());
, w: D3 _; d: e4 Z r
. f5 j% w- B) `# {' ?
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
% h% `6 j) H8 q. M. F+ E; q B
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
, Q, |% K9 \( ^# o8 X# o- H
6 x3 G& V; a3 e G- V
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
" @8 V- A& ~3 q2 I# s' H
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
& R" d! B. A7 ^. v" \' b+ O; _$ V6 J1 F4 Y' ~
: |% X9 r4 v0 o4 P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 C" v* [8 A- i& M
and add under
& D6 A# X: D7 e- t% ]2 Z
3 c* O% R) y( i( z: q+ E
Code:
0 h2 Y0 s; `! d
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) _4 R$ F$ N9 e
{
0 S' w$ `0 [) a; g
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 );
$ _: u( n! l5 e
}this
9 Q6 g% b% \, w
1 O+ c5 Q) Y' g- n+ j: D5 Y0 m3 i
Code:
u7 F% I- ?. F& @5 ?
#ifdef __QUGET_SWAP_FIX
$ a. F8 Y. r/ s# i' P
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
; C# p$ D8 d' m9 h
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
F) e7 \& Y6 P: U: L& W3 l
' t1 w# x, u1 i4 t& T
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
0 C5 H1 _7 X9 E: ?* u3 P
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
1 A0 ^- y) C) _! E+ q0 K3 x7 L c
* B6 }3 |$ N$ [% R, B' w
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
* m" u7 f) c: N
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. G: n- [* Z+ Z( z) y* ?% S
) Q! X. K/ @3 w: W, L
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
6 ~9 `9 D! r- ~- e4 Z4 j
# [& D5 l3 b- }8 k7 s
% q+ v7 r* X( G
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2