飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1090

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1090
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 5 ?$ Y4 m( d  I' g3 x
I posted this because someone kinda posted a youtube thingy about it :O.
/ b( x% F( y. \4 p
8 M/ X& _/ r5 \) P$ m: d, h) J/ MFind this in DPSrv.cpp @ worldserver$ X+ U" d( ^5 z0 C% s+ F
4 ^3 }, ?2 ~2 Z3 [
Code:4 U5 T: I9 x  O! ^  q; G
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
! M' w, l7 ^0 s{
% `  g. V2 ^4 R        DWORD nId;
; j% M/ E* O  L, z2 e& x, d        int nPart;! M6 k, Z  P9 l1 e3 _
; }7 e+ V3 M3 a. k; ~
        ar >> nId;
) U$ M; T5 N( u+ C" h# ]        ar >> nPart;                + J' Y( D! E6 `4 ~1 C- y
        # v$ ^) U$ _- W  G5 a) Q$ N
        if( nPart >= MAX_HUMAN_PARTS )        % k3 F8 Z) C( C
                return;8 N2 c% M3 t. ]
; T# L! T. h7 K9 Q$ u4 D- j
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
. m* G* b/ K- \9 z2 y2 s  W: h+ t- K5 G1 j& z5 T: {
+ i1 w1 `0 E9 ^- V1 V' Y+ h3 o' [
Code:% s# `  W4 k9 ^7 D; ^
#ifdef __QUGET_SWAP_FIX' L6 {' F  ^7 X" E. r1 y- @. u

3 X8 K9 R! J* R1 Y                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )4 ?" k. H+ F0 {8 F* b  L
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());( W* w6 x5 N7 h

5 |+ s" S8 E6 P! e, B( n                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ t( M/ y9 s8 l
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );' e- X4 M" k4 v, J

0 g* g* ^& o+ u; ~6 U- b( K                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
' k4 ]  c  q. Y                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 H3 `) N7 X3 k! s
8 H8 ?- D" p. T6 `( l
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
, b- H0 C6 C; j4 Uand add under
0 h# r/ E1 r) S7 p& d6 Y: Z& E0 _, a  w
Code:
2 g; B# T8 F$ o& B4 a# qif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ), D2 h* {+ u8 l! H3 C5 d3 u
                        {
8 {) |6 {6 n) M6 u) N4 _                                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 );
7 F7 c. N5 g: w7 @8 E3 E                        }this
0 d) U- o, k* ^8 y) R2 ]) h  @* S* H
& X5 a$ B% @2 i: q9 a8 W& HCode:& e) h! _6 g- ~
#ifdef __QUGET_SWAP_FIX& ]9 o& v* y. P4 o* f& b
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )* v$ e) g4 z5 k5 c% P
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());1 M( ?2 C  X" m, ?

# a' y  a9 x& w; A+ r                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
$ q. S" s! y! }3 O% f                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
$ r4 i* b' Z2 V% U4 [2 z4 |7 `6 q
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() ), b  j) N  ?+ D- J" m
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
5 e* h& A$ |- }4 o9 h- m' ^% `& S; B2 K5 g; i. ]4 Z
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ u' {/ M7 ?3 v# R2 M' j; k( x. E) L4 y( a% T: W8 X3 `8 f

. L8 Y( A3 a' a/ a7 E; v4 Q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-28 17:36 , Processed in 0.068200 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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