飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16461|回复: 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 8 t3 D5 C+ J/ [1 B! Y* k
I posted this because someone kinda posted a youtube thingy about it :O./ Q8 b0 Y' F6 x2 G: q
. P# F/ Y4 t0 t2 K
Find this in DPSrv.cpp @ worldserver5 t' {$ d0 I" f5 y9 {$ A

4 E; Z) O/ C* o# R4 _Code:
6 i" T; Y! _  x! d1 Cvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )& ]1 i- X* _0 G( C) u
{7 @' S: j7 D- D% I; b
        DWORD nId;
; J% U0 |6 s. M0 i8 ^; I+ ?        int nPart;
7 ~  G+ p+ C2 A1 E7 e# Q. x; ]/ u/ P
        ar >> nId;0 z" i# A8 L) P/ P/ F; S6 |
        ar >> nPart;                9 A- N2 _! g% G" ~! N
       
+ Z8 Y3 |1 |% S) J; M        if( nPart >= MAX_HUMAN_PARTS )        1 l2 d3 r4 A7 M4 @; ]
                return;
& q+ I0 p+ p8 p1 s% ~3 B. `" F$ k- ^' i7 H$ H
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
% B. f4 n( ]2 O3 P2 {. W7 F
2 q6 a, e) K' R+ @& Q) ]8 n
% o+ t: r1 g; J9 TCode:5 V" u% W5 `3 u) n% p0 E# m5 s* ?
#ifdef __QUGET_SWAP_FIX
' L6 z8 F3 B7 q2 [
( s& |' T& p1 g' @2 O& E2 Q+ ?                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )% \* H7 e5 X) }- i& g3 ]+ [
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
$ D+ r* [+ j# v
4 u5 H/ j: P1 ~' P4 z( C% W2 h                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ), f3 h8 r9 D  v/ m; o
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
% N  }$ `6 }' \8 A
8 ^3 m* p) o+ r" x; p                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- M" p1 J! j& s2 B- H" c                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );! t9 j9 f1 J  Q+ c  u
# D9 z+ [8 N5 c- d
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
- D; y. M& k5 S: Pand add under
7 d( i" s; y) F8 x5 b7 L
1 x$ o" N4 K7 Y6 ~6 Z2 B3 ]Code:
0 i+ e; v1 a& G  iif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 ~6 o7 z" s1 a' ?* y$ Y
                        {7 U$ `8 _# Z8 y0 n8 M6 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 );' R; u5 ~  m+ j+ |
                        }this
/ c3 q( a1 ?, R9 ]2 }# p; _
) z( V! y  Z0 x+ p8 y5 C* v7 yCode:
) d# C5 Q2 s8 |4 h$ z1 Z, e5 t- ]#ifdef __QUGET_SWAP_FIX1 ]6 [& B2 P7 @) m  g3 [
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
5 O7 _6 J3 K" E                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());' p! w; B( Y. y: ^+ h

% ~$ Y: z% w7 e& a. _- A                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
8 u+ X9 X/ _. G                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
- q4 V2 E& C& D" W4 d/ p7 m6 {+ X* o9 d4 o6 r6 |( i) i, H/ q
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )2 [$ P9 C/ x- \
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 N2 J: p6 {6 X
9 r9 x; W: S. J/ n#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
9 H0 S4 c4 T! W9 r( \+ j+ [7 s8 W: d' A4 ]+ c
& T/ B" N, I/ ^8 q

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 21:40 , Processed in 0.062568 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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