飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16169|回复: 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
4 C) t( U% M9 t0 sI posted this because someone kinda posted a youtube thingy about it :O.
% ^2 f) |8 D0 M8 D8 ?2 e, s. S1 t! i. `
Find this in DPSrv.cpp @ worldserver
" l" M+ o, _8 ~, k! L8 t8 l$ A2 c7 b4 r' s8 q* h
Code:
1 A# H/ n# e" P9 lvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
' `7 E' e8 V/ C0 a5 Y, w$ t: o( Y+ m{
% f+ e; U2 h' E        DWORD nId;
8 `0 i; _' s6 R        int nPart;
9 p# M! x8 d( i' ?/ ~' ]8 W
9 h# F7 W  |. X        ar >> nId;
# @5 h: S0 F& v% ]4 O0 L5 E2 P6 p. x        ar >> nPart;               
+ n+ ?! D6 K6 K4 A        ' i9 E+ v% z3 k& A: C: j0 ]( q% C
        if( nPart >= MAX_HUMAN_PARTS )       
9 ]& ~# \4 e+ w" i                return;" P8 W' ]% F' O3 T1 v& D3 R
: @# T$ l. w) m  _
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it# u$ ~/ V% g! u0 d1 J4 Z  c
% @% P+ B0 H3 [# n0 `
$ K; d0 z( Y  y; R
Code:
& |5 L5 ~& F+ m$ \% \#ifdef __QUGET_SWAP_FIX. U% j% l0 q/ m4 A# Y

$ ~. ~  J7 n3 F% i                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 i: ]: E6 T* T# j9 n5 L% v2 x; V
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% s" r0 D) _. X5 U- }1 U: F' ~. ^7 X# g2 Q7 ~
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )) c* u7 c( x. d, e
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
( b/ \; {) e1 B9 _5 {5 }5 l* q" _
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )3 P: [& W1 @2 z1 t* s
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );9 Q9 R4 Q- [' R  N( L/ o( M* t

% u8 ?% W- I" Q- ~0 k#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, w6 ?# Z/ J: W' @+ gand add under, ]* r. g# E' {! e3 `: q
# N  I" r3 b- t7 Z8 t3 G1 T
Code:8 }. d& A+ t6 [. ]! [
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )2 B: @. R! ?# _$ l; }
                        {- G1 W! l3 E% |6 R
                                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 );
' R; P' V& Q! _1 i6 j7 ]. t; J; T+ F                        }this
5 ]' b# S2 m% P6 X2 w4 M* ]$ `! @: n0 D  o8 H0 \- v
Code:# F# R; Y& B/ p# F
#ifdef __QUGET_SWAP_FIX
: E% ?8 N/ l: S$ j$ V3 s7 I9 X. k                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
3 C# z( W$ g# b                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());. X+ |$ l6 {' K9 i5 I
# ~& g  {; m% x& J( K
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )6 W3 Y" S8 V1 n
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 k! [9 I2 U. S) S8 O7 I5 p  Y+ S* p8 y
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )5 @* K# s$ ?0 q1 J: d" n
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
: M% Q6 S1 E9 p, ]1 b6 X# {
5 u; D) A# G- ^! `! C; ?#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; P$ u# A/ A! W0 P. @; b
2 J) d; T# H$ h0 C( k% C8 J; U
, [5 P; c. D; M) c

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-22 00:57 , Processed in 0.097069 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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