飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16323|回复: 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 ; b, {3 a% u2 C4 v/ w( A: l
I posted this because someone kinda posted a youtube thingy about it :O.. N$ S1 n1 n! K" Q3 K7 Y1 k$ W  u- n
5 F9 D' ^1 n; B
Find this in DPSrv.cpp @ worldserver2 ^0 E3 O0 J& @

4 C- q& [8 R4 _+ o' w; u6 j9 zCode:! O: }5 s  ?% T% s7 I" x
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )9 O( X3 q$ a* \) c
{9 |5 Z5 x1 L" b% `7 p$ o; v
        DWORD nId;$ c! _! m9 {; k
        int nPart;( E" x# ~# J$ W1 Q; d
: L" q. Z' ^( f  F
        ar >> nId;6 K/ W6 M' J. x4 e& y
        ar >> nPart;               
4 h& y0 s) ?4 R  K* v: m% w% L0 j        $ B0 F. G# v' @: |2 r% {/ ]: |+ V1 i
        if( nPart >= MAX_HUMAN_PARTS )        ( c6 @8 u/ ]/ z# N, X2 H, G
                return;6 b% x0 a# K# Z2 `0 G0 ?
; \% a  u: @" ?0 R8 l/ v
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it# y# N* f- x' Q8 E* z+ M; V

$ `# A$ D: ]* }2 [6 F( W2 G* P3 ~; K  p. e+ e0 ]( B5 U
Code:
8 Z. B3 y1 P$ F5 Z1 w. H3 p) \#ifdef __QUGET_SWAP_FIX& c- ~8 K5 H+ x7 z5 t* i" ]- ]

4 |4 R+ c. o# B( a                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
5 A4 I4 b  Q4 ?" |6 `! p2 x                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());- t0 B4 q0 a/ J: l7 v3 G% Z8 F
& }. ?/ K) [1 h' b. p- Y; }) t
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. f# s% Z# i8 {( {4 R/ i1 g  Z                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );% s+ O- ^9 q/ e8 Z$ k6 ]
! I$ `& R$ D/ o  a
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )0 f# ~6 {" o6 t4 D
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 |9 o) K0 r8 L5 p! m# V

: A- L2 a+ E+ Q" w0 s- L#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; }2 q: O/ j1 o, t1 R& kand add under: H) C9 {' M$ ~' q9 @

7 U; x8 ^1 J: d) ACode:. d/ k8 D4 ]8 k
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 y- j# W: `" @' Z/ s& l. A& F                        {% n, R. |( \: Q+ h% s
                                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; i' D3 b9 `* L0 v. x                        }this
/ P5 G$ _4 j  r' c/ h4 O* b- `- D" `: M
Code:' R, U* ]  {6 S9 D
#ifdef __QUGET_SWAP_FIX
+ }* ]$ f) u) J( g' j                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
: n# e, p4 L/ V0 r& }6 f* y                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());3 _9 ~9 }6 H' n

0 o  _. q8 s' ?, A                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
' T+ }2 {1 n) z8 S& X8 E                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );: r, M' z9 p7 K9 w9 a, J
. G) ?  ~0 r5 V: t7 p$ A% j3 C
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )& F, e6 K7 w7 `* c" d$ A
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
9 x+ Z7 ]* u) S$ D. G8 p  Q% H+ U6 f5 N0 ~: w( H
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ' T& M: J1 q9 X0 U7 M' Q
. }  }# n! c' }7 W/ y

, I5 s& D/ I; F# F- }7 O* x$ {7 N

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 07:35 , Processed in 0.061640 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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