飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16286|回复: 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
. F: v) f" G6 f5 YI posted this because someone kinda posted a youtube thingy about it :O.3 b( d5 i- J, p9 B% V* j

2 S: d2 ^( K2 i6 Y  z7 Z: FFind this in DPSrv.cpp @ worldserver( ?# ]. G! X" c5 i& ?7 I

0 t$ `4 x1 ^$ A: j5 U) S- UCode:
2 i8 t, d; z! D& ?- Zvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 x( [% t/ S; ^3 l9 M
{' Z! L4 T8 m8 Y1 c
        DWORD nId;
: P/ g1 U) D5 e6 d) Y" J+ r9 Y        int nPart;
8 c/ x( i# E! h6 w' n: ~- X3 I; c9 M
        ar >> nId;( t' H0 A: ^4 o$ j
        ar >> nPart;                ; _& W9 P$ _" R- \" i
       
1 t( u* [3 [* f        if( nPart >= MAX_HUMAN_PARTS )        2 L2 j! H0 k& C& `; O
                return;
' @2 P' D( @+ [4 w* Q& u% f; U
4 ^, |9 L* v/ h( P9 F; g+ P        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 V6 ~0 e7 z. W2 a/ y
/ L: G* v0 u! u0 b

& A" Z4 Y" u' i% Y) [# J7 eCode:5 I: y) {: c: c( R7 M2 q* Y
#ifdef __QUGET_SWAP_FIX
; ~/ Z. {( B& e6 j$ ^4 A, f
0 D2 ]+ Q; v( P0 K" q& Z5 C                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
- Y, ]5 w3 `" s0 {                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" K* `  _" Q2 W) w& Y3 W

* d9 i0 A- a" U                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )4 I& K, e: h9 E6 |
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! v' D9 x0 Z, m

/ I- \+ W9 _4 \' Q                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
3 r' c: O4 H  |) N; ^! W% _                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );: W- h% q0 i3 k7 E6 A" F1 z& \, |
% y, }! t; u; j6 P0 \$ G1 T2 o
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* h: u+ _/ X  j: eand add under
4 W$ u( z$ X) C4 s# q% X
; r1 [$ f0 }, {, cCode:
) B' v. M( L2 L# T" Cif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )$ t  e" t7 C) d/ p0 a7 ^$ [4 x
                        {
( J7 }3 J8 D0 Y                                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 );
+ l2 R" [! q7 K! V1 R                        }this
" L- @9 I* {# @3 x
/ T# o9 v( f. \Code:! R2 e- W- ~1 p' g) _2 m+ U
#ifdef __QUGET_SWAP_FIX/ v. q  v8 O* R, [9 m8 h/ K
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )! Y6 F0 w% t0 N3 j5 y- M/ M# E
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
( O  K' y6 [5 y0 g9 y1 j6 |5 i* n3 n. u0 V- g  b
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )) O. ^. m3 C. B; V- y8 F9 V
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" h, C. ?$ s/ w5 V4 p
0 n& S3 N% B8 w1 L/ E; ?                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ J+ l4 Y! C* Z0 b! h& M9 |& z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
0 d! _: ]% z4 Y. c+ j  c/ i# [9 n6 x
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 r# c8 m, n0 P) B! f

. R2 }$ x+ H) r+ a" j9 Y1 P- M& Q# g: L- U; Y

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-2 18:07 , Processed in 0.062013 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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