飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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
* f* v# {9 h2 R/ C, t; _/ cI posted this because someone kinda posted a youtube thingy about it :O.
% g& F0 Z2 O( j
" z- a3 N0 z7 ?2 MFind this in DPSrv.cpp @ worldserver
9 U" Q$ a8 z' X% F$ m; n0 i4 r1 \  ^: T! X& F
Code:
& R- e; c# ~; f: d0 w0 T5 ?0 nvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 a5 t6 U6 }% [
{& H1 F9 s" \  ^! H9 {$ i/ G/ P' s
        DWORD nId;
( e, U0 ]0 F9 l8 |# S+ ]        int nPart;4 w  I7 y* ~* r% E
/ V& ?* [+ J! t& W9 x. f
        ar >> nId;
, E* L! S, `; r* F- E1 Q4 q% F        ar >> nPart;               
  ~# z) z/ V- x, ^  G, |- o" R        " u' c  V# @' O# m
        if( nPart >= MAX_HUMAN_PARTS )        + ~2 v9 `+ T' [4 |
                return;' g$ J# k+ y7 Q  v/ [/ T1 E4 V
: c' M4 W+ z9 [$ R. f
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# f* q8 X5 `$ z$ L  [- w) U& s! k% j: _" W5 l$ }- T2 C! q
- K+ r+ Y* f5 g' P2 P
Code:8 o7 `$ O8 Z& z$ l4 F  r
#ifdef __QUGET_SWAP_FIX; o# C3 Q" d4 k9 d

) \' i& G% `5 k' I                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
2 V- V& X: D( k                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
+ o; }* `% g; O+ ?4 e* \2 \& Z% p4 k) ?1 e7 j4 G) k
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ J! O( P- m+ {# a4 z2 u% x
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );3 g2 o4 F, R0 o  N# f

6 R" ^# `' {7 I- O9 W8 D                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )* w* e$ F3 {7 f* `
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
" h. u9 R) c! P9 r. U
8 i+ X: \# ^1 ~$ ~- ~. u* Y#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp( E& ]' k9 j  K, D  D9 W% L( }" Y
and add under- b+ j  r8 p- P  z& m, ~' s% ?  `

  Z: e) N* @" D' v% m# y4 p. aCode:) m& |5 Z5 t- t
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )! q# [' t! |7 c9 p/ {4 x" u7 C+ n' Z
                        {
. h! i1 h" H) V1 ]6 [" C: R                                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 N; a1 |3 O                        }this
$ Q# l0 _( w( S5 l2 I1 i
* a! B8 K$ Z5 g' ?0 z  YCode:
  h) h- s9 a3 \#ifdef __QUGET_SWAP_FIX
* @( q  n( V6 E  b. k3 @                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
& W& H' I+ G  H                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());0 A4 Y9 V; E8 p2 D; i; Z$ S* k3 I
/ `% h% j( q" k8 u( }+ G4 _
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- ?0 B0 k1 v+ q+ E  _
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" ?- v6 z  B$ ~; r/ C% B. j% J; _; v- ^
' o8 ?# v/ k& v                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
' b1 A& W9 N9 M$ f1 d  S$ G                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 `, ]; r3 N" e+ u' Y* f
+ e2 I+ W4 c/ [- C#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
' [) d' s% F# e4 ]9 r7 l" J% s* [
9 n/ G1 b* c. E5 ]
. N& j) o( C0 E2 u) Z6 {. e

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 20:44 , Processed in 0.152224 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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