飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16978|回复: 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
& v& G( {  `# Y2 Z; `. [5 XI posted this because someone kinda posted a youtube thingy about it :O.6 J; `, N1 Y# m3 I9 y

# c9 G! I5 m1 g  X4 ~9 XFind this in DPSrv.cpp @ worldserver& K# h; [1 |  T, y+ x, Z  g: u4 E
- z1 r4 G) m2 I" t' s8 r
Code:
  X7 N: L: t! g/ t$ v8 B* v# {void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: C9 k, n  {+ g( c1 X{
3 a( C' K5 Y! H: z( H1 p2 B+ ^  i        DWORD nId;+ A' D5 ^9 r" K" Z( z
        int nPart;# s% ?/ E  F" N; T9 F/ Q+ W

7 g# y, s! G8 k7 p6 ]4 m6 a: Y        ar >> nId;, g: ~0 P* E3 A, I
        ar >> nPart;                2 V  |9 ^& A1 P" ~2 L
       
7 g6 _, c2 A/ P- {' K' {! E, W        if( nPart >= MAX_HUMAN_PARTS )       
) B2 ~! y, R  @- I) s+ n                return;4 A( A; l, i! h( ]7 C: Y2 A
) a" y& t2 t3 x7 V. w. [# Q- P7 q
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ Y# N  S2 T3 F3 v5 h# x! b, w* V& B- D  k) K. M
; U( v# |. l! k- v
Code:
, s, F2 s4 R+ w' f4 I+ M#ifdef __QUGET_SWAP_FIX3 m7 N3 ]* ^7 F- O% x- I  j
* n% i( z0 T- W' W
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )( S( e0 w! `4 {
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());& I  S1 S! Q/ S0 m0 W

; W3 U+ v3 j' w7 v1 u' S: i                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
$ D) m: g: c* V  O! ^( x                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 h) T! j' [: e; J) v
4 Q1 N( ]0 D4 E& K' t8 K' F
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" l9 y  }3 p! A* L$ Y
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 w$ ~8 [0 D# S" N! c

% t! O8 {* X+ M7 E, a/ S' I5 K#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 B+ G) Q2 w2 ~# z5 p' w$ Eand add under; a  W8 l& S" R7 G. l

2 Q4 F1 u3 k3 ^+ t6 gCode:
! z/ l  c6 ]+ S% oif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 f& ~1 l, Q: H+ S; |) x
                        {3 ~* {9 Z$ j8 S$ T* e6 K
                                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 );
: D" n' q: S" i$ ?' G; x4 B! e* ~  I, q( @                        }this
( Q, o+ v/ _9 ?# S4 h- q3 U: d8 @. O& K
Code:7 z6 z- T. Y$ {2 ?
#ifdef __QUGET_SWAP_FIX+ ?0 h! o5 ^, H. }) ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& g+ K& c3 o* u5 C% |% |. j
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());3 c! l$ j8 ~" i- y) I: e2 ~

' c1 c/ K8 k$ F. P                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
8 [4 C; C9 n+ [, S+ ~; o$ f                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
& M  L. u3 L+ i/ E* C0 h2 @. o" p4 F# S! K1 w/ h+ _- K: \
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
) ~2 o& \5 J1 h3 M                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& \) n" Y: X# k  r3 I/ [8 c0 n& ]8 s7 T4 G
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
  R, m. _6 m/ X% o4 n- I7 [) O1 z/ e& u6 L1 Q% K& V
8 d0 }) v- P# w& K. {: x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 02:23 , Processed in 0.061034 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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