飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16964|回复: 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 & h) w7 B4 b1 u! g2 ]  B& |
I posted this because someone kinda posted a youtube thingy about it :O.6 Y3 [9 A2 B% O( ]1 s. C4 X& Z% m
. Y! ?2 u9 I: g, f1 l2 t
Find this in DPSrv.cpp @ worldserver
9 }/ d& k' W2 u- S1 E, T0 \7 z: [5 f: m$ i$ y
Code:
  {: l8 j9 B* W' [( p1 _void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
4 X; s/ }& R- I# a9 ]- X{
+ f9 z7 ~! E/ {& m; U1 |        DWORD nId;
% K$ Z' C: x1 F+ v        int nPart;% {" q9 ^- _2 T7 [* o) M

+ p8 M( M- @; N- h* t( P3 z, e        ar >> nId;
, j: z8 q3 F  `        ar >> nPart;               
4 p7 Q9 J. n: c. @$ f$ j        6 x4 E( q, Q$ L9 c
        if( nPart >= MAX_HUMAN_PARTS )       
. D8 |6 h# C3 `3 T0 q( C0 W6 b( r                return;
0 u. X  V! E  D7 e! M
0 V! L' h! Z; q3 ]/ J% W: z9 h* S        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' H6 c1 F" |+ O  F5 F( w
7 B" A) z5 M/ A) ?# l5 P" u7 E# O) \
Code:- @+ }; [' _7 x; a( |. }5 J
#ifdef __QUGET_SWAP_FIX
1 J5 C/ U# K  o# ]/ r; e. K- ?8 s) n5 x# M( I- U, N# b9 s4 I) S2 w
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )7 M0 I# m8 U/ Y  {
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) i  p: m( b# ]% g# p' `2 g, K, x( D* y

) _% L1 M, q+ p2 T* ~5 ^                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 `# B, i3 ~- A! K( C' O  ?+ @                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 a1 m* \4 s( p! a

; m: ?  B+ r# `7 R3 I6 H                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )/ L) X( w) K$ m
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 U- u; U  ~. u) G4 a& I

5 D5 x7 ^6 I7 B+ ~/ p#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp  F5 p$ ^8 C5 H2 o8 q& X' C
and add under5 q1 Z+ ~6 G+ a  F# w

5 J) Z3 t# ]4 ^- A4 GCode:4 m; x0 E4 t: B$ C
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), k( d3 ?3 h2 |* S9 }
                        {5 f. q& g1 q: H2 I  `1 Y( F4 }
                                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 );+ e: I6 f/ u6 `/ d. O
                        }this9 B6 w* x3 h/ d" D& C

& i) b$ V' x  M# {* _8 \Code:! N- s9 f0 K  o' b7 H
#ifdef __QUGET_SWAP_FIX/ s; S: z& T- C
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 F! C7 U) y8 j% R1 y  h
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: e9 c/ J# z8 h+ q
) v2 m# M- X: V) s                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )% s1 c& b% B8 x- q0 b' G
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );6 N! H# r6 q% f) A8 R
/ S7 ]/ n6 k& ]
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
" N$ _6 r6 x$ Q                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );0 p9 S2 T; I# E+ m

/ Z& g# \. ~$ C6 C& F#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ V$ T+ l  h2 g1 C; v4 ?; L$ S7 J1 Z% m2 n# W

- i' r) u# i! N! _" ^. A1 ^9 a, G4 q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 05:53 , Processed in 0.072294 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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