飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16402|回复: 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
" q9 P2 p( X2 G# v5 [( gI posted this because someone kinda posted a youtube thingy about it :O., S9 Z" s% Y$ r

$ ~! J6 V, y. X. C% VFind this in DPSrv.cpp @ worldserver
" F% P; v- R( C* E& Z) r5 x" ^; [& X, x* I" V  B1 v) w% r+ w
Code:- s( L) q  \0 C
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! u* f0 {; b% e{; e! y) f7 @; H& L0 v
        DWORD nId;
- ]7 K  Z* L  w8 X. c! S8 h! X2 ^        int nPart;5 D9 Q5 s6 ]( U: P! O

0 _2 }: X/ \* a- \        ar >> nId;
, ~" r5 p9 Q5 ]% Y' f( Y, h        ar >> nPart;                2 O1 \$ d! d- F& D# _
       
, {& ~1 d( N  a# B  P, q5 |; M        if( nPart >= MAX_HUMAN_PARTS )        ; D& K5 y5 c- F' M
                return;! U$ m: m/ q$ t% K

4 V4 c( y" R$ d% B# M        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
: V3 s6 }7 Z5 N+ w7 X
8 m0 D7 \; \/ y7 ^. M, p0 d
) G1 Z0 z* J! Y) e! X" a. S, ~6 ZCode:
5 G1 p1 d! J! Y9 ?: I- k, o#ifdef __QUGET_SWAP_FIX
/ h# R  ], _. [6 w0 Y
, b  w7 Q" m$ O# o- v9 g9 C. P                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )9 ^% I+ L( q# N% Z; S; y
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 ?6 o' b4 z7 @  A9 {- R9 B# g
7 q* H* f/ e* G. C                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
  l4 @& ~4 b1 F( ?6 i                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
- R" R8 M/ }9 d3 D: c9 _* D9 m8 `1 {, i7 C3 c
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ): g  U" K% s/ x% K- m
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 z$ N. Y( H- U- T2 N9 [# M
1 d$ C( w* x1 ?2 E#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp) \5 J5 Z3 B5 I- [5 L6 ?
and add under
/ w0 L7 h1 I+ z1 K& e& A$ C" k. i* x* m$ w6 c
Code:
( y( I1 S- W9 jif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )- B: _" X0 N5 m5 u% d
                        {
0 a- g- l/ h9 x$ B0 k; m: |  d: B                                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 );: @2 k0 u( n( {% Q) B" {/ q
                        }this1 \2 {3 H2 T9 V% U) L  `
: y6 m: S+ O' h& J
Code:: T% |) N. X9 Y7 d
#ifdef __QUGET_SWAP_FIX$ O. J( ]# l6 [: Y
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
9 W6 [' T: z4 c# }& n                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
% e, T! t5 b0 }$ n/ \4 r. L! O# g
: X4 e# h. ?3 n! s# t9 L. R                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
0 O5 p2 p  a7 m& F6 g4 i0 G9 T                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
. I  F: [% [* P" `0 I: z, ^9 v, q2 b& n& |
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 I1 h) Q/ Q5 I/ r6 @                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' W7 U6 L/ N1 L, s/ e; U1 E  X& y

( [8 n& a. ^, u+ E) m#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* ~4 h3 K7 G0 z4 M* Y# _5 M6 h7 K8 U6 S! D
# ~' `9 y/ W$ ?0 a. r

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 08:47 , Processed in 0.075828 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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