飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16927|回复: 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
" C! q/ |, o2 K+ ?I posted this because someone kinda posted a youtube thingy about it :O.! n& b5 Y! N" M4 j8 D

( b  ?7 y+ R6 u4 U: ~8 x% z( \Find this in DPSrv.cpp @ worldserver
0 e! r* w% p; J/ X! A2 u+ Z  \
Code:# u. R2 w* b6 [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
) D! H' v8 l" ^5 E) T% W  s% ^{
  a: j' u6 C. X$ p2 d        DWORD nId;
, @. ?5 ?: o8 A3 x( Z& _        int nPart;
/ M5 I9 n4 N; r) Z/ h0 X& \* O" G
1 n# G+ V& X$ r. {6 T# F        ar >> nId;1 s! l0 Z# b% |7 Q( k1 P) p
        ar >> nPart;                3 n' @" q# t# c9 v  A7 l- e6 B
       
& j. O' c/ W6 u, y        if( nPart >= MAX_HUMAN_PARTS )        9 a7 E' k: V# c# {1 l$ i6 z% n
                return;- A* |) u" q* r: g

% x' x% }) T% y8 ]( H: ?! T4 w        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
- @5 h: T6 L+ a4 b: k8 F$ M& V; Q* n. v* t3 y1 ^% A- a# z

1 }$ b8 ?5 f0 p* O7 lCode:: A" L9 b4 ]) ]+ p. ?: l3 b# G& p
#ifdef __QUGET_SWAP_FIX0 |# Y1 R9 C: H5 V5 N3 m

) O3 a( b$ L/ V* O. K                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
$ y. W/ ?7 _" [( D  d- e( q. j                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" ?$ {( y  A4 {% _  a. O, ^; A7 N' x  |2 E, m$ T* [; l
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
& R: z7 S$ q8 B* q2 t                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 }5 I4 Q+ ?; ]' a

7 a$ E. [. A0 H. Z; |: Y                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
; q, p  @& `; h5 W2 J* r5 @6 r; u) _                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
) ?5 G/ M, }# x& c. }* D
) ^; Z  x. d$ z/ B( u( A#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp7 N6 p- o+ T3 p; G/ p% ~; H
and add under6 H/ k1 O" v( Y8 L2 E" Q$ u- a

5 W! d1 D; [9 O+ z4 {, p( G2 OCode:8 W  r3 H5 k# n  [/ {+ ~/ _
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )" Y; j: \' n0 Z8 [
                        {& \- t9 v; x1 M8 \8 h1 j) p; n
                                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 v' ]2 ]7 s$ Y3 N, c1 T  p9 t8 d                        }this
6 G, h  l7 B0 J/ d2 \% J. F# I
! h0 G3 b; z- s% [Code:% D, A! D5 k3 f0 K5 k
#ifdef __QUGET_SWAP_FIX& d/ X; E- Q7 |) E. x6 c
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
4 O9 ^! Q7 N- p1 e                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
+ g: C/ S) J# F% N  P+ W! A8 `* C% I
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )& c8 e! l$ `  i; c8 ?' D
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ ?' M) ?& \  r
, ]- |0 j: ^7 ]4 e
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
: U- h; Q* ]% R; g                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );* X+ @) C5 u/ E* g3 B" ]" w

- ~) ^" |/ r0 Y2 ?#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; _1 H5 x8 P, [' N6 g

/ F% l; y# R6 s1 w9 S7 x
1 F; P* y1 `/ _* G8 T. \+ S

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 09:33 , Processed in 0.060464 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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