飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
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
& n  D- m$ U. \I posted this because someone kinda posted a youtube thingy about it :O.
3 F5 A& h1 D8 c% d5 E  e/ w+ F: I9 c. R& |% d
Find this in DPSrv.cpp @ worldserver" H( N( I: t; L/ O9 U. |

* N* `7 e; P+ k: V  vCode:- M. ^; @' [( T% }& V  Q4 v
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )% p& A, \" _3 v- a) T, k& W- s
{
! P7 N0 O& z2 [        DWORD nId;
  w. M. Z0 }8 I, Y1 K; P* ?: e        int nPart;
  U: Z: f  J( a. O, g. k! _( b; M: t( o5 U
        ar >> nId;2 @& e1 S4 v0 E" R% ]2 |
        ar >> nPart;               
, z. _6 D; A! K+ F       
- n1 p5 s+ O/ S/ Q8 Q( C        if( nPart >= MAX_HUMAN_PARTS )        ! I" L$ T0 M! t( N6 L2 q
                return;4 }$ t5 v3 [  I8 c0 r

, x; I2 k% B2 t8 V7 b* o* q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
# I  T9 d; Q" f" ^
* ~* F- T5 Y* r. V
! h( Q/ ^9 O2 r+ M. Z+ ^9 YCode:5 e: ?6 `( Y- i  b4 l8 e, o
#ifdef __QUGET_SWAP_FIX- u0 o3 R  R3 Z0 _5 H- h5 ]  C& u0 R

$ Z# i9 c7 R2 a' _' @; B                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
( B, g5 T( a" n  n7 z8 O. ?/ |1 N3 r                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
8 R; f" _4 Q% ]" ?
; l3 U% W5 _3 h4 |                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )  `3 n* g, N; i, R7 ~# k* E+ y
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );9 V- F9 x# E% |. f; l

) ?, C% j2 v+ v8 P                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )" K5 C8 O  e" x& g  ^  H: @  G( f
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
2 u* h2 x/ j6 D) W* A  r1 E' Y1 ?9 C2 s9 E: o
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
* X* W' f; G: cand add under7 |( _- ?5 z1 B  {' g  n/ \7 ?

$ b7 J/ Q* c, A7 g9 b3 Q$ jCode:
0 T* G  B$ i' z( N" j4 Q5 mif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )( C. K: l/ w  [4 O+ j7 O  b) y
                        {
- ?7 o* {3 t! Y/ ?) B                                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 );4 ]* A6 J8 v' @4 Y8 Y9 ?- l! C$ z
                        }this9 ]. g2 C6 ~! c1 \

. e! k1 X6 Y' D+ r$ ^Code:
& C5 `$ ^4 \* z( [0 r" |#ifdef __QUGET_SWAP_FIX) A! e* d. W3 M4 p, N9 E
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
: e3 Q$ t) F0 c- |' d                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
2 l; ~* H7 v; c) v8 [+ f. ?
7 B. p% A4 Z. R1 Y) W9 `7 Q                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
, M6 X/ j6 u8 ^0 i                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
3 h2 f4 `. t2 O3 b. c+ e) ?' C" t1 K0 c4 m
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
. X6 \9 O; g) K                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );+ `6 V) ?( s; \2 x

, \- F: S+ S$ M# a4 d#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
* P4 }: C6 X/ N$ r' P& s% \, L5 k& n! F" Q% T# @

# h6 f/ P2 F3 L' H  Y

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 14:03 , Processed in 0.066270 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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