飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
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 * m1 q. j7 ]2 M
I posted this because someone kinda posted a youtube thingy about it :O.4 z% S8 i1 x" q' c" |2 e

* u( r3 H: H7 k: {Find this in DPSrv.cpp @ worldserver: ~3 U. l8 i  i& v9 R
6 w$ n3 ~! k1 G& P4 b+ j
Code:2 J" K6 Y  ]. H* t, j1 }/ O' T
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
: v# {3 L5 a$ v+ f{
& Y- x0 I+ u0 C) `2 s        DWORD nId;8 x* ]! M* k- I6 P( P& f1 v
        int nPart;
/ b! E0 R* w# |% D' y8 u2 R/ a/ C5 {: `0 j# l! L! y
        ar >> nId;$ d; E$ k/ }$ _3 [. t6 x% p
        ar >> nPart;               
) U' `' L. L6 P8 ^. P       
$ l8 D* d' w% l7 x, _        if( nPart >= MAX_HUMAN_PARTS )       
# k/ v8 K7 U3 D( C$ f; i& ~- l                return;7 x  C1 Q. g3 s( Y, Z9 z* W4 T

6 I3 Z+ A" \% C5 p        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 W- S* b3 P* E- ~6 }7 ]
2 ^; }$ r! N3 D. k. T

' c- E8 [) g# X0 c; B/ f% fCode:- N) I5 `1 @0 A4 {) M# W2 v# t; T
#ifdef __QUGET_SWAP_FIX
6 v% t- T) w3 `  x9 Z6 W' U; x* ^$ V( m4 u+ M
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ); K' ?% I/ W& `# N# {% q/ H
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());8 T4 w6 G( Q# S

" ?* b: e$ y# m( {4 N- b! x8 W' Y                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 E: b4 ?, s3 p4 f, W: j- Q                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );6 x& l, ^( f  n; T4 A% o

7 c# a# K" a; J2 [# E2 q) h' Z                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
3 s( D  p  O! J( N/ g0 k0 a                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. o2 n5 [# W, L! D9 m* X
7 ^% N. }4 I. y- ]
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
! [' p& ]: x# b. f% U" _3 J) }and add under! j; q$ u2 d. g, Y5 w: X- x

: n- ?1 o8 \# G' J: ^5 ^3 y6 k, hCode:
% M) h0 z. t# s% pif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
2 ~  J; R8 R& V0 u0 s+ I# D$ A                        {
) }' F% a1 t( v+ D' ?                                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 );
2 ^4 Q: l& X. j% T5 W                        }this
4 n% ?$ I. {# o2 Z# P" Z7 j2 I$ L# L: O6 b5 p, P
Code:
6 }3 o0 H7 k+ H" `# q  z: r) t#ifdef __QUGET_SWAP_FIX
* i; ]5 l, P. T9 ^5 W* Y                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )8 o/ W* R+ P- ]" ^- E* V
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());  q  A8 \. @  y8 K# M+ H; P

, T& m/ X" ?$ r, ?                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
1 h6 z9 Z7 l0 o) N* z                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
# g  C. H1 C- Q. B* ?0 F* I. X0 f1 ~2 T1 I7 X( K
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
4 A0 Y  q' W! v$ r4 n% {# ^                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
' q  G, T! c! K* j+ ?
+ U- x! h# Q% e; O#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: Q( q+ u1 I+ ?- Y+ t3 M2 A9 w" g+ K% j3 E+ L. @
3 U! ~3 U  M+ B: y1 t

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-18 16:05 , Processed in 0.069541 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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