飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16228|回复: 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 / I, e1 [8 B2 ?7 j; `
I posted this because someone kinda posted a youtube thingy about it :O.
6 c: ^7 R0 s5 H* v, G% r
# g* p& K5 o/ t% }) r5 f, xFind this in DPSrv.cpp @ worldserver
$ ?4 i1 Z" |5 V# q8 ^- V; T' n, Q- n6 T8 t. e% l) q0 q, ~' b2 I
Code:. a) K5 J* E1 {
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
2 @; b5 s0 e. Y+ ]% D{
4 f. ?  p$ l) c+ m) g+ u  \+ F        DWORD nId;3 ?% r( W9 Z) g- B6 s  G
        int nPart;' S& u5 y2 u' x+ v: j* G
: h; V$ v. ~: g# {6 J$ S
        ar >> nId;" W: ^' q4 B0 M; ?0 ^% p
        ar >> nPart;                ! p0 E: T! F4 |( @# O: H8 a
        4 E  ^2 R! B. S
        if( nPart >= MAX_HUMAN_PARTS )        8 H! Q/ @, W' V& h4 L1 |
                return;
2 e& U) I6 G8 C# A% L
/ @& Y7 y% s0 z4 ^0 s- w0 |7 i        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
3 a8 O9 ?) Q; G4 X, W5 k) w$ o+ ^" i! x& f  N3 r( p
1 \, l) w3 ?, P0 K. Q
Code:
& F5 {' w, K- t# w4 Q0 J( X#ifdef __QUGET_SWAP_FIX. X& m7 H$ A& }1 Z+ s( J

! p- |8 r/ d- U6 I' L: S                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). a: e$ J5 r, P6 K8 w3 ?* T
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());1 F: V, v( L5 O0 V6 T/ u7 |( r
! Y$ b' y: p$ B  Q& X
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 N% r: h; E" _/ K" S                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
5 s3 p0 ?( x: r6 G! T1 Q2 b* v$ s1 ^$ Y" @
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 M- C' p' y/ C4 [) c                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 I5 u1 w) O0 [' G
: [& O9 M$ r! u#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
" j/ d6 J) P% |3 land add under! Q: _  \* _& x
4 `2 ]$ E2 L- l
Code:
0 o) y& u: w  l- r# W4 g+ Mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
# I$ i5 @! t* ]                        {
! q$ ^( g* b- l3 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 );
. U4 N& I7 k. d: W8 |" M9 U                        }this# Q9 i/ V7 R/ O: \, d: z& Z5 i
5 n6 d& [- g( K1 y% h7 q
Code:
2 u- E+ T) N: K' x7 b# @- D$ Z#ifdef __QUGET_SWAP_FIX
5 a! }. b  O0 L& \+ N                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )6 L& j! A: ^- y0 F
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
+ N( X" d1 v$ b! E, j2 ^
+ u0 A& W1 j5 Z& q! T                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- v5 k' F5 P1 d$ b: Z2 J
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
! J8 |/ u8 V$ n4 P+ y% k: b2 G
& h6 k5 V- f, z! }                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
  @5 j' E; J! G! d4 \# h+ w                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
& T/ x  E# U5 d5 R8 {% g: C/ s" C2 [$ h! w$ u( i
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 1 x' k( T! L# U% d& o* ?" ^, ~+ U
. m% P9 F# `% A. Z
9 l$ `: p% X" ~+ `# |! @5 c1 g

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 04:55 , Processed in 0.062780 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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