飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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
1 \* s7 j1 k3 I+ I9 ~I posted this because someone kinda posted a youtube thingy about it :O.
8 _# k# x! W6 x5 Q3 ?* T$ b
9 H3 m8 |! {: X* }+ mFind this in DPSrv.cpp @ worldserver+ I0 v  \. k5 X' O/ c* @4 }, b+ {. e

7 d5 o. _5 V8 S- c. ~& y" M& YCode:
9 ^: \$ t) F; X+ Rvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) j3 F6 i. q- Y* r) s4 t{
% n7 i5 L6 }; ]& u6 o7 W8 [8 ^        DWORD nId;
- l& b* W# M" D! I- L4 {1 [* ]        int nPart;8 P5 p$ E) {: {
, Q" c4 [- T  x( V
        ar >> nId;) |; a- _5 c1 m: X0 n2 y- [
        ar >> nPart;               
% W1 R; A! h% J2 g) e          W( W% I: N& |4 R2 E3 _
        if( nPart >= MAX_HUMAN_PARTS )       
1 i2 q% R" S) b3 g" f                return;) J" J- `7 V% F

' U* v2 e  t. f+ m        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it8 `) s$ l) f0 z9 x
# `6 _2 l: D$ ]
# Q" Z8 I4 n3 p
Code:! d' W+ X* k$ U6 w+ d' U
#ifdef __QUGET_SWAP_FIX3 i( g, }5 i2 ^/ y9 B7 `
6 g7 N6 ]7 s; A# m/ j  q
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 ?# K, T8 ^  _& B; K; s3 f3 l2 x1 ]                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; m+ g! k( J( K. F: f+ T3 b
4 v. P7 W( i; W1 ~( m
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )7 S0 ]% ^( z5 i; a) x9 x
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );2 i! {5 q: u' N$ C* K

9 Z: n" E4 V: u' e  F0 x                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )6 C% B' l1 R( c" O
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
5 D8 v3 r/ i" R6 S, R' n
  T& Y9 Z8 z( r1 t, S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
# J, A) ]7 @, `' I9 [* Rand add under, q$ A% e4 N0 q0 i3 q1 i  g1 W5 v

) G5 E& V+ b  j' M# J) b) eCode:
! s7 z1 x) \% b2 g+ I5 o1 L7 Z* u4 }. j1 wif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& }/ Y" B+ x/ }; X& A5 t- v
                        {
& C' a# ~& X( s' Q& w4 h: E                                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 );1 {1 n* T: H. l7 J0 `8 ?# A& p
                        }this# A6 T. O# p; s
# y# g: t* E% }! k
Code:" C" H6 e  ~0 L  a4 k
#ifdef __QUGET_SWAP_FIX
1 K( Y& a' L" D. I2 S                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& ?( Q# G" K7 E. W) k
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 E4 ^( Y* ~3 V4 W
; ^* L/ y$ L3 p3 ?, E4 h
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- T( K( O+ F% }# n2 s/ U
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
6 u8 q: K  o" k3 @" X( b% ]' o! C" d
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
4 F9 }3 c9 W' E. K; g! |& F% _                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' f1 U! K; t4 C* h' n2 A

9 r. z5 B# t/ z1 B1 Z+ Z#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: Z) Q/ x% X0 n$ M' b" `( }
& L1 ^' F" I( E7 D. E" U  Q3 }( }1 h; t  u. T. \+ V

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 07:39 , Processed in 0.075195 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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