飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
& j0 r( J7 }5 q- u
I posted this because someone kinda posted a youtube thingy about it :O.
. Q. E* |% T9 x
8 v9 L2 M- _ y& c- ?" u1 Z
Find this in DPSrv.cpp @ worldserver
$ m4 N8 J5 O: B o b
% L% \% y2 x" m# {% D
Code:
" [1 a' N% {- z( V" R! A; }
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
8 F1 ^# T: a% L! n7 l
{
' r; \$ C* Y) s3 h
DWORD nId;
3 p' j: F- y0 B% F
int nPart;
& s9 ]; }8 c8 m7 e8 ]
8 Y0 L6 E2 E, i1 i( T
ar >> nId;
" Z' |- J' k! X
ar >> nPart;
% @/ f+ M' ~' {5 N k) Y4 b
9 U. o% I* ]5 o
if( nPart >= MAX_HUMAN_PARTS )
8 M% |; Y; p7 `8 F
return;
* q: ~0 Z+ W% a$ A: {. E( Y7 ~
7 ?$ ?( Z' R& {# i: P# C
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
6 _4 l& } X( E+ z: v- c
6 d/ }% l8 W1 x6 N* i
* @7 B9 i* w8 x& Z1 ?0 A
Code:
3 r2 K/ G( f2 O% m4 u- M$ e/ I4 L
#ifdef __QUGET_SWAP_FIX
7 i3 U7 K+ l/ Z M- e" j' j# a1 s
. S( J% X, J$ H: k
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
7 E C1 C3 ~' o9 P- c, w2 A. m% ~) [
pUser->SetHitPoint( pUser->GetMaxHitPoint());
- b3 ?( j, h9 | G$ f
" r, m* y+ H4 E3 Z6 q8 D6 k
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
* M; J% q# p; e) i0 J4 \8 E
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
/ V* y$ }; Q( u) S
, i1 G+ O5 Y. k
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
4 {/ [, e: {/ m! A1 y" C$ _
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
; K9 Q6 H, ]/ Q3 g
& @" i$ a4 w: ^
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
% C% o) A5 h, M3 S% W$ e
and add under
* O, V6 y% f% O& k* o
2 }3 y; b' F4 ?8 b e. o. t
Code:
- p( N, G* |8 D. _! H4 ?
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
4 D- o3 A l4 Y5 ], b$ P- D# Z
{
+ U6 [: [, N- O! Q# W# T* E
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 );
& U2 X9 d# m- q+ p
}this
* o" ^/ x- R. o% G
& {& X, y) M: z8 t% F
Code:
% [3 p: E" d" a" Z8 B M4 V* O6 K8 T" e
#ifdef __QUGET_SWAP_FIX
. u0 ?* a' O# L2 x# l
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
\- L8 d( w% n b0 S# r
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! i3 u- U& f/ j3 b3 k% K
+ W, Z- \$ V9 ?+ o7 c" T, P/ @
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
; @, X8 C! Z. V$ x& @* S2 n c
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 ^; y3 X+ |0 s8 q2 P
" p0 {# F6 T* ^' N
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
6 B$ g1 n2 K+ w8 _, q) [
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
" b- `+ l( Z8 X- D' `. b8 p* G
( d: }* P3 K) h
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 e& D; A6 e7 }% L! ?
" S2 P* Y: b3 X1 D$ _* N
5 {/ R J2 T4 X/ j6 p
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2