飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
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
" @( P$ ^3 k9 L  N" |* ~' zI posted this because someone kinda posted a youtube thingy about it :O.
$ b+ e4 A5 u; Z: W% V8 O
2 N3 M8 r) J* R2 M" P+ bFind this in DPSrv.cpp @ worldserver
: N5 ~# M2 \/ A
4 F  Y6 n& E- l/ F4 e7 v9 a/ aCode:9 m6 @$ h5 x5 M9 x. D& F
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )" L( d0 M: g7 j
{4 @7 R3 E4 d4 A5 k+ h! X6 n5 X; B
        DWORD nId;  m1 V; p1 E5 O* x
        int nPart;
8 j% T9 h: }, q* v+ r
* O; e# H0 _7 h: ?        ar >> nId;
) g5 b5 m1 z3 p9 n& C        ar >> nPart;                1 U/ e4 }1 S, h
        6 k# M/ p% C! {: e
        if( nPart >= MAX_HUMAN_PARTS )       
+ j. C4 }( E4 c& p' d, V! K                return;' _1 w# f$ x4 s

/ N5 ]; B4 a+ J/ ]& O( [        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it% G; A: M2 I4 r7 c3 |! g: O$ a
$ c, |/ n) Z' n6 _$ g3 n

2 @( Y3 Q2 j0 s: D, WCode:
4 r' H% Q8 \4 B2 }#ifdef __QUGET_SWAP_FIX9 x' ]3 I" Z5 e! C" e
2 `* s8 i  P- N2 q" B- \0 x- T
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )8 G- C5 u2 I7 P- @/ u+ t
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());7 G. y* c* L' l3 o* E- n& `8 Z

; H2 ?7 _9 j1 S) X                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
. Z2 W' A$ N4 d1 ]  X                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );
+ Q$ l4 ~7 R, `* G  G9 A1 V( a0 R. M8 V  z* k8 C+ _
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )$ E( y9 w+ W4 R& Q
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
  u% ?. w9 I& i$ I: g9 |+ ~- Q( }! {+ g8 J
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp( ~/ v5 Z* @" C+ D- B. K/ I$ r
and add under
4 V6 c7 I- v# ~' V, M2 O! D& E1 z* O, ]
Code:
6 a: N. T9 ~' u4 u5 z, G" Tif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
! `5 P% k- Y% s4 v3 H                        {
9 D, v4 p/ X+ j% j& I                                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' a# f# K: }3 R3 p                        }this" a* P5 O' @- o
9 m# d! c4 i) h
Code:! _5 N) _5 v  d2 R
#ifdef __QUGET_SWAP_FIX/ V! v. b* `; n1 K
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
6 E8 N/ B! E( x8 ?+ Z& u                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());/ [6 B2 u3 Q& i3 s
* s7 N4 X0 v* g! T" S6 a6 N
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )& o% X, a9 t0 G$ }" c  m
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );) O) J) n: G! |2 ?
+ l# ~) p: i( l- ~1 C4 x9 M
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
8 \1 \% v/ A& N) [1 W                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );7 P8 s# h2 b8 z  w$ A3 O2 ]/ h1 A
8 k* w. ^; e' f' j- g# X. K
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver / Q( c5 I5 `. E
6 P1 \  C% N1 u( T% A. `1 k
5 U0 ]3 U$ W7 W/ l5 W4 D0 b! r) @! H! N

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 20:30 , Processed in 0.058947 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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