飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16530|回复: 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
% d2 C# @$ ]& g' `I posted this because someone kinda posted a youtube thingy about it :O.
" f; s( f/ p. A9 e. W& [8 |( k# i4 ?: d4 l) M4 }
Find this in DPSrv.cpp @ worldserver: A, S$ E/ \) \6 F4 R# m% a, c

% G* G9 K" n0 j3 Q. MCode:, K3 q5 E5 p' K  d: f2 x* f
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
' d; S+ g) }! `7 }" w, U{
: y- l6 Q& b5 N        DWORD nId;) V5 W- \% T# Z$ @
        int nPart;
( V8 }  f; s# b. {* @. E6 ?; W% l! J( z7 O0 G$ b- k
        ar >> nId;
: i* ~" n4 \$ Q; O" X+ ]6 q        ar >> nPart;               
! m. h: h6 n  \6 O! O        8 `9 ]7 H, f  E. S  d
        if( nPart >= MAX_HUMAN_PARTS )        ; L; V# H, f/ f; G' q2 k* Q
                return;* Y4 |. n7 g) q* K, @& T( ~

0 c+ U. Y5 L- P2 W# \9 y        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
4 I: j% W$ n# c  `+ k( \4 r8 E0 F- D1 X" A1 M

6 B  n. g; A" l# V: ~Code:3 R: ^: w) M8 k1 Y
#ifdef __QUGET_SWAP_FIX
2 ~3 c6 C/ ^2 p& B7 o1 W( F) w
& k/ h* U1 b  u3 Z/ I                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
' B7 j, l, [$ W+ E: F                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());, }5 [: h3 _$ Y$ b

$ q8 S' s) `. T4 w( Z& ]0 I& M                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
% l9 b1 Y* H/ D) L0 h% U                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 L9 I' ~3 W& G  F

; T7 B3 `# o$ z5 w                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )* l. ~- A- Q. p8 V/ r) w
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
. ?' t4 ?' M, l0 I9 u5 y9 ]9 v: K8 P& E! U; ]5 d/ V7 S# M% l
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; n( G, @! R$ _# uand add under( H: x3 H2 ~' J" I8 E' t' b7 [8 U5 \% @
0 y% k3 _' o  ^, J3 {
Code:
; [( }3 D1 [( [, D+ I7 Nif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 }/ j7 `: U* ~: v+ h0 N                        {
% k: k5 v0 a8 Z& ~  d0 r6 p8 I4 b2 j                                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 );! P/ I9 f7 ?& ?. H& T
                        }this
+ C; \7 H* `: w( N+ I
3 i# ?# ?3 e& v& |7 q, RCode:' f# K. v+ [) u8 r( z: ]+ ~) Q, D
#ifdef __QUGET_SWAP_FIX
1 `; v' d2 t% ?                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
- I( q9 J  A& y3 n& z; ^  Y                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());+ A* e) O. g: o

( X1 B4 \5 B' o/ P0 R/ `                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )8 J, O$ q$ T' |! c/ Z
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
8 C; b3 A. y' |# J) S% N
2 L2 V. b$ y6 T% e; G, A                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 E& v7 x$ d+ n( _9 X                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 [1 \; K5 R; Y2 i: g
0 v/ r! B. D% @* G0 u" j; H  o- R) I#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
1 ~1 a8 {7 {- v6 t+ S" D
; w% r  w# ]$ `" W
+ @' V+ u  v& |/ U" y# r

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-18 01:50 , Processed in 0.088452 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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