飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11198|回复: 0
打印 上一主题 下一主题

修复交换错误

[复制链接]

200

主题

203

帖子

984

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
984
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
) w: {/ x2 {7 X; OI posted this because someone kinda posted a youtube thingy about it :O.
5 W1 |8 x+ K: F# I, [
. v" q8 ?! H! ?' u+ a& KFind this in DPSrv.cpp @ worldserver
2 ?1 \2 j. h! w& ~- H
7 w: T* i, }: J+ FCode:2 g( R" |/ v& K9 y5 C
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )* M* E0 R+ t% Z, c9 P- Y
{6 {+ K- N! c* I7 K. D) j
        DWORD nId;
  Y. W9 q3 |% h5 E% h% N1 j        int nPart;
# s$ C1 M0 ?& H4 q& a1 A
. I7 M* i/ p5 c& n0 [4 ]        ar >> nId;
" Y- B( V( j) m        ar >> nPart;                " u; P  l: |( Z
        2 `" ?2 p8 \2 d8 I
        if( nPart >= MAX_HUMAN_PARTS )        ) P2 @# K" @3 s2 X0 c2 l5 ^; g
                return;
$ C( n$ b* W+ ?$ f6 Q2 x8 M; c6 W5 y
( g0 W3 q8 g; v7 X4 P        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
! l* l. c; ^" F% Y7 R3 y/ R" S
6 D6 M9 J7 l- v: Z8 W+ v& @/ I* K) D& |, y4 y$ }4 p, Y
Code:
$ ?! f+ z8 O, i# L#ifdef __QUGET_SWAP_FIX
' b2 |: [8 p7 m4 N. l5 `' o( O4 {7 c! K
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
9 d% \( Z" }( F! v( s/ w                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());0 y* P% p- T9 X& `) j5 b9 D
1 v# n* K# E4 _  x% Q3 \
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
% m; a2 C! N2 C. }% A2 u                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
( W8 p6 O4 x% f$ u8 V. o$ l! j( @  T8 H6 x' t2 V7 j
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )- @2 N; Z" K  q( |6 f- b6 s9 Q
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );8 B( ^0 B+ s2 ?2 h7 w

4 N! M3 U: u. Y* S# `4 @#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp. `" w  d& v2 U
and add under
' ^6 x& a1 T3 ~  T0 M- w# t! E
1 ?% J3 t/ T) `* X) E( U: FCode:
8 ^/ Y3 M/ D  n0 H# ^  X9 R- Yif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )5 V" x+ Q. l1 |. ?3 ~
                        {  c0 b" U8 ?2 W  H
                                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 );
+ i5 ~6 i2 d$ J% ^& E+ j, m6 R                        }this
& a" g% b# W" \( W0 C" W/ S, m. Q9 }* M9 b( ~8 H# A. T) L  x
Code:$ D: A. p; C# u- O
#ifdef __QUGET_SWAP_FIX0 H/ d3 \# |  {: X/ b' N/ ^
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )3 T/ @; I6 v+ S# `
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
' T8 t# j$ U9 E, m
9 j" K. v9 O6 \6 x% {                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
4 |6 ^7 b5 X: T$ a8 D8 G                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );- y. R8 |" n) w: U, C) L8 J
2 }/ R! V0 M* M% _4 r6 n) a  ^9 a9 M
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
9 ^( Q) @3 g3 D6 h: D                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );8 d, K* P0 ]: {

- {" L9 s1 }7 _( I  {#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 9 _8 k, ?0 Z: U& ]1 n: l; S' m
: E5 G1 P$ Y" A; e

  V/ S8 B! O' @

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 02:15 , Processed in 0.097001 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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