飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17043|回复: 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 1 o. f* t# T( [0 f
I posted this because someone kinda posted a youtube thingy about it :O., c5 g5 Z) B- D5 k0 Q

" o; `; E5 M# H3 ^5 a+ |3 r# eFind this in DPSrv.cpp @ worldserver2 H1 n- z0 N( \' A
2 M5 V+ M8 R) N6 x# ]
Code:6 [: l( P3 E. c# [
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )" O% m- V7 V6 c! x. Z+ z) a; G  t# ?
{* c6 e, _( E+ j& K/ t0 e, g! Q
        DWORD nId;
2 O8 K; O9 J. X4 I        int nPart;
) T- g' m2 t) n/ q! ~  F. P
: }' T2 O, }! Z5 A3 s- ~# T        ar >> nId;
* T" \* k, p1 P! v2 U$ E        ar >> nPart;                7 \" ?6 N1 q! R8 b" b6 l1 x
       
; z2 V& o$ V; D( Y: H        if( nPart >= MAX_HUMAN_PARTS )       
9 ^2 q! B3 u: j' O! h+ l                return;; I, F* b, E. z& Z; `
8 R' N0 l% H" T1 T( l2 X: W
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it2 q: D9 \- _  T3 \; d; Z
' r" q. v/ a# n4 Z

6 ?8 q% u) U, {- `Code:
) m( K  ?' [& F9 T3 n" b) i# V#ifdef __QUGET_SWAP_FIX
. [5 t! p$ W8 |* z5 i0 q' W3 q' L3 ]% p( t0 H* x
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )5 Q5 g8 M$ ?" e* D( M3 O
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());; y* x: f  b8 h) }7 r: T5 r& P

4 S( }& o6 G+ o                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )- X4 a, H* J2 K2 O' p
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 j" p) s, ]: F' H; ^, J, s3 `; j) T# F. M3 X, T4 q6 l, N5 h
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
% j0 j  W5 Y) i; u8 x# A# |                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 }6 K1 S, f, Y$ p' ?# B1 {* @; S
" [2 R5 [* Q; z$ q3 R$ |4 s
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
8 N' S6 W5 Q- L$ A& zand add under
) P0 v0 J  \" K  w9 g3 s: G2 `# s% ~; v2 a# \4 M. h, s8 Y. ?
Code:# F. O. M, m3 m9 |3 m( i7 m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
% n- `" Q5 f; R* f9 \  n                        {) Y" G* U+ L2 {
                                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 );+ M- _: E4 A' v- t  o  d
                        }this
' M# J8 f. z" r. V3 {" ~* x0 D# _2 d& u  R
Code:
$ m. `4 s8 q1 z# O# ~: b( B* X& o+ h#ifdef __QUGET_SWAP_FIX& l' r7 h7 v2 ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )1 i8 J6 B% x0 b/ r
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());) S' l- S$ L8 d; V( G# t0 W: t

# a1 Q4 J( @5 [3 g/ l' K; S6 e                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 ]7 b  C$ e) `8 |                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
' z" g8 ^3 [  B, k: S! x
7 O& W6 d- r, |1 }; J                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
; S  D8 _  v; A2 z                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
/ _+ m& S# D0 G* W- v0 ^4 s' w( h( |6 S7 U( K
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 8 C" W/ c% ]0 V5 m: w

1 i9 p- q8 F0 k$ n( p$ X
$ C3 f$ {% D* ?( p

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 12:10 , Processed in 0.064622 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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