飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17178|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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
$ V0 M( r" B2 S! XI posted this because someone kinda posted a youtube thingy about it :O.
9 \1 d" a  `1 D8 A: X2 U
% k/ M: E7 W: b2 B1 {Find this in DPSrv.cpp @ worldserver2 A' H1 H$ C9 Z: G+ _( V
0 \8 }: g" d5 B  H7 z$ y/ P
Code:- D: E4 [+ n& `6 U
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# u0 I5 ?- g# U1 W3 G{$ P% j7 f9 C- }0 u/ {
        DWORD nId;
1 c8 ]0 t/ x2 q( q5 c        int nPart;
" @  M* m# b4 ?+ Z6 p! d! M6 {7 ~/ _, T& k
        ar >> nId;
' v* D/ Z# B5 g" ]" d2 W* Y        ar >> nPart;                : j) n8 t* a, [2 ]
        ) b) a. s+ c0 [) q$ r, i, n& w; T% `
        if( nPart >= MAX_HUMAN_PARTS )        8 _: F1 }6 u, Q2 `, O1 {3 d9 j8 _
                return;
5 v  o: B: h: q! w! c& ]* E9 @& q; o0 Z, s% e3 Z
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, Y5 W8 e. j( g7 w6 `: j& ~

5 j( m# X# k! J# j- s3 i% |3 |6 v$ G* c1 l2 ]
Code:
# C3 M4 H9 k3 }+ P: s* m; @- }#ifdef __QUGET_SWAP_FIX4 H/ U* i2 p- c- g' f7 L5 ]  ?, x
; T- U# G4 L0 S' e  h
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). @% \4 E, q* @! R# S& r& u% J0 H. e
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 g; j! M- Q" H  B2 N( i  r) r, E, H' T$ h
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )8 C/ b7 z+ D9 d2 H) l4 \: `
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
8 e& v. v; l. q3 e; L  t# w4 E" R
3 C  v0 F; w" C! H6 Z+ ], O$ U$ v0 E                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )$ h3 g8 A1 |1 \9 A  z, O# g9 X
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 i( t" k( y+ p6 k9 s+ M' d7 s; u- k% g& Z0 w) |2 h! ]
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
3 ~% S) `+ j' Qand add under
- \, V3 |4 Z6 e& y* U
* j1 w8 N8 [% d9 sCode:
; M% B9 M  r3 D- Rif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )  s2 {1 b/ j# ~; Z! v  K$ {8 D
                        {
# ~7 g5 @# E7 z4 ?  R                                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 );, s  r# o' z$ D- \. ]2 Z
                        }this- i0 o) E, `0 @2 T0 S
& Y1 D* C- v0 m" |
Code:. b+ T( k/ }& E
#ifdef __QUGET_SWAP_FIX! J1 E7 X  _# w. y% {
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )- `$ j+ r2 P( E& l1 S
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
1 B4 A! f$ Y4 S  q) N% N
- y0 ]( P) v/ y$ Q                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
! M9 A2 J) N9 b3 M) b4 B; v                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );' j( ]1 k% `6 E- H7 _4 i2 ~

3 X( p" u$ j+ a) W1 Z                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )7 Y' `: |$ {: @1 [
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
# i8 z/ H! O  k* b- T0 ?; N, m& D* ]. O5 @, o/ X3 F- B" w
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
; N: ^( ~* v; z6 c& Y2 M/ z
% D! q0 a0 v7 ?% \1 }$ D" P6 Q$ G! n' E: Z0 r* I. X, u! H6 ?; [

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-24 00:46 , Processed in 0.060831 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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