飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16303|回复: 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 p/ ]% M1 {5 c6 i
I posted this because someone kinda posted a youtube thingy about it :O.* ?* f- a6 p% F' ^/ O
8 S' V  M! h; [2 E5 R. C
Find this in DPSrv.cpp @ worldserver
6 B7 U8 p# m/ ?( ?# R; V( s, d/ b
- b. X2 l$ D7 \7 nCode:
: u% a+ N* q7 g2 dvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
3 _+ t4 r( N. f3 l# }( P0 C: x  i6 @{+ m9 q0 C' B: b2 S4 M
        DWORD nId;
! L1 C  d8 @/ M; W- o: w  [. I        int nPart;9 I& e1 ?, n: `$ X3 F
3 d. T/ }$ B5 v
        ar >> nId;
' c5 b( J4 C8 X: A  S        ar >> nPart;                # m8 ~4 b+ x. y" p% T3 p+ r
       
/ ?9 B/ v) q% B1 ^4 q  ?3 i        if( nPart >= MAX_HUMAN_PARTS )       
/ L# b, r. c7 s2 M                return;: c! y2 L0 d0 }

+ F' K, c6 U% h2 G( z/ p0 C+ d        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it5 h0 o$ I) Q2 ?- P( r8 {

# O: b6 {# f1 K3 z+ s* }$ A/ w$ G/ C3 {
Code:
9 ]. S7 }4 f+ F#ifdef __QUGET_SWAP_FIX
) d' C0 s- U, T- O
6 d6 J, e' r; b( L                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )" _$ H7 Z4 B" l, h
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
3 L: f  _+ Z$ ^& f  c: z- y! E: ^& v* [9 x& ~) g
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )1 M. R0 b4 ]- y9 J* j
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 a$ U, k- q( B& k8 k- ^8 W( q4 _) d& N8 b! O7 R# p5 U. @
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
9 b; |8 C% F9 R9 S                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 j' H8 ^9 a& [  q  @
( F6 C! _  J- G5 Z' E4 W
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 ]* P" k' D" a" J; v. Q
and add under
4 U7 E+ A8 o  C' y6 W" b
- B. e, L4 Z) a  }  z6 {7 K! ]Code:/ S4 f& s6 w2 n: n  I
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
" q( y1 `2 Q" v/ f2 j; {                        {# E9 I8 K0 K4 x5 S$ B
                                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 );
! Q4 {* w7 P1 l- j$ q                        }this0 I# n1 O  u7 ^4 {: ^, V

* n5 ~* J) O  W% b2 \: _Code:
' v; v1 q* [" }9 g) C* b#ifdef __QUGET_SWAP_FIX
% K+ r) i6 Y# B8 ~7 ]4 F                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )$ X: N3 L( f: T$ c' \- i
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());& \# Q. J1 D9 ~. u1 W

; R3 d5 V+ c3 R7 {. a( h3 `1 m                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
3 ]2 K& y; g& s8 r0 v4 B2 u                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) X% r( U8 \+ Z  m/ J

) f8 T0 W; n9 t! t: \1 f                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )0 Z  h. C$ p5 `! f: n
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
* b6 Y+ X% Y* t0 y1 N4 }; H  X0 z: ^9 a' s, L! J5 ?7 ]# F
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
$ B) q, {5 h+ r( T6 v3 \* O" I/ G- f( Q

. j; O. }& f( ~3 ~+ K1 U

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 22:46 , Processed in 0.057598 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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