飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16531|回复: 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
0 F" Q8 s- N9 K; tI posted this because someone kinda posted a youtube thingy about it :O.
, ?9 `0 X6 b2 ~' T7 F$ z4 D
$ d& l, e2 Q* [# MFind this in DPSrv.cpp @ worldserver
, a, d1 L7 ~/ q+ Z9 T% R) z
. ^  j! }* v2 W8 H! pCode:( r& P7 Z) f% [- t, O) ~
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# w( f6 n1 n& [& |2 \
{( X+ i. o: o' a
        DWORD nId;
/ {! X8 z0 z/ ?+ e! _: U' c        int nPart;
6 W. V( e2 f7 w7 e$ ^
) y- ^& g% K1 @+ R0 p& s        ar >> nId;8 T! l2 ]/ _/ ^$ b6 P  b
        ar >> nPart;                7 ]& U' H3 R( Z' [% b/ B6 e
       
& E. n% O8 e* t2 |0 m3 n1 n4 ?        if( nPart >= MAX_HUMAN_PARTS )       
, Y. q3 f7 b" |1 `                return;
/ y& E+ D$ a! u. Y6 t% O2 V; h) o# K$ s$ X# `: h
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
' y( S8 s2 J5 C7 ]; F: B
) I! [" x1 W( H8 Z: D; ~% F- }4 J* t/ \5 x9 R
Code:
6 C+ }% C+ A. k0 O#ifdef __QUGET_SWAP_FIX1 J  @' `4 O# n2 ?" V, {/ G+ j/ a. b

: V- `. ~7 J2 g3 X4 \                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& R- u0 R- Z. j4 @" [" e$ B, B& [8 P                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());0 h& ]2 K2 ?/ q  z6 w+ @: p
6 j% i0 }, v4 P8 y8 U; D8 ^
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. b  E; ?* V& L! d( a                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );4 U7 m  N3 C$ h- Q8 l- J) ?
$ X& i+ k- N3 h' [: X
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ), I$ t9 Y9 @  L
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) H3 j7 o4 C8 ~) n, P
% l# J. o2 O# {$ @! b  P
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
1 P5 G' l" a# wand add under2 y+ e# b" ^% ]! _! n3 p

% H! i8 T' @2 H% h; I, ?2 ICode:5 `) w  p" {, @6 C$ g) B' t& e
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )4 \' E; }. |# A
                        {- y: ~; L4 G3 ~: }) _$ ~
                                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 );
6 D1 y$ Q. ~5 {1 h* C& P                        }this
! W- R% }4 C" A3 x; _* Z! e; G2 s6 ^1 e0 \1 a
Code:3 M" Y3 Y1 o3 L+ O  `& Z' h
#ifdef __QUGET_SWAP_FIX
# _4 M: D! c1 `# \0 g                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
, C6 r5 d9 K+ D& ~2 {4 w" W+ `                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 G8 q5 ]& H- S! \6 R. x

0 W' ]* b. X: h2 m+ `                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 p2 w0 X' b$ ^" f$ l4 _- K% h' j                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ e1 m2 T" W3 a6 W. N, b
0 x$ n# C1 A0 c  t) I* V                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
3 S+ ~% K8 Q4 r$ T8 h8 \                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
+ g2 z4 a! m% Z& M6 H% k# ~
) R/ E& |6 a( s8 I7 x+ }( p' j# N( @#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 E* V0 u  |# _9 c+ {" m/ A

, e$ Z' N6 j; F2 t. ^+ f
) w; D# Z+ O( i3 Z

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-18 04:55 , Processed in 0.064924 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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