飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16415|回复: 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
% K8 j, Z$ q& W+ g* @9 XI posted this because someone kinda posted a youtube thingy about it :O.3 }$ \9 V' u1 K( A# j; ]( d

1 C. d2 t9 u+ z: ?: |+ Z& w6 P  rFind this in DPSrv.cpp @ worldserver
& n: S0 |9 C" ]: E/ t3 H! V, O$ H$ E2 P% c
Code:
( _- W5 c7 N# t7 ?; Xvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )8 M+ ^( @4 K9 q! w
{
: U( q* L. B4 F2 o: B' G) _        DWORD nId;
+ u7 z' U$ Q+ g        int nPart;& X& d, c' b0 c% j2 P

0 ]# o" f# L: N" P        ar >> nId;4 a1 ?. u, p' t, v: k
        ar >> nPart;               
  q* i! m- J3 x8 l' n* z! H/ T       
& o6 b; \2 `% X        if( nPart >= MAX_HUMAN_PARTS )        8 E! g% W3 @+ G3 N* P8 T8 K
                return;
( ?& m$ g" M0 g8 B$ K8 v; H0 u$ S8 l! N4 g% l
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! X- X& \- k( g! Q. c2 d" z. [
% V; P3 @9 X/ q2 D4 n0 \/ V4 ~* d+ B; e2 j1 m+ s0 T4 p
Code:
5 v4 z! n8 `# Q$ R0 \+ t#ifdef __QUGET_SWAP_FIX8 X" b) _6 t/ B! U

+ q. l/ u+ i% ?/ R* f) E% T# `                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )3 d4 d  p, [5 M/ X8 J2 _
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());( ?7 h/ c- P  {' c6 ^4 M, i  A: g
1 U2 b, \, U' O% R( D0 G
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
3 y" t# o& Q/ E                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
0 g) p6 Q. s: x0 a1 B0 V3 {% t
6 \% s3 N8 _4 i0 N7 x2 P; I/ j, t: v                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
9 ^5 S. c( g% _! [! b                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 T' ^$ F- a2 q; y

, r" J# c% p  P$ e% o: L5 |#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
4 @& m; h& a' D" dand add under
8 \: f  F0 _! y  x7 x3 W/ w  s* m! v/ K
Code:
: i1 |8 r' V; C0 N4 fif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )0 x* H5 q, {( S2 G3 W" d
                        {5 [7 |, A, m5 T6 ^  a
                                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 );
8 p- Y* L  x3 g- u& `* v7 M9 |                        }this
) K+ w1 x* ]" u: m
3 I, t' G: ^% a0 x  Q) V" L7 vCode:/ P7 M% p  G( e8 W- F
#ifdef __QUGET_SWAP_FIX  N" N4 ~4 g3 O" f
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
7 P' S) f6 G. c  @2 {  ?$ a9 N                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());- `- i9 q8 }& u) @

( @' C9 B; d, Q5 T0 H% B' Z                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
# q* Y* q2 k" t; r0 K- M8 C* b# @                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );0 A4 l  \( z% H7 B1 Q) _
' S  T$ J% ?" |; `- G
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )! s/ {0 z3 e* O5 P! W% Z) G
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- k. h' g  \" W% P% w. j
: C" g' D( ~4 f: K( P#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* N" m( O1 @. Y: k5 E& N
# \1 i$ Y% n; Q6 j( F8 j) o  n6 {& A0 B; x; r7 Z3 v7 @  i0 l2 p! Z

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-10 08:24 , Processed in 0.060421 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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