飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16438|回复: 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 " Q+ x$ k. \+ ~5 ]9 E+ x
I posted this because someone kinda posted a youtube thingy about it :O.
7 Y- `+ ~/ G' c2 H+ ?) B8 ?0 u7 U6 f% L4 [& ?
Find this in DPSrv.cpp @ worldserver
: _1 o  Q- z( a6 P% M" ]$ t" O: _  p$ \1 G, D; @
Code:
* f3 D/ z4 Q! R' l$ W+ Gvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )( n" o$ @" W; |7 f* U
{$ N1 b# K5 T, Y, ?
        DWORD nId;
% r0 j1 K. l) ]6 ]  P" E        int nPart;
6 e+ q7 U+ B3 w3 W) P' ~. c
5 N1 z- L0 ?9 F: @" Q: _        ar >> nId;1 k# g* o8 Y* E$ ^+ L8 I) o+ Y4 A
        ar >> nPart;               
, n2 Y: n8 j: Z       
; U; g; S5 g% g        if( nPart >= MAX_HUMAN_PARTS )        / ^' G* B4 B% z8 X6 L4 ^
                return;
7 T4 s. o4 }/ V+ l8 C9 l
3 _. g  i; k0 `0 K' ~        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
7 m( m. M7 h/ S
- i8 Z$ l. D: O# ]3 u* g; L
; d1 n9 B  H* o0 u0 }) F/ CCode:
% v5 R( Z4 [. ?7 i) v#ifdef __QUGET_SWAP_FIX
. Q7 [/ f% T2 c. N: ^8 M3 ^8 g* h" _* X4 `7 c
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )6 _4 Y& L4 m/ T
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
+ X& T! `7 x( X4 \% c* t
4 Z: F# ^. Q- E0 F" F" |                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() ); E% z/ i2 }$ n2 n1 G" Q5 M/ @
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
2 b2 `. P; z$ O' z/ }0 [5 A9 r/ o* k/ ]) z
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
" W* ]! R; O1 a                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );0 s% n  W2 o2 U4 ^' `2 u

% M  J7 Q1 u+ v$ @- B) R#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
7 n9 g# r" i/ s- {- i# S0 C! _. Eand add under, t; z% ?6 {% T3 r8 a9 l7 E

+ P8 [0 z# A% qCode:
8 b* B. X  f+ `1 h$ X: Xif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel ). Y0 N1 s2 _& W3 a8 V9 ^7 Q! p+ {* Z
                        {
6 Y/ b. M/ v6 ~                                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 );
! o; t% d( a& v. e                        }this; j9 N/ N  L# y5 u) l

3 T7 `/ x6 \  [! n! i8 p  QCode:! ^8 V$ r3 L5 e. H
#ifdef __QUGET_SWAP_FIX' p; M$ b; \" `
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )8 b  L# g4 c: f4 G
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());. @( H& ?- y8 I4 F5 t# y

! p8 V# F: M0 ~7 u, c- p                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )# E7 L+ D- Y- f" e: x: }6 F. \5 A! Q
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );7 e; l. h# z( Z3 A

4 U; k% {! t; E5 x( O, [& f. ^' B                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
$ o4 M; A5 J9 C) ^$ }" O5 k9 L                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
0 u! }: t- W# r% {! t% b. P3 g1 v3 ?
+ ]; U+ S4 }% ~" v* ]) B% f#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
+ O" L  N# s7 A% m  u# d
3 D5 @' N' c2 K# k4 P- K: p/ A
* _9 n( J+ m" O8 o% r/ j

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-11 18:10 , Processed in 0.066525 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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