飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17064|回复: 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 3 O# `1 ~0 P. n
I posted this because someone kinda posted a youtube thingy about it :O.
% j- z& X) y6 ^* W& T' A
2 G: }8 t/ q' }* }/ qFind this in DPSrv.cpp @ worldserver
" v* G8 v/ y: F* J8 M2 ]' K% v
0 B! U" K% v2 Q7 FCode:* A8 j# \6 I# a# v; G
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: K0 V- Z* d& i{# D! M4 H) }" c2 _
        DWORD nId;
  l3 @( \: f7 S% M% w        int nPart;: C! j+ S) m+ n' [' y% z

4 c6 l: g/ S9 ^* n. I2 Q, E* `) U! p        ar >> nId;, g; S6 I7 c" J" O" U! Z
        ar >> nPart;               
0 l) \; d* v- X+ y5 S( h8 \  F       
9 h7 _- F( W/ H3 [6 G        if( nPart >= MAX_HUMAN_PARTS )        - v  ^& Z% q, }8 n# O
                return;
# n7 ^. ^: Q; z: q! ?6 x6 @! N: W" a6 M8 A
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it3 j6 g, R3 e3 G9 z5 U" q

$ A2 @1 `5 \5 J9 k, b5 A8 c9 f3 v+ O. ]( ~& L2 B) U' \/ B& Z
Code:, w- v3 P* j. P! ~1 S
#ifdef __QUGET_SWAP_FIX6 d. E9 u% K! \% {+ s  T; `* ~6 t
' Q6 ?% m& w2 R- x! j
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 E6 ?& u6 P  w& D/ U
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
9 w* p1 a( k& l+ a
, m1 H+ h6 k2 V8 u4 Q                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 _  S3 J6 @% G' x                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );  P, `; b$ @7 r$ k5 ]. w- I

% p0 C2 h5 z$ @' i                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
& b$ |7 V' R3 W; y                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );" h6 ]7 S% G" K; E& w! s. @

9 T( _) A' C* H% [' d#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp: z+ U1 F( l6 ?+ F' x2 j1 r2 g
and add under
- C6 S9 E. a" K, f8 I- U% U& D  Q( }1 S5 w! e# u
Code:
. N7 g! u0 p  Y, `if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& j7 J' {% i  c/ p* }- m8 V
                        {
5 P+ M. a9 X4 q" Z/ z                                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 K7 u. R. E: T; x4 w* \6 w
                        }this
- o4 ?1 l/ z9 E7 t( o. ]
$ K, C) O. g: P& h/ G$ G1 {6 F6 \2 {6 ?Code:
* k1 q) h) W: l( |4 f5 h#ifdef __QUGET_SWAP_FIX0 x0 V' ?' i! B8 g, C7 N
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )% _. q- d: j) l2 j% X% ?
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());' d6 W2 J3 Z. ]! k) Q1 e

; P  T$ V! P3 f# Z3 `- d                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
  {! Z- ~2 U* m$ {                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
( ]2 e, m$ U: N6 u
: o+ y; l* y3 `& E4 \( |, X                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )# j6 n0 {& c2 _' u9 i; l
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 J6 U' f% p1 _" d& i: ~! H7 Q3 f* }  l. L# z$ S: u! A( j
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 u0 U/ b! \, ~4 g! y* C3 M
! q0 j" Q3 Z1 x+ M9 a7 k9 @

& k4 ]- r) O1 R  [, i

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 09:21 , Processed in 0.060345 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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