飞飞世界论坛

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

修复交换错误

[复制链接]

197

主题

203

帖子

1064

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1064
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
' F; l, Z5 Q! d" w3 R, _  ]I posted this because someone kinda posted a youtube thingy about it :O.
( z  _; N0 F. F' B: ]# b7 |
& g. O7 ~( `  `+ cFind this in DPSrv.cpp @ worldserver
: T8 S. d* ?: A0 L2 V: Y+ o2 s- ^- P2 H; y/ W5 _8 R7 G6 M+ s
Code:  l6 x3 B. _5 X
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )9 b4 O) R" T7 Y+ n6 ?
{( F7 d' f! [  B8 d: b
        DWORD nId;9 s( U  }% [' Z
        int nPart;- H1 p# g; g8 \  y+ D* I0 z! k

8 h0 \) A: t" Q) n: o; g$ E  I        ar >> nId;2 X+ p9 V* @0 A" ?% y
        ar >> nPart;                9 N/ Z/ X* p; V- X% j* K
       
: j6 w* n1 ~2 l: u" Z# Z1 E        if( nPart >= MAX_HUMAN_PARTS )        2 A" |' ^' a5 W4 M/ |
                return;* {; x- Y) s; `& V
- [9 b+ r$ L1 ~# A( {$ W
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
5 F9 W5 E2 X1 e- {  ~( B
0 g7 N6 `7 b5 s: G
. ]0 t6 D, L. g* ]$ zCode:
4 U7 r) _% _1 t3 a#ifdef __QUGET_SWAP_FIX
& A" L7 H) f8 n+ W, \0 T8 f6 \& r7 {0 S  \  u" W
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
$ Q( K; W9 ^0 i+ P: s                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());6 R, C8 Z# F( z6 E. H2 h/ _& n8 j( T
( |9 ]# J3 w1 u$ r  Z0 _+ T$ ?- e
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
5 U, `' K! @- d# j                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );! g4 D$ R. q9 b7 ]/ o9 d  b: [
+ x1 H6 t  W3 V% x1 u
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
; J1 ~. g6 C0 u0 N                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
9 n; ~, @% h" B9 P1 G' `1 ^8 }, s4 f4 L: V( F, g
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp3 D9 m$ R$ f: V- b5 n6 V7 {" ?. q
and add under. v- g  d9 O# i0 |/ K, a2 @" z
6 ?* j7 d6 o4 }+ c
Code:' b3 V% y2 o  d/ }) x9 e
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
8 L9 z  {! F6 {( f+ O; }& ~                        {
8 _7 e) Q; ^' o3 R# m                                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 );- k6 @* s+ h! S0 r/ d  C  M( N
                        }this
0 n1 p" u5 n9 O2 x) V' F- I' i8 h" u3 y3 [; p
Code:6 u8 T  Z3 D2 s& \0 O
#ifdef __QUGET_SWAP_FIX1 G4 ]7 q1 N( H$ E0 o0 J
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
3 o3 T, c" L5 |" o/ v                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());& U1 I5 S; |/ c' o) x
, R$ M. D# \# F4 d; z; A. V
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
- b) m0 I+ }/ i; X2 z& R                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );3 a' n5 J; g; V5 m% ~& U* D# p& _

2 p- i- l3 t' `0 R+ P. ?                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )+ D8 y, @: Z- r) s+ S  J2 t; W+ u
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );& u7 J: U* s1 m
+ \: U. ?' L6 F1 a* X5 T
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver
7 _5 w5 ]+ v3 i  ?  r, [
; f! c3 N6 p0 t% N, l
! o) O; C8 D6 D# W/ z$ a7 I# k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 00:06 , Processed in 0.061087 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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