飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17110|回复: 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
, ]& p3 A: v6 d5 nI posted this because someone kinda posted a youtube thingy about it :O.
7 o) F* N) k2 p, ^, ?
: g& F$ v/ @5 ~9 DFind this in DPSrv.cpp @ worldserver7 B7 Q" n, `7 t0 ?3 K. v; D
8 T3 ]' C3 ~1 d* W5 I* p* i
Code:
7 z& I  C* A: `7 e0 N$ F0 f" r: Qvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )5 Q0 `$ U; d0 U* u$ N: i8 c
{
. A" o) G; A5 F" N        DWORD nId;4 ]' k7 }1 l8 q- @$ D( ]
        int nPart;
1 _7 t$ h- |4 c* H+ F: E5 Z( c, }# ]# I0 e$ b* @0 I+ F
        ar >> nId;& `1 {; o4 s4 M5 _0 y* J; I
        ar >> nPart;               
6 j5 j. T! y. G5 N# Z        " ~+ A0 G0 r4 o- ]% Q2 D
        if( nPart >= MAX_HUMAN_PARTS )          V8 t0 G/ ^7 H" V0 U0 U- J5 R$ M
                return;; g2 s7 B+ j9 z6 I' {1 V$ f

/ A+ D% h9 l% u0 R( h: O        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! b7 X) z& X- ^3 m. Z
9 C, q. b5 C- E' Q
+ E# F* e2 S. Q2 q6 }Code:. x: W, a5 ^( o# c* X  D
#ifdef __QUGET_SWAP_FIX, Q7 x6 P0 q. j& Q# \% K
( _# Z$ {  r  i& y# s: D
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() ). S) p" Z- y! J0 W: Z
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());) m( E& c, u4 T
! h4 W4 j% L: D2 J$ V! B
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 n6 m0 H# w2 w1 G5 k, B6 V! L+ S                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );; l$ v2 O5 ~9 A* [2 h* O$ a
6 c9 n/ b/ |+ p9 M+ V9 q
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )2 Z2 U7 `. t6 j2 ~8 v
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
% h: i: X1 a% o' a& ~
* ~& \) E1 `) U% I* o  g#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp4 U7 k! N& Q; p# O) S0 X/ @
and add under4 U! F+ _, y8 X% A; ]. O8 _

" e4 ?7 v% O( ~. {Code:- s5 v: t5 o+ J; D
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
) p# w/ E3 T/ [# L4 W                        {
; b8 Y( e$ i8 |. [& ^$ m* _6 m                                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 );
0 T" x. X( D- ~1 E2 p: A; t5 w                        }this
8 C7 `3 c$ w* Z  J8 U# c3 A2 ]: g" e4 i+ R1 H$ U
Code:3 w! Q. i3 G! F$ S
#ifdef __QUGET_SWAP_FIX
2 [" S! S" ^. B$ K8 J/ _                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
( l7 @( R, a6 h; I- _                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
; C* e2 w) D: d7 Z0 {: t7 R9 K1 p& j, w) @2 l8 F
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() ), w: a1 W  _6 x4 g+ b
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
' f5 m3 R$ [! ^  N+ ], K% H
/ E8 s1 T' E) n4 P" {0 j* |0 f0 g                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
5 S) I% m% s* F, ^9 l2 j2 K/ S( j                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );& X$ L8 z. [( U
; p" W* b; c  Z, R9 w$ n# c
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ) L$ C4 a- H7 P
* v1 _1 T7 ]+ m5 r/ P

" r8 t3 X7 \$ K" q) `

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 02:02 , Processed in 0.210294 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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