飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
+ v! ~6 N( `( H) S$ C3 n ^, P$ E
I posted this because someone kinda posted a youtube thingy about it :O.
& }/ E8 Y" `1 R+ u5 O; u! h! s
* j5 v; n% t; ^0 B' h- f
Find this in DPSrv.cpp @ worldserver
0 [7 C- |3 m9 S
+ i8 \( n4 t$ k7 ^
Code:
. `* B5 M6 l$ c' k3 G; _
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
, h& ~# }7 [& b8 B9 D+ K- ?' s
{
: D% d; E: W; T6 t% H' j
DWORD nId;
+ I& M% j0 r5 h& S3 Y* S
int nPart;
, {5 [' }+ |, o) V- S
# H% B% M4 Q( n% A; |* N: T& [1 U4 h
ar >> nId;
- U+ r; F8 `8 t: ~) L; E
ar >> nPart;
0 C/ s) K! M; b$ M5 x, D# h. h
) k7 }- n4 `: h) B" P
if( nPart >= MAX_HUMAN_PARTS )
$ w; ?& q( C4 i, e3 V
return;
: F* s f1 ~7 \2 W
, w; T3 N) K5 C2 h, [1 a) `9 l
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ j: W" k* g" O& K, F$ c/ Y
/ u9 e$ l- d# F8 r
3 K/ b# f- \- `0 n3 f
Code:
+ ]9 @6 r& k3 Y) F5 Z% F
#ifdef __QUGET_SWAP_FIX
' \: v3 ]9 ?, N; n
6 R% D ^9 d4 R
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
3 F$ l1 d+ n2 B1 X
pUser->SetHitPoint( pUser->GetMaxHitPoint());
: W9 {6 B" `; M5 }, k1 ~
$ q F f) T; F6 V# g7 Y. j& d9 E
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
3 Y7 {1 j+ Y0 B* x
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
1 c: P! ?/ _) u6 Q
) ]. `% D0 q/ i- t5 R) B
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
$ W; i- }- S; x2 ]; O
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
- }( C8 n2 h% u! i3 ~( e
# f+ x' G- y5 u u/ B
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, T/ i; s0 u7 E* e8 ?
and add under
3 e: K6 F" t# w5 _. e
9 G1 k) S2 o) a3 d: k4 ?
Code:
% e$ b# B* X$ L) Y$ G7 c0 m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
o! p3 @+ o$ h0 ?- k
{
6 g( R2 w/ D0 L) 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 );
9 G9 l, T6 {( Y+ F+ _, ]7 c
}this
# U. t. Z$ T0 K; Q+ Z
+ L6 f, ]/ m" O, k, Q
Code:
. q5 k" ~* H/ {5 s0 ^- g9 N
#ifdef __QUGET_SWAP_FIX
: k8 K! z1 i9 x3 ~# x$ y$ v
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
5 P: w7 Z: D* f7 P- @2 A% z5 q& Y
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 k5 h' q3 y% o$ c
. g. K( y: e5 [7 k: t ], Z
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
1 `8 L6 v9 L6 H8 Z/ W0 R" M0 j9 `
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ g- g; [. h' P9 ~
$ ~& |0 ~( n# g3 @- l
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
7 p. l9 ^3 t% n2 \; L$ \- n, l; h! L$ i/ C
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
) V7 O6 T+ Y% C" N& W0 j
* i( g! a" W" l) M
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* d. z, a# i& Z1 C' T9 u* h8 C
" F4 u' g* h2 k
& p, P7 z# M9 g4 C1 H w \
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2