飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16474|回复: 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 / W2 Q- @) n3 y; m* a5 V
I posted this because someone kinda posted a youtube thingy about it :O.
! b) ]* C3 U/ j" r  F+ }' ?9 N3 T9 s9 Q' {; F4 _7 C- v- ?+ a
Find this in DPSrv.cpp @ worldserver5 ]5 x: z2 c* `9 x( l. ~
6 r* v& P, P7 Y; D, r! [3 g
Code:
# A: B' S; s- o: f' V! Rvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )# d* T* z8 P, m8 w$ }9 N
{3 U2 s" B# c7 L% ^: A) r# U( w* q
        DWORD nId;: X% Z* |* Y0 n: u9 X
        int nPart;
+ ~% }% F" i# O8 [# A7 n6 I7 c4 y0 E
        ar >> nId;
' f; n9 _& J5 c: ?! B. t" [        ar >> nPart;               
0 b$ d% \, m1 N4 |        7 y3 B# v2 j3 T5 _& K4 C' r, P( f( u7 s
        if( nPart >= MAX_HUMAN_PARTS )        / L$ H" u9 `+ n
                return;, |+ t, C! X# w9 M" o
3 S2 V/ W  n# p/ _
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
+ X2 m1 G7 V5 k. \' t* D8 x$ K9 g! M1 f2 f: T

' T- k0 v* f& w0 Y( ZCode:, j5 N# ^6 _8 `0 F
#ifdef __QUGET_SWAP_FIX9 q* v7 w1 ]* j  O& [

+ K" v& u) E0 l$ D                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
0 y/ c2 j% y7 ^                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());3 `7 w: u. Q3 g- X/ m8 @

  h. I2 K& l2 K( C0 h                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
+ p7 ?$ D0 \2 v                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
$ ^0 S" o( y) T, m1 N5 Q! x1 j! ]. A; Y+ r. h0 ?" ~
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
# \" B0 R7 P: b- v6 {, X! c$ t                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );/ f0 T; s8 l) U1 X0 {9 Y" r- l
) u, D* Z& r/ G/ I) L% p) a5 w
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp# d" q5 C2 c% d1 J# l# G: c) x
and add under# d9 u0 A6 Y) Q! @$ c4 _, G
) m# L' ~) J0 M/ L- L# ]
Code:
; }) l( n- g( X  N" z/ Y+ f2 \if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
8 f  t) k  ?) y5 Q* w  A                        {
6 M0 h& i4 \3 T- Q                                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 );3 |& N- W  r4 r+ R& {4 h
                        }this
$ R* m5 J, }( N! l8 _( }) y, u
9 W" T  R- O# hCode:! e" V% H0 c- `. m; J
#ifdef __QUGET_SWAP_FIX1 |9 Y% }/ L% T* f
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )3 d. c6 I! B5 ^/ e6 K
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
8 o" \* X6 y) E
8 ?4 J0 s1 u& ]& T. `                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ): q6 s  m: ]1 Y3 [/ z1 U4 i
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );6 h# B5 F3 o# v6 ^% O) }1 V& m
. ^! ]* K8 `. e" o5 Y, W% K8 r
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ l% x( v! n0 Z" n0 p6 |9 h1 ]                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );! t& v* {, e6 `7 e5 x
# x7 v) L  e. j  G/ a
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
! t1 y) Q; S# t8 ?0 a- m" ~+ [- U! u7 l7 i% Z. N

% Z+ p0 ^1 z& q1 q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 11:05 , Processed in 0.057736 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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