飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16906|回复: 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
  X4 C$ N  f0 Z6 B; ^7 hI posted this because someone kinda posted a youtube thingy about it :O.
( |5 E- z# V. s$ F. A
: _$ L$ i- M- z, V- mFind this in DPSrv.cpp @ worldserver! |) u- o" q; o6 H

) \, k5 ?) H. [$ O& K( d' d1 WCode:
  M" d  ^8 d7 r2 `0 d' @# mvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
9 Z" `$ P3 M3 f9 {- V6 F8 n{
3 S/ E  e4 u% I        DWORD nId;" k4 k3 }3 _: x" R% N2 W! G* j6 v
        int nPart;
1 w$ U2 T6 b/ X4 {6 g
5 o& g( c1 A, h% J" r        ar >> nId;
( i' q  h9 r( W# P5 W  R) W        ar >> nPart;               
" m5 s/ U5 b, J: I( S9 g4 U        " D, u9 w. Z: P
        if( nPart >= MAX_HUMAN_PARTS )       
' i/ Q6 K4 D9 y7 \                return;+ W( R: y7 e# ~2 o, x' ~
7 K, D, [+ B; O
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it3 ]( c; b. W! Q, ]
! S. f3 c. H8 ]& t

4 t, Q8 Y0 S+ O- ]- \Code:; ]) y( W  e8 v0 m+ }8 N( y
#ifdef __QUGET_SWAP_FIX
( e* n, z/ |. |# u, q/ @" B5 o  p' C9 {3 b: ?+ [) o$ R
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ), |+ v/ V9 G1 l/ }6 g
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) _+ h6 u6 o' ~5 b, a3 ?/ @) [
4 Z9 L; R2 C8 b1 w) W* U; M
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )0 S$ Z5 T5 \  ]: K
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
9 Q1 V- p5 {! j* e3 C9 ~. Q# ?
3 J, X- J0 E4 ?- e% }  N# }7 w1 C                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
5 C/ E$ v$ K6 k( B                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );. b$ E' ^8 U- R$ ^4 t. m8 |- w3 |9 D( j

% [: a/ b% s7 b2 O2 |7 S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp9 H1 q5 y" Q6 O) p: Y
and add under
2 c( b1 i' P) e8 w
  i4 x# K* f& q- \  S. VCode:# w/ ?- ?3 w4 M/ `7 w
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
0 E4 E$ ~5 {6 m                        {% O) M' O: K. `! g: O
                                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 );
9 Q: R" Q) r% e: z                        }this
' T- N# z' ]  ~8 N$ f/ p; c
; |5 f- X4 N- k' HCode:  ~; l& w) D+ O+ ]3 K: W4 }
#ifdef __QUGET_SWAP_FIX
1 I! ^& t5 @4 i% h, [# L* J                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )0 q$ R. D3 U% G
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
& E) E# a; R. d2 R* ~! y
0 r8 g3 J8 t. K' Q9 T2 ~                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )1 b; [4 b- C' [4 q, i, X: R/ K$ E) i
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
5 t6 A" p% w0 m1 D$ M5 Q
' v$ P5 X1 Z$ b! _$ h& w! ?. O                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )/ O! X+ R# i; @6 B. t
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- d0 y# R. R5 x/ z6 g& F3 q
0 ]5 Z+ J1 ~+ k7 `" t; e#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 3 U+ G0 y7 Z4 y
0 f, i, \$ o) Q3 D
8 d( X$ q' N& R9 k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 06:30 , Processed in 0.068665 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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