飞飞世界论坛
标题:
修复交换错误
[打印本页]
作者:
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
+ _' s- a$ T- e: o4 v' U
I posted this because someone kinda posted a youtube thingy about it :O.
; ~. t! }: h9 O7 R. K W
% K0 G: c! V* D+ l+ _9 B. z) w
Find this in DPSrv.cpp @ worldserver
" J4 g7 ]" N. ^- X% y/ I, q
3 F4 L9 P+ F* [; f! t* z
Code:
, ~$ a4 ? j% J
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 h* _ V% s& }4 r! M$ S
{
- s; Q* s; N# E7 t# @8 B0 K3 w# n
DWORD nId;
% t' n& t" j( l+ V3 `! r
int nPart;
; M3 l6 T9 l. R* a9 m
]) j4 n" H7 y( C6 e6 t* f7 g- x$ X6 _
ar >> nId;
, l6 K1 R( i! _" L. v. c0 @
ar >> nPart;
9 G. J8 y; V" H9 ~* a- ^
- g& A# G, Y* Y% v
if( nPart >= MAX_HUMAN_PARTS )
I; q0 W2 ?) K3 G0 P
return;
$ [, D( [* y3 _/ u
4 ?+ `) ]4 O4 d+ \5 P
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
8 @ p9 T" L: U$ x: P
( L5 @; A3 \. w
) t5 ]8 H X4 f% T# Y6 P
Code:
4 U: `/ U7 K/ c; R9 B& Z' h
#ifdef __QUGET_SWAP_FIX
# v4 C# F5 R0 _% j
& o: ?1 w5 w# [) {
if( pUser->GetHitPoint() > pUser->GetMaxHitPoint() )
0 i1 {6 m( j. n8 I
pUser->SetHitPoint( pUser->GetMaxHitPoint());
3 v" M Z. j# t2 i6 x: G1 v
; k/ i6 O L& M$ i
if( pUser->GetManaPoint() > pUser->GetMaxManaPoint() )
/ l* ~1 A }0 t. }, i
pUser->SetManaPoint( pUser->GetMaxManaPoint() );
y( F3 ?' f- v( K; \
9 y' q. x% A6 G
if( pUser->GetFatiguePoint() > pUser->GetMaxFatiguePoint() )
. v6 y* g9 ]8 u# u
pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
/ z7 q" n5 X& m9 A$ \6 }
2 y' N! e" f5 `1 f
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
+ Y& a% V: x0 w1 o: @3 ~) x4 O* e
and add under
% d: D* W+ z/ B0 x w7 v
% U: T' p9 D1 e7 G
Code:
( ~% u2 L+ G8 a2 o! E4 t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
, ]- ]2 n! E7 k
{
I. }' e* |6 {- q% l: w2 _
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 );
7 c+ U5 z+ K! t$ g2 \1 c
}this
0 u+ c) T4 `" D' o/ x0 t
* L( Y4 v8 q4 h- W; c" Y/ N) N6 l
Code:
# Q6 J" {( Y- Y* b" M
#ifdef __QUGET_SWAP_FIX
; J$ ?6 F0 j" D
if( pPlayer->GetHitPoint() > pPlayer->GetMaxHitPoint() )
. ~3 ~5 b, d9 g0 P5 V
pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
# C& Z3 C* f+ _5 f- H* l K" b, J
1 q$ N( ], c$ l0 H" G
if( pPlayer->GetManaPoint() > pPlayer->GetMaxManaPoint() )
* `1 X3 R7 F# P: K
pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- x; {0 u7 ~+ U. F; O$ n+ F3 B
4 m7 B& n6 X, i% L' B; t% |( x
if( pPlayer->GetFatiguePoint() > pPlayer->GetMaxFatiguePoint() )
% ~$ n% r9 j* s/ j/ o
pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 L6 a+ K3 d7 K7 i
7 J' G9 p2 H% v" @7 p6 q$ Z" h/ O: S
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 o- x# M6 X1 o+ D8 K: L* \: d: I
% [8 F1 O" _* p" p
% S$ T4 E" J1 y4 i. W: g4 ~2 a! U4 t
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2