飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17136|回复: 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 ' v' b- A  j9 j  Z  H
I posted this because someone kinda posted a youtube thingy about it :O.
8 o. Q3 b7 G  z$ J3 P4 `; u! [* b5 M9 d1 M. E0 S* t! [
Find this in DPSrv.cpp @ worldserver
& A8 |- X- C; P3 d1 I2 ~9 a. T. P
/ ?4 P8 V4 I4 p- Z% u, P* ?1 w$ HCode:
( X6 `9 ^7 h. h# t, J0 Bvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
5 P" W, l1 \2 m" b{
% E9 m( @# s' H0 k        DWORD nId;
% j% _* ]3 f8 F& f+ L        int nPart;" I6 h; n7 i! H! v

# d0 e2 p, R. D6 u6 E! V; v        ar >> nId;1 X" E$ k; k% F: O
        ar >> nPart;               
4 b& G* R3 B! C% b0 r; |        " v' R, }; R7 P8 {) V
        if( nPart >= MAX_HUMAN_PARTS )       
' [: ^# r% d. n9 m9 ~                return;! ~" V' `. g5 C
/ N7 ~* b7 J& y0 {3 K. M+ I
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
/ D6 p4 ?/ i& M0 K( P: s! u3 j6 r5 n7 F

6 \6 @: \6 C$ s  ZCode:, E! j( S* s" d7 c( y
#ifdef __QUGET_SWAP_FIX2 I2 k+ h. p" U0 W+ Q  U

! x. F1 t" ~' w& B, _                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
$ B5 h* o( g( W- y9 D  F! m                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());" V2 \2 A( U) k2 K  Y+ p

* _, `$ a0 b" m, p                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 }! ^4 n5 Z( i$ q6 t! C                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );2 g" {. \; g( ]) w3 R

9 T4 L1 r* R: [                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )2 J8 c6 [& G  R2 a7 k
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
+ Y: m2 q; F# [! ~/ J, V, b$ Z  Y, u4 K2 a
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp5 [0 {9 s1 F) e  Z, g! B
and add under' H2 ?! m  V% X- q! K6 v
0 ]$ ~. w5 R: T# E1 |$ k* S
Code:  c0 N5 M! K; {! p' y' {; ^
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
7 f+ a$ \% A' n8 k                        {. B0 Z  i5 X3 l4 ?8 j( G
                                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 );- N& {3 H. P, K# Z% B# W
                        }this
% R# o% i9 O: v6 u/ ]8 L+ o: N: \+ Z  R0 k$ l
Code:
7 ~/ m0 B3 s: j1 r1 o8 v) V#ifdef __QUGET_SWAP_FIX3 q& P, X& O1 f& @# o" h6 j; Z
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() ); _: `- j4 ?6 X, [7 o' i1 N; m2 B
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
" {/ g+ S6 Y  m0 y, R4 g
8 q9 a2 W' v& V6 {5 I                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )- A# F: w- Y# p1 Y# j( W4 s
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
: m. H9 Y6 W" o* j9 P" u
% @+ _0 r. Y# g. A2 d' e' g                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )4 ~+ I! Q! Z* o( S4 R8 i
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );; Y9 g, F2 t' t, l
& W! T3 o3 s$ j2 ]4 C# n3 {7 r
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
: f/ s# [6 \: C6 J. f
+ Q9 S4 @- z& ]# \0 e. ?- n5 n% ?' I+ B* R

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 19:08 , Processed in 0.059586 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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