飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
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
! K2 B2 s! j0 `* i6 }2 ?9 wI posted this because someone kinda posted a youtube thingy about it :O.
4 d( K+ v: F# V" X! M* Z1 R$ \% Y
Find this in DPSrv.cpp @ worldserver
8 ?( s/ E; J! h  _) t3 g1 f  W) b. e
Code:
; N- a8 ]5 I. v' O' ?void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )* y3 {& x; d: V+ Q2 @
{
  h( Y  F- e# c+ o! U* Y  w/ y/ J        DWORD nId;
0 l$ g( \' T( s, H; }& R( L        int nPart;3 ]' Y0 Q* N( k- y: ?% G2 n" Q

: P. N8 R. b: ^7 D: L0 `        ar >> nId;
" D0 X% p" j- u- f( g$ ^        ar >> nPart;                5 Y1 Q& V5 |( R( F* T* s2 Q8 h3 R
       
& Y$ F. J6 c" {0 y5 o& R        if( nPart >= MAX_HUMAN_PARTS )        8 d- s' v, ^& |3 G1 \
                return;- A( Y3 |4 {/ ^+ p. G

0 ^3 W& i: |( k$ |, @; [% `        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it- N4 N0 `, t9 V, h0 R

+ v) _. _, h# s* O" U3 N+ w- K
2 Z, f2 Z; X3 W) P. \2 O5 `Code:" c- P9 F7 a  @+ c! ?3 B' q
#ifdef __QUGET_SWAP_FIX% R4 w" r  l0 ~/ @
* a4 F! J- T3 e$ U6 h5 Z0 U6 t
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
. x- E, s: C2 v# _$ _4 Q                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
' v+ r. ^$ J: v6 O6 C& K- x+ e5 Z- v" G! I  v, M  n3 X6 ^+ b3 m. h/ l. m; f
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )( i/ O9 d5 y2 W6 g4 L  Z3 o
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
$ \' H, Z) U; p! K! f" }" U6 ^
3 M" A  d0 j& w, m                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
% }/ \* p& y) ?' }                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
. o1 c) @$ g6 z5 Y/ i! k+ E+ r* J$ \* y
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
/ P+ L* ^  C8 b1 s. R1 ^and add under
5 m1 D% ^/ y1 h) g) h* u! E1 `: T/ w; x; p7 z, t4 r
Code:
6 J& }  g$ j* s% _if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
/ u) E- O! F. @( [& r                        {
( p; k3 F6 E7 W& c" s                                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 );* V' H' E. |; W6 a4 t. v) Q
                        }this; s: |2 G; z: m$ h

- @5 B+ J' [4 u+ N/ d8 P8 F) gCode:+ T2 }: x8 Y8 w. t
#ifdef __QUGET_SWAP_FIX9 n- \: a$ l1 x7 F4 @
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )4 l6 t4 _# e9 c7 v" ?& u* R/ k
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
* l. c! J, n& i% B2 y' |% b! S+ |9 y% A# A
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )$ ]1 R2 @/ P: e% v
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" b1 d/ ^% Y$ X4 q3 H5 `* W9 o1 x: C
& g+ O' X3 x- b% y2 p7 q; _8 v7 a                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
/ G7 G8 d4 u+ r# u4 z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );3 v$ |1 L6 B! P2 W% n5 x

1 O8 R- R+ f, M" U1 v* C#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* h3 k( w7 T& ~3 i, f- r
* v8 J* P( f1 `* e. U: y( Y
0 y/ H" }1 ^3 |% R- N

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-3 16:13 , Processed in 0.058484 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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