飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16990|回复: 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 ; ^' @0 _; ~9 ]6 D  s6 }
I posted this because someone kinda posted a youtube thingy about it :O.4 B4 D9 L  {6 u) P) @, M

% w; _* [$ p# \( F4 M8 M1 R- I" X: b$ fFind this in DPSrv.cpp @ worldserver' Q. d$ \( h2 [2 V* h; S% b

( @4 Z2 Y7 j5 t. P* d% n2 W, ECode:# @# C% ^; b0 k. R2 Y
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )1 N# V6 S% o- c2 Z
{7 Y' I- m  q$ }7 Q" T
        DWORD nId;( n$ d6 s& y! h0 C( \& P
        int nPart;
* @& X) w& k* U3 y9 W  Z
/ N1 r' W* L7 ^1 M0 B" R  k$ @        ar >> nId;6 M# {, ~. t2 k3 @. ^8 r+ p
        ar >> nPart;                4 w: `, O6 d1 q" c3 H* z4 z& m
       
" f  a3 _$ k1 i$ ]        if( nPart >= MAX_HUMAN_PARTS )        3 E) U$ a: I2 p1 u, }1 ^1 M
                return;
- m. I( W" `( F/ t+ D! n$ m) h9 P" x9 S/ f$ l2 t
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# w5 {5 ~2 I! _' j/ W' `+ ^' i& z
& w5 b4 ]7 A: B- c* F: F$ Z! V6 e8 Q4 [
Code:
/ }2 {3 c! m# i6 T% U/ B#ifdef __QUGET_SWAP_FIX6 Z( {7 v0 T+ d
. h: I/ c$ X. j0 \1 I5 r
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ): d% F' v# z6 Q4 l6 E2 _- _
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());0 P( I( `# I9 ^" W: X; @0 J4 }

, Y. `( c& c) r5 d( ~- A                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )2 \0 A$ S* H, \- D; n- T
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' Y" j+ a6 P$ ^& i: I/ k

3 g! q% o/ S8 J' a- O/ ^8 i/ J0 H                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
' E; ^( Y: _. m- L                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
3 i0 Z  q/ b5 G6 R6 Q
# q; L8 k9 r3 S#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 u, P0 h, v; _$ l5 w9 p4 S& Kand add under6 m1 b: e/ J8 {+ R

( Z* z6 X/ Z' ?Code:% d2 Z4 P( K) j6 t5 I( @5 ]4 H
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )& n/ K- o; m- J& L
                        {
1 t# G. W- u/ |; `9 _                                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& o- m& U8 H$ s1 D5 F- {
                        }this
- ^# q! N3 x- I5 t6 j& j. v8 _4 M# g9 B
Code:
. S# R( m2 l" \$ ^8 f#ifdef __QUGET_SWAP_FIX3 J2 }" O! j* M4 B& k
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ), d9 j2 j$ n' Z4 Z
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());  J( r7 S; l7 d1 |. `
  X% T/ ^  u& k: d9 Z, o$ g8 E0 r
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
3 \( H9 d3 n% _* b3 ^/ ]* U                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
1 n6 K0 P. u8 V) [, k% _& Z% H7 a. k0 d
* d1 M0 f1 g/ Q                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
( M) Z- S6 u* y9 N: `                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );' |, u5 d( H% i! x; R# w- {

9 J* t% l; E/ k) V6 d* ?; h#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / c4 d4 u7 W$ w7 d

: c& v; G. S% K6 j6 m/ m( D9 s# C
& I  i  a: t* k5 F! I' ^

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 19:02 , Processed in 0.061649 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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