飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16960|回复: 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
& I  v+ b# g; r4 HI posted this because someone kinda posted a youtube thingy about it :O., ~* n) \- l% p

) n  H4 S+ q& j4 o, s+ [0 e% m# m) KFind this in DPSrv.cpp @ worldserver/ Z3 H/ l$ i! V. d( d8 z
0 o' R2 _1 s7 g7 D3 v' o
Code:" }4 ?0 S; p1 v. q$ P( h
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
' F2 y3 F, ~+ o1 H{
! G. s* |* D# ?        DWORD nId;
/ \9 t. V( x* A; x        int nPart;, X! G/ z& W" f  H( b

: }' ]2 K( O  V# ~1 K& O' L        ar >> nId;9 a5 Q* D2 z$ b' {! G
        ar >> nPart;                  o* g" J, ?  Y  o1 ?
       
" ^8 ]8 b' C, Y9 _( {        if( nPart >= MAX_HUMAN_PARTS )        ) s$ |. m! l" [% y
                return;
9 K0 o) M4 _7 b3 a! C# Q$ ?2 g" D; r; h; J/ L
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it, l7 R3 c  k9 k* S6 [
( F2 V% \* h$ R1 E) h: W: V# T% I

0 U. ^: F: I% C# A# |$ P4 dCode:5 m/ J  H4 c# }( j# o" y# o% }
#ifdef __QUGET_SWAP_FIX0 @; g6 D3 Z' D% \# S4 h

7 `5 O9 T% O- v  j# A                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
& r7 W7 S4 ~  p; F5 u3 h                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());' ?, z3 Z( f+ C( a- Z. v
) r0 l4 w* F9 @. d: M2 S
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 b) f/ f4 A/ M1 D% r                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );, O7 l$ W* S% d& j5 i* H. r$ n! W
: Q3 E2 w+ G1 B9 e/ J5 @/ G
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
; E7 w; k9 k/ @  x                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );) O, u; C# ^. ]- Z, y
, L' n: ~9 j4 ]8 I# ]* g5 |
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp9 V, t9 s+ @  m/ T. ^
and add under
4 _0 w6 p: O3 j3 J1 o
$ r- h: C+ t' L  S! Y/ yCode:
' \6 K' `+ I* C/ `8 ?$ Hif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 ~" a& i% G% O$ X$ c$ ^' s! u                        {
& k& L6 g. N" v, W                                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 );
# s" _. M6 v( u1 F! G# I9 \                        }this, ~! H+ t# i# H) _9 C- Z

2 E, D: t0 V% a7 LCode:
6 `- a* X" R5 a% @#ifdef __QUGET_SWAP_FIX* c, b) H$ h1 N
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )  L# _: H( n% D/ G1 J' i8 S" M
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" u  h" l& o# {* |* Y, @( C" g7 `( ^4 J- Z
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )% Y  ~% D: D$ U+ H2 N* l2 M$ T
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );2 ]7 J9 i; A6 h* ?* e

* {7 o. ~" v6 A                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )! W7 v7 Z: o5 e# ]
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
2 Z$ A0 v4 L" H0 U; h( B
  w8 I. P. w5 A1 ?$ y- d/ [#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
8 F( s/ [* R/ s8 a( Z* X- v. Q0 k
# Q& k" J( ]7 g* ]9 w; J
- ~. i9 Y: e! {' |5 C9 ]& J* K

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 01:23 , Processed in 0.061177 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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