飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16591|回复: 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 % e4 c1 Q1 |* x. _
I posted this because someone kinda posted a youtube thingy about it :O.( L% ~' Z; V# b8 G9 H- f" l5 F

6 g# g( {! P  A1 `2 r0 U: OFind this in DPSrv.cpp @ worldserver
3 d# I! K& Z9 K# f  Z' R7 q$ F4 L
% ^! k& q. p8 M/ G* Z. |0 }Code:" q& b7 g( [& ^3 F" c/ S# a
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )  M9 A% r" L3 v  N9 ]
{7 T; ~8 L" Y1 d9 T+ w3 x
        DWORD nId;
9 I/ X2 w1 `0 K  G        int nPart;, j$ Y& ?5 M0 y  T7 o: M4 D7 T) E

; L; \9 H% E' e+ J' N% u        ar >> nId;# u; r. `- X4 i. P% i+ W4 D# R
        ar >> nPart;                + ^7 c4 Z, o' D0 J4 ~
       
1 Q- k% w$ ~+ O) K        if( nPart >= MAX_HUMAN_PARTS )        8 @* d; g# p1 @' O9 l4 `
                return;2 a3 u9 n+ F/ Q

- ~' d, d; E5 z# q        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it
" z3 n" f$ G# }* n8 q& R2 E# S; u% v3 ]( }+ p
. M; p: s2 S9 D( W9 Y" I+ }8 w6 V# Q
Code:
! m  i9 w# T: b" O1 G( k/ p#ifdef __QUGET_SWAP_FIX; k4 U) d" }) m

6 I% i; t3 x1 F! T5 G9 L                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
, Q+ @- w/ q5 m. _1 U& w* D                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
% a" L7 N$ W6 E8 \0 n) G/ N  x  I# P# d) G0 |
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )
0 Z/ h& y3 D# e" Q* b8 p* k; q                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );# ]; I4 x; |# E1 w
& }, s4 d, E1 u2 W
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() ), m4 ~( D& r& p) K% J' @
                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );# e4 R7 T9 G0 |! L0 ^$ X4 c
. d. Z, S, D, S, m; s
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp5 v2 Q3 d1 }3 ?+ F6 e
and add under$ ~5 w6 l2 L& \! L+ q2 G
9 {4 `! J3 `: Q6 H8 o/ S7 F$ e, m8 t- S
Code:1 W/ ?* x9 B3 _# }# _" Z# T4 w
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )9 E4 W2 w' q$ O5 T- z
                        {
) Z7 ^- L$ `; y& Q- j# u                                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 );
( A2 ]5 C' Y$ {; M7 O0 N                        }this
/ o% j" M8 ~; H3 t/ b5 P# T4 w6 ?/ h5 N
Code:* y7 a* E1 j7 V% p/ z2 b3 E
#ifdef __QUGET_SWAP_FIX( Z" }: K3 z- j3 T* ]
                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )6 ?1 l+ ?6 L" d2 ]0 l3 T* N+ u
                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());1 {# L: f, E/ v8 P- X/ B
( q% l6 V! [2 N
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )$ c' i2 z0 Z6 J) L9 ?0 a7 \
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
/ c4 z, Y! q9 f
5 u4 ?+ Z( e* t) W                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
# Z" j) _( s# C  k" u                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
, x6 t0 p% P0 |$ E
7 q! K( b7 F+ W% m' J# Q8 S& j#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; e1 ^- i/ R$ q6 C; F
, [+ h" ]' w4 \, u( g

- r! G! P/ v6 A7 C5 b

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 07:33 , Processed in 0.070599 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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