飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16511|回复: 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 4 `* j, K  o3 y3 F3 I/ d+ Z% z% Z
I posted this because someone kinda posted a youtube thingy about it :O.
9 R  B% ]. m* ?2 l, T3 A* {+ I& }* D* C. K8 V
Find this in DPSrv.cpp @ worldserver4 W9 T5 r. O9 X0 M7 s

6 ^5 r' v. q) ?  K# Y# r+ ^Code:
, F* {( D- i! B. K* }void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) b5 Y( O4 L- y- ]{
5 v3 E) L4 @" z6 \5 E! \        DWORD nId;
, T3 a% l9 C% M9 T: {+ L        int nPart;
5 L* Z7 @& L0 B5 B
4 ]4 G2 k& J+ N        ar >> nId;# O* P" S4 U. u6 ~+ ^
        ar >> nPart;               
3 o$ |9 r) o4 B. C5 Z. R, s       
0 k7 K. [0 z% P6 Q7 n        if( nPart >= MAX_HUMAN_PARTS )       
7 }$ V8 u8 C1 T! c2 O                return;  F! A. W0 a5 A" T# V
4 w  R- N8 n/ z! U1 @- y. Y- @
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ Q! G: `$ {7 Z' x& q
5 k; n& z- o- U6 s  v/ [
2 L& ?' Q; X, k1 ~3 r. w4 N/ H. ^Code:
1 D' T1 h4 l+ P' ~  @* h: c7 E) J$ E# v. G#ifdef __QUGET_SWAP_FIX
' O7 Q  ]; q$ U1 h6 p
& j- t. s/ r( L7 d) t4 n                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )  ^! X9 {, M8 ~* ^
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
0 d. ]. [. f" y! P  y/ o
0 y$ T: e( H! U6 Z                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
: M1 O* J9 q( R% z. W                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
: N! p& V/ S' j9 y" C1 Z5 i& X) v- U6 s) M
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
7 c1 m) p* W5 ~6 W6 b: k" Y                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );6 c, x: B3 S8 y/ m% T1 g

0 g1 `0 ?9 W& t# @- {! f* O5 P#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
; c, t! J. R8 k' y8 \* g! X8 ^  sand add under9 O, g+ `& C" i0 G, x

" F. a& ~- @( I# O' |9 PCode:
+ e- ]% y* z0 P' G  gif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 G, x7 [) Q2 |1 v$ M. d. C$ T
                        {
) W0 Y0 C% u! i1 |8 H* n                                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 );
, P9 r% p, k1 @8 n) ]                        }this$ D" r9 h$ A' |

$ h: ~% q" G/ C% mCode:
6 P3 A' `6 e" y: |9 L7 X# K! z#ifdef __QUGET_SWAP_FIX2 C" U9 T) b9 Q) Q
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
6 n% i4 ?$ A1 Z( H- l6 [- Z3 c/ d( \: g                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());7 r0 z/ f' s/ Z6 m

$ M0 R. |; v! d1 ]                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ): g, [6 r7 Q/ ~' G# b" R  V
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );$ K! b( F6 S6 H+ s
8 o: p, l& c$ ]7 X6 i
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" a, Y% X4 |+ H+ a1 Z. n, n+ W
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );4 {5 f8 J9 N5 L6 r; j9 X1 [

6 E) Q" x# t4 a9 d0 `: `+ v! S#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver $ s! A1 G! ~7 T# e

! {8 d! Z) A. J
! S' o; z7 K+ Z7 `# F% I  x

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 17:04 , Processed in 0.062164 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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