飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16501|回复: 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 ; G$ o9 v1 n. h' Z; p) M
I posted this because someone kinda posted a youtube thingy about it :O." L- x; `; c: d. X

3 N1 F  J1 F2 iFind this in DPSrv.cpp @ worldserver) U  ], n9 p6 H3 L# q  {/ l
0 X" n) r) M& f+ Y9 j8 l) w$ g( N# s
Code:# d1 o4 b( F! G/ |! H& R
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ), C9 E1 ]7 X, A& M2 v
{$ Z& s8 S" M9 w( {+ V7 R/ x
        DWORD nId;
' b' {8 L7 V$ a        int nPart;% A/ ]. s/ o2 y6 l" e% F
- D# ~* Q) X7 E2 W
        ar >> nId;
% }# ]6 C$ a1 \9 H        ar >> nPart;               
; T+ h* i2 u" f5 H7 j9 n        4 U( ]( A1 o- G3 m: {
        if( nPart >= MAX_HUMAN_PARTS )        + G8 _7 t2 q6 C! P
                return;4 p! H: Z8 t( Z$ l* X" r
6 L9 e1 s* X2 l8 D
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it# u" p0 c' K1 Q' p3 R. i  \- E

( @" n% S2 e# F0 w
2 m1 _6 l% n# \Code:
# N0 \" C& v; ]' \! y#ifdef __QUGET_SWAP_FIX
* T4 K) g. g5 d; Y/ p
& y. _/ c! O, l8 A( T/ O; i  g, ?6 ?                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )! H# ?7 j- c9 O) ^% m
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());* Y# x" _( M! ^- B) I  l) l5 {

0 g3 D$ J8 ~% d  C* h  N1 k) @, _                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )& S$ ^& T$ ^/ G3 H5 A. E$ X0 [
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
6 e% }4 N8 p  l) C( i$ ]
2 R/ J9 D. m5 }# S1 ~) l                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )5 `2 Y+ \/ v* O! p
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
" c- Q7 c( k& G7 q! E2 S8 }  y# H
0 X$ I. @. e  O#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp, d* R# `% R; N) B/ }7 Z) s4 O
and add under5 r! C7 K; K2 f5 }7 t0 g
" N6 C6 H. r# Z. _. P7 h3 @/ Z
Code:
% m+ N! E0 h% i" {; Eif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
6 e0 d3 R1 X8 O                        {8 ]/ E# H+ S: \4 P, J, @
                                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 );
) h+ }; R# ^- N- X9 P                        }this- ~/ }7 D8 i3 x& @' F: t, v

# @# T0 x, h7 ]2 \1 HCode:
) j, t+ e1 `8 M* m8 [#ifdef __QUGET_SWAP_FIX
, q. G9 b) X% o% V- j+ S  ~* r                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
  n' n$ x' |4 S  p% o; ^* Q                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());: X8 d* \- F+ X# c
! ^5 }0 ^: E8 j8 I- ]* M* z' u
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )( N, W; R$ `8 j* `' ]0 e: }8 c3 x
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
+ J/ h& E9 F9 c3 k5 L' n
' r# b  P4 N1 |0 p                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# g3 P2 b5 U( ]' U0 L- v                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' C2 c1 B) N5 W2 v% K
$ g. b! u2 O8 m
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
4 y* o" y, S% ~- r4 g0 t9 z+ f
% ^9 ]7 a6 a  T/ {; W1 }3 ?1 s7 F+ r$ q3 ^

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 12:24 , Processed in 0.060766 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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