飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16212|回复: 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 ! ~( j4 b2 x/ o- k/ I' {; B
I posted this because someone kinda posted a youtube thingy about it :O.3 I9 x, b- y) M

6 M: o) n  Y6 X5 F  p% j0 W- cFind this in DPSrv.cpp @ worldserver- C. R3 q% |# C- m. K- a
7 e3 X4 y$ Y" z' X7 T
Code:: F  l1 O1 [' g( I
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 C* l, B) [$ q# g7 [
{$ o2 t; u- K' B, O6 R- ^
        DWORD nId;
* b) b' ?% s( u" {5 x& n4 ]        int nPart;
8 I& w, Q0 d; ?5 `) N2 _$ k2 X  E; T  J
        ar >> nId;
2 P' v) [9 X% c        ar >> nPart;               
& L5 O7 t; _( w        # M, \8 v# ?: s
        if( nPart >= MAX_HUMAN_PARTS )        , T6 D. `, E) Q4 k
                return;
1 ~) d2 K- y( o  J4 a$ j+ s2 Q
0 K1 F& F9 U1 G: X- m3 \        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
2 L' m) r! O% e1 g$ U* D4 y2 F4 T! M+ Z/ f9 ?" r; F' Y8 q2 L

* D2 Y/ j" \4 Z5 J6 eCode:  M1 S( g/ {2 I
#ifdef __QUGET_SWAP_FIX
* |7 A8 _* K7 O
2 n6 e$ O1 [% O+ M( H+ v$ k- a                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )& [! ]! O, I: h4 _# E7 ~/ W0 x( ?
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());* [- {5 h2 E- D' E0 ?/ e
4 k+ e  ]) {: B& s: Q3 ~
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ G4 B6 G" q/ ~, E
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
; K0 p# J' a0 n- G5 }6 H9 d6 k4 X  N* t2 I0 y% T( e- ?
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ); _% N4 Y: z/ q% D# A* m
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );5 i. R& R4 F2 V3 R" t# D

: b8 U; U" ~% x( L4 t#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp6 ^; t9 [& d2 Z. T/ B  P/ L
and add under9 E, p6 a! }. u# b' D) y/ x* C

* H# v$ t$ ]4 }Code:; g) B% S3 B5 {: G2 c
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )" d6 n4 U3 v$ Y+ s+ f& [1 f
                        {
8 x( T( ?- x3 j" Q& r; W/ z! r                                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 );
, Y( R+ \+ h. V8 N! U6 s. O                        }this
6 J6 H/ P& q! c7 F2 W+ p
; Z; H3 T. i2 fCode:
2 o6 P6 ^9 ~. @3 B4 }#ifdef __QUGET_SWAP_FIX
1 w& X" Y. C0 i/ A' \) B8 s                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ): h, g; N2 X1 Q) I
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
  K0 n; n/ p( C0 S, ~3 |7 o. t; i
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )9 i0 c% o1 o# r4 P& v# M2 |9 r: Y8 H
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );5 b8 E! ?' M1 C( D# L( e5 K
/ O6 ?4 @. r3 w/ U: m" _" \8 U/ u' Z
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )8 I0 p5 i' z2 C! k5 f% |
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 ]1 t9 I; a% a0 d" G+ \9 Q
' F7 X; N$ K; ^+ v
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 q7 K, B8 P5 h% x9 Y0 L: ]! E. x

% ~7 H: U  p; T! q% w/ T
* h# U$ i5 n+ f

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 23:41 , Processed in 0.133350 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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