飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16887|回复: 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 * O* P9 a5 Q1 _% f8 e9 t7 T1 _
I posted this because someone kinda posted a youtube thingy about it :O.
8 T6 T$ x4 r- k5 ?) B0 U! ~/ S" [7 l3 F* \
Find this in DPSrv.cpp @ worldserver; k3 |4 e3 Z; b' J+ z# Z3 [6 U- p/ w

1 V1 d/ b7 l3 t  Q" dCode:9 L, U9 {- u, v- ?3 \
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 i0 ?; P  \( v) l- X8 d
{) }0 V  c! F( h9 P# b& _* q; ]( Z( i
        DWORD nId;) }. r0 b5 {4 H3 P
        int nPart;. z/ v6 T, }( X1 _- a( y: v+ Q

* w: c3 Z* C, y0 E- D        ar >> nId;: I, [2 u; Y% z; f% n1 O0 T
        ar >> nPart;               
( w8 l: h  _' R4 Z2 c4 f        ! K% C: m* K  e& S7 ^
        if( nPart >= MAX_HUMAN_PARTS )        ; E* p, d8 I7 m* T/ e3 _4 j+ t; w$ O  s
                return;1 F- D* C, g* W  H4 W/ ?
/ \2 ~9 a' Q. U, I. G
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
) F4 L# Y( j9 U% m& A, D) w+ k/ P  \; q4 H$ A: ^
0 v: u1 Q# w, M+ z& w1 C) @( e- B% u
Code:
9 T4 ~3 i* C2 i# z) n#ifdef __QUGET_SWAP_FIX) e, a2 W/ K6 C  V

- v0 q7 L* t& `2 X2 _7 F8 r                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
+ x( B% r1 ~2 m4 k7 _* N) y                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
- K1 b5 K. {1 s( x/ i7 s9 T! \/ {# f
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
' V0 {) H1 Z3 T% X  i                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
: D9 O! h6 |) Q, K3 G! s2 W* _
: G  N2 I7 K4 e& v                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
1 D6 c( w- \! [% x                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
0 w8 [' v- o" _& u5 n: v& a3 c% c9 u+ U( b
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
/ }9 `! R9 n* ~5 l/ q% A. N8 eand add under
" s" c5 A, D( A, K. U% x4 h* p% z) b. C8 D
Code:
: A$ w+ R# ^7 D# P3 G, }  {if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 y- w! |0 Y: X3 a6 W$ T! ~                        {
1 e% \1 T# P* d) x8 i7 }1 z/ _                                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 W3 ~3 O2 Y7 l) e, P
                        }this( {- e/ Y: u; W5 U
" Y9 b+ v5 D: y9 V& {! A/ q/ `4 \( r
Code:
2 K( ^; a% M1 r#ifdef __QUGET_SWAP_FIX6 m2 \% X) g1 ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )& v: [- A9 I" k. z( [, C
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());# m1 k) M( a$ @& Y6 O4 L# }1 @& n

/ U& `: Y) S% ?0 y                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
- c2 R: e1 z- l/ U% F                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );/ R* f) H' Q" \5 K2 \3 x4 ~" J" Z

3 Q+ q5 L8 e+ ?; a* a# O                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )( j' ^; }- W, y; W# i% s
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, m8 G+ [* M7 r, @% N
  S; U0 X) w3 c7 j. f! H" m  n#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* `* l9 B# }) h6 R
; k# f! j9 f' k$ z# |' W  t8 V: E6 e! O' d5 I1 {8 I2 E7 @

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-11 11:22 , Processed in 0.066186 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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