飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17341|回复: 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 ' i+ R' M7 {$ B7 ]+ G5 `
I posted this because someone kinda posted a youtube thingy about it :O., L4 M& C( ~7 @# V* n

' k0 r9 v4 o$ f0 G4 ~Find this in DPSrv.cpp @ worldserver
/ s8 e" }/ ~& u+ \2 @! T3 Q
; O; }! W+ ?8 V- g* I% ~Code:
* K, ^3 Q( p: x5 H6 wvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )3 X4 f9 l; e) ~  C2 A
{
1 Q/ Y& z$ j1 Q6 X, M" v7 [7 v        DWORD nId;7 ?$ |  d' p( |* e
        int nPart;& `* [; Z( Z. i7 g* H. @& {& F

* r! s0 E6 C6 Y- _        ar >> nId;( b' H, Y2 W! x% H& X0 J% I
        ar >> nPart;               
3 l; b  C  L$ d9 R0 }6 R( L$ N        5 \% Y3 b, T2 J# S; L' n
        if( nPart >= MAX_HUMAN_PARTS )       
$ R0 [2 J1 ^6 V                return;
; Y! M8 ?" g6 D/ t! ~3 \1 |! f7 G2 P3 ]7 X9 f4 {. N* P
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
5 a+ c' ~! K, B4 \% L4 O- g9 ^1 S- Z( a& a2 h& B2 Z. p* R
' @) |; |# M3 F* a4 Y# i% j) c
Code:
6 [2 R7 G) `  s+ U) {( P( I/ \# _#ifdef __QUGET_SWAP_FIX5 w  @) ]2 b5 T9 p9 c) y0 L/ u

; f& y' M, ?2 V6 x/ e                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ): t$ M8 `$ `* X  ~# A( ~
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());' h$ z) i1 W$ ~; P4 A$ X% a' m

# b6 Y- s0 A8 _- `                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )7 y  n* A5 `5 T9 B. A0 ~! @2 I
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );" W3 u& u, S" t8 c

, U7 }% B4 O1 x7 _5 q                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
9 g7 B8 C9 ]. N  f                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  e! p3 |8 V) {2 \, o; S: o) v, E
2 w$ E+ D8 e" j! V" _#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 o- z) i' X* X2 [! k# x" N( m9 \% `  B
and add under8 ?8 o8 |- h; v+ a9 Y; j2 D& J0 e# _

& L2 d, _% G( s- I0 ?Code:
; p& ?: \0 n& b* G. Lif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
5 {+ p. z" ?" w  B3 a8 d                        {3 O2 x, t& O# ]- A9 O) L
                                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 );: s6 y' t7 W7 N2 Y; Z+ Z* ]
                        }this8 A5 F# d8 A) R- _! a5 n) p, j
+ u5 K0 i' p* M  X+ {* z4 R
Code:
: q* Y( Z3 {* ]! b2 c#ifdef __QUGET_SWAP_FIX
6 Y  a* b4 T; V2 T) a2 O) G                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )3 Z  V$ d2 j- G
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* ^! c; L. a. ]+ X. p' E# ~
. \0 ^- S3 ~, ?                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )' Z9 Q: |) }: {$ i
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ Y7 x6 S5 o4 ^& f$ d
6 ?6 k6 F1 M  m  n/ I  {8 r+ z8 Z
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
7 ?) t) E, K, b                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );: L! n: z- }8 }
! d# r9 ~3 ^8 P& T6 V+ r5 [
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver . ?/ X+ R' f6 A/ D9 j; z- W

* a; v! u# W% l" c8 p: E2 H7 x# L2 A7 n

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 09:12 , Processed in 0.062807 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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