飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16335|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:43:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Hi I fixed the swap bug a long time ago it got tested on my server and it worked 0 r" ?7 [$ B7 W' D+ y3 B6 v
I posted this because someone kinda posted a youtube thingy about it :O." n$ @# M7 Y3 R. Q( I

0 l# G# P3 E- y; B# {Find this in DPSrv.cpp @ worldserver
7 L, x& U2 X4 R( C3 D( n! ^' E
% L* G5 w1 Q2 m. F0 d3 vCode:$ d0 v+ U* H' x( S8 T) W
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: p6 a; s; _5 R5 a. S; [+ u{
/ |7 ~8 f) o0 f; B  d" L1 E$ R        DWORD nId;; e/ I3 @- N2 o9 k$ n: ~
        int nPart;! m/ V# p! k, [& I, k
) C" u9 P5 X& M7 b5 S
        ar >> nId;
5 B% U2 T+ s& D" k5 _% |: ~4 N4 Q        ar >> nPart;               
  E# F, F7 _5 |        5 B5 ^3 L# {- L  t/ b- s- v
        if( nPart >= MAX_HUMAN_PARTS )        ' b; d6 G% W% E# `+ t
                return;) H1 A! p7 G  j4 Q& s
" u- R2 l: U1 ?( ^( s+ h
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it/ y" f& D+ o0 h8 F5 O7 L) [

- `3 g/ F2 L5 v4 ^8 L* p2 H# K* i
% q( k9 z" z, f$ G7 k  QCode:
4 G7 U- }5 T+ C1 `1 S& H' K. D#ifdef __QUGET_SWAP_FIX
: f' Q0 b, `1 u) x$ w" j0 D% M8 [& K/ P4 W5 X, w0 x9 J
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )4 y6 |* }% ?& `9 c
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());- R' x6 T" X4 F9 T* ^% t% g

1 h0 p6 e- X4 E4 \3 Y% n                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ). G3 U) m4 ^" c- C; W& N
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );0 Q2 s* N0 r# D* D2 {' R
6 ]/ h+ D* `9 u. ~: r
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ): C) R- B2 M0 A! ~0 K  s
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
7 T, `* M4 B! x9 y& D1 d  ^' u0 f% m& c
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
' t: A0 a$ Q2 m& Jand add under
+ s. d+ D. u/ P" A  C/ t( H' H1 W6 f/ \5 |( a" ^% U/ @4 U
Code:, }8 d7 K3 @# i! O5 {6 }
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
1 R, e+ [" k5 l" E* p1 y                        {2 M6 j: y; S- r+ _4 _2 _
                                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 );/ w: a% N3 @! D" k! r, c
                        }this
. F( A. e. v; ]* K" x% K! g1 h/ _9 Z* M/ \2 M+ k
Code:1 v# J8 R+ _/ Q7 r3 F: w
#ifdef __QUGET_SWAP_FIX# g1 p+ y8 j4 B/ g1 M+ [% x% B
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
& R2 N* ]2 `+ B" |; l                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());: M! F) G  o0 Y- Q# c

7 S- w* ?) f0 Y. s5 d9 ~1 j3 [                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )  H( h9 g8 F  B
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' p6 T! B# v" ]# W. p, z8 |
9 y* e" R1 v% C+ ^7 }& i* T
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
( v" A- J2 [. `7 s6 ~( o$ G7 S                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 m* _6 O# q+ _  x5 t/ O4 d/ w! J* m" T
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 5 i' P: W* m6 w

# z$ s5 B+ T- J2 y6 o) o) F+ R9 p" x' _6 U' q8 a  d

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-12-5 21:55 , Processed in 0.060206 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表