飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16742|回复: 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 6 f; q7 r9 `; d& v: l2 ]5 J4 b. G
I posted this because someone kinda posted a youtube thingy about it :O.
; D; [1 G3 g1 Z, c( R. }3 S6 T' n  N4 k0 W/ `
Find this in DPSrv.cpp @ worldserver8 f/ ]  Y! o# r/ ^" k, ]

5 e  J* A5 U8 wCode:
! n" }5 s: }; i! E1 C7 u6 Evoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ); K% d. |# m9 c
{
9 _- Y  C$ P% ]2 a9 w        DWORD nId;
8 ]' T. }3 a9 t" }5 b        int nPart;
6 b4 b* h! u4 T+ W3 O" b$ q
2 J3 N% d# |4 n( E+ U: F        ar >> nId;
, Q1 t7 z5 [" U( z7 Y        ar >> nPart;                $ M8 K* u- K7 S8 r3 o  J# H
        , V. Z- C! c  A3 ]+ n* @
        if( nPart >= MAX_HUMAN_PARTS )        " e* a% ~2 D& d) I, s
                return;
1 _7 K  U5 q4 c0 h9 V8 I3 ?- s( a! _, `+ o* h
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it" z% r! v! o" p4 [2 ]6 s

# j: M7 e; Y7 X0 w
, w( T$ j8 h( F0 E5 J3 w! PCode:
& V- ]7 [8 [; m4 j" N3 J: W6 y#ifdef __QUGET_SWAP_FIX& u( X" O  g; c2 Z

% e  l: W: h! g# x* J% [/ w$ o5 H                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
; O+ ]! _' q% f8 L                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());% t5 J( _, U- v

1 q3 m7 K  _' S/ r3 R6 \2 a% x( ^                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )+ ]% ?, K' E. E
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );5 `  i1 [4 K: H' W

( f* G* `8 u+ N8 b4 p1 I  I                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
. \7 p5 l: A) k3 x9 ]3 A                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );* ?! v8 o7 X3 j2 y
# I, |; X' ~& I- I
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
( \+ K8 M6 O0 ~% R3 n. Hand add under# @5 W7 {$ e: a  B- n
1 f0 X& m& h: d/ t  c7 H6 H9 O
Code:8 C- Z% C6 R  l3 S7 U
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
3 G. X* p( `" S: k/ d! _% D                        {
8 q3 `/ Y4 O+ I; e% `                                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 );& v9 M0 h8 t+ ?0 p; o
                        }this
6 E, m! f9 T4 b( q+ w, d, n1 G% Z* u) g) h7 E
Code:+ {2 Q. J/ c/ d. }: {& z; D
#ifdef __QUGET_SWAP_FIX8 E9 g+ H/ R$ o  Z% ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )1 A/ U: I) V4 @5 p
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());, n& X; M2 v- [) }/ V) u

$ _7 ?! F9 ~) `  ~$ V                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* \# _  v* v- ]" \8 E
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );6 A6 ~% v  W  s/ V. _

$ s% }' G! i' `  g( @8 V8 V                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )" \1 g5 i# m$ `" C, S8 ~' v
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- u$ J& V- B' x
! ]  l9 m3 b1 d$ S# L4 O, X' r8 B2 c3 @#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * u3 M% L1 f1 s( m
& ~# I/ j' C/ \& C
! ~! m8 |$ N: |* e, `+ L' i# K* b

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 06:26 , Processed in 0.063345 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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