飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16848|回复: 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 6 r% _- y' j2 R/ g  [$ e
I posted this because someone kinda posted a youtube thingy about it :O." `0 b' N7 u3 j' _

0 g; y+ o) V6 m6 ?) ]9 B2 c6 B7 SFind this in DPSrv.cpp @ worldserver9 L: w1 u1 R# i" M( t5 y

  g$ J5 F3 Z- d4 y" YCode:. }2 T0 V: m9 t5 [/ t2 M* J
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
7 R3 l8 I% O# t/ y/ ?: B0 s$ \{
2 M0 c7 ~& ?/ Z+ [& b( ?1 Q, ]" D6 l8 P        DWORD nId;2 [4 M1 u3 v* @) b' c, ?  o
        int nPart;& T/ l6 d+ [/ y, z7 Q
" w' G  [# k# z4 d# F1 s5 N# o8 C3 u
        ar >> nId;
3 T: P5 [6 g8 T. m6 J        ar >> nPart;               
, Q' H  p5 f+ [% I9 c        4 K! I2 I. {1 E# x* k
        if( nPart >= MAX_HUMAN_PARTS )        # i- U2 x& x3 y4 \+ G
                return;
5 z" j+ n& N/ H* u. |
6 N, y+ [- k9 ]6 {  D+ Q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it! _) H, V9 S4 o! v/ ]' F

$ F# X( N) ]" ~* h9 Q/ q5 B0 ^* \) \- d, }
Code:9 V  C# [. l$ W8 }3 p8 ^% V2 `7 J& d
#ifdef __QUGET_SWAP_FIX# n  m( f9 d4 p8 x/ U; u  C5 n% u

7 u" t& b. E8 y# H5 ~                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ B9 W& p  k. Y$ b! D
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
* ^& b/ l# r; D0 E1 q
- l, Z( A, Y+ J+ i- _                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ A7 o8 x5 W# M" b8 c' @1 p. ^2 e: o                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
' t" H8 W. k% d" j! ]/ A2 @( j
  a) t- E  X6 d0 c# p; R- M8 e                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ): z" ~( `2 v2 m! U
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );, `7 X4 @' n$ h: g( x

, ?. y/ u/ q* r/ D. D6 e" {6 W1 w#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp% d1 G' ~+ @' g. t& O9 G
and add under
& E! k( e  Y# i5 a. O4 C
& j9 D: `1 X& d# HCode:
, p" J2 o# ^6 F/ o% X) M# Sif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )3 k- K! m$ d: \. ~$ a# R- ?: g
                        {  K  v8 D# m9 S
                                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 );
) a8 b6 R- ]! E$ ]5 N3 v) {                        }this
" [, s$ r  T& o5 n2 D0 z. ?& i& Q4 q0 D" C$ d
Code:
# t8 R6 t( F& c- p+ U& Q  i#ifdef __QUGET_SWAP_FIX2 C) w. B( z+ N
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 C2 u% o8 {/ g                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
7 ~5 Q2 f9 A$ Z! Q, L
4 B" s. x) s( F                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )1 C4 Z8 f; ?, r8 D" X' s  Q
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 E+ W5 y( \: U3 P# Y2 D& c5 M# d( G7 Z8 A* F3 Y: }& F+ `
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
6 i8 W* r+ @, h( S, q                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
  L: J& m* S0 g5 R- V8 G: t
6 m6 I. c( G; z" r: |* S6 g) s#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . P4 G) E: E  z% g& x

2 {: v7 ^3 B. O1 k/ h! Y/ p$ a
7 s6 z9 g  q2 o" I# x, Z0 j

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 09:34 , Processed in 0.077219 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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