飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16830|回复: 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 $ U) a3 y8 {& t9 L$ X. E
I posted this because someone kinda posted a youtube thingy about it :O.
0 \1 L% b' S! q8 q, ^6 o% l, W- i7 S, M$ u# U
Find this in DPSrv.cpp @ worldserver
1 B! O+ H- U  F; C+ Q4 C5 F4 W$ Q6 }1 L: t
Code:9 E8 }+ w4 v* M8 Z8 W- o2 h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
6 V# Q! l# ]9 Z& S( Q{' m2 s7 H0 @  g9 Y$ i- }& o1 H
        DWORD nId;( w$ _+ O. o6 Z7 c# c/ e
        int nPart;
& x7 p1 u' }, \0 [$ }" ]6 ^8 Q, l
- G6 _% I' o. m7 D) q. S        ar >> nId;: S6 b: p- u. h) T, S3 F9 x
        ar >> nPart;               
5 q; \" c/ Z. c        ; D$ E8 u. R. l+ C+ j2 B9 c1 U
        if( nPart >= MAX_HUMAN_PARTS )       
9 o* j  N. Q$ c3 Z( o                return;3 x$ ?7 A2 r# Z; G  l
0 u( ?6 \7 I& R% I/ w% O3 g( U# B
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
( O& ?5 i% I% i- I% |1 `/ c6 y
! B: d2 q6 a: ?2 D8 t3 N& f
3 W/ h$ u; T- P: ~2 h7 ~  {Code:0 R1 C" t, E% ]. m: r; c3 K
#ifdef __QUGET_SWAP_FIX% u# m1 O4 W. ?" a3 z! l2 J! o
  o5 d& t% D9 L9 |+ |9 A
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" g' W9 w6 ^0 X. I
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
4 F& O5 F& B1 d7 V: C  W4 h' a1 ~5 a- n
( Z2 @7 ^% ?( T$ j- g& K                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
  b7 Q7 U+ Z* `9 i                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 H' v+ x" c/ W: t$ f# F, ]

% Z4 S* h7 y5 w3 L- v0 Z. {/ N( G: j                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
( R" ?' v; l' @: j$ n                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ i- Q! r0 u2 Q1 ~7 i0 K. b$ g! O% _/ ?& O. q
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
7 x+ a  j' `% u2 [) ]and add under: }& N; Q! [4 e1 `  J' _

- n# u! @- }4 @' S5 t/ ~  LCode:
7 Y. b3 i" S4 j5 `% T! e/ @, Lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )7 N: \  j8 h- s
                        {( J+ t) Z4 N! u" |+ D- |2 O0 f
                                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 );
/ f. q2 S+ R2 I3 ]6 p                        }this/ r  X' l; f- e8 I; a; Z  T% @

+ }" S& m# U. n1 c. G  r6 a6 T+ n- {Code:
! T% }8 }9 t. C8 a#ifdef __QUGET_SWAP_FIX( E3 W+ h  Q, ~* ^% T
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 P9 k7 ?4 f2 [+ I/ X
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* k% m7 l3 Z$ U4 b4 x
1 e" _4 j6 I! I, p% `& i                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- F; c6 b" P7 C6 u" P3 e' [
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );# Q1 F7 ^1 s' P/ U
  }2 i: t3 C2 k' M2 m5 I! [" |
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ). E" ^! e9 {' A1 y5 |
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
. N" B4 E9 e, P6 I9 {& H
% Y) {2 X) K4 e2 p#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 g6 Y! G- M+ e+ M! G5 V( S8 |  I$ g2 W
# e7 t  Y& D0 n% u

, l/ i3 ^1 D6 z6 @6 H( S

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-3 17:25 , Processed in 0.073977 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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