飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1084

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1084
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
! b* g3 \5 d5 f; o& X* }4 @% wI posted this because someone kinda posted a youtube thingy about it :O.
1 J7 B. w9 ]" Y% F
2 N- ?5 F" E- E3 I' FFind this in DPSrv.cpp @ worldserver
" W3 e: t9 y' Z7 G6 s9 R' ^/ k7 v/ ~+ y$ d+ A: v2 T
Code:! Z+ K5 p, E0 o  P* J+ @  ]: q
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
# [6 r1 P1 M4 _) `6 U2 o5 q: o; K+ h8 w{. ?1 S  y- j( c2 f
        DWORD nId;
; E- U) r( Z  d3 z        int nPart;6 ]# s( I2 o8 P7 a7 H

, x' Q3 z5 {/ p; o) t- d        ar >> nId;  x0 S' d) x. k* M2 W
        ar >> nPart;               
3 Y. n$ a/ E* [$ y" V        * w6 O7 `9 E: E. O1 ]! F/ @
        if( nPart >= MAX_HUMAN_PARTS )       
1 M; s- x) {. p* ]$ H+ k% o                return;
; `% F( U- W1 @" l' m% y5 Z% ~- r. u: f2 x+ `! F0 Y4 k% S/ B! R
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it. ^" N" b! b# u6 w5 L
0 S, O7 |" H0 |& q) {$ T7 \

* E- t& E8 E8 l; A1 x8 FCode:
* [& t* L$ Y3 k- j& B#ifdef __QUGET_SWAP_FIX
: n) |1 L: w7 _! O6 R. }
9 f3 t$ D- ^: ~9 E                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
: r$ R0 g( F9 I, B" l- g                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
1 @. B8 q% M% z6 q
9 p! k: x3 R( b" X                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )5 k) o2 }0 E0 O5 w1 @2 b
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );* }; O- s2 C* V% \8 b
0 V1 y* t1 _% T6 w3 ^. h- f
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
: y( x5 S( p5 z2 ^8 f, p3 V                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );; h: s% [* C3 F' |! {
  G$ D, d: s5 l- W6 ~
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 y0 l% ^4 S/ ~3 q7 h5 h
and add under
# @/ E3 Y9 x3 m) C; P
. M& ]" j+ V3 B6 m& M6 w* z6 ]Code:
9 S& L' ~* l% ?: h# D  H+ m2 |if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
% Q0 @8 L# P  Z( T- ?; O$ M                        {
; F% P1 P! C9 Z/ @- u                                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 T$ f9 Q5 H& p% S/ {& R
                        }this8 M: w! `1 C9 o1 C3 M3 g
/ s0 }6 U( P- R4 O8 J' `
Code:
; R: I/ h% g3 J% R$ @#ifdef __QUGET_SWAP_FIX/ b$ f) ^5 m( ]( r# r9 B4 ~* X: U
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
# M( E6 m4 ]5 T) V. a4 f* z* z: u% |                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
: P: G6 L' ~! A* V# t2 [$ L4 |6 O
# F1 j7 @9 \) W3 C' s1 o' b# `( G: S1 X                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )1 i- F+ m# P( ~. |  P
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );3 Q5 x: C, W5 }/ F+ B- [) w
$ Q8 d+ U5 R6 @
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )- r' S$ H3 |# i% z
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
1 \9 K8 c' E0 c( k2 U+ v* K! H) T6 w; w* `9 Z: R& _1 z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / Y: j' P) w; |

& C4 P2 c+ `' q7 n* V7 Z5 W
/ l: n/ p9 T. g" p1 _5 b- T

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-10 01:50 , Processed in 0.066916 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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