飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16488|回复: 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
% o- R; u9 ]' w8 x/ ]( zI posted this because someone kinda posted a youtube thingy about it :O.
' `# a$ n% Q3 D) I  Q6 ~% o0 D" k
Find this in DPSrv.cpp @ worldserver
  d- J& h; y' ^" b. O7 N/ Y
0 [& o' ^5 v5 o4 H! aCode:
, T7 J1 e1 s* x% u! A0 N: X" Zvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
0 w) i; w" W$ m9 r9 s{9 j( H  e, ]' N- m" `4 P/ a
        DWORD nId;
# H  H  d7 `& M0 p5 @) |, _4 R8 [$ f        int nPart;
+ N  h& q7 O5 }9 t5 }8 p, P. X" d+ f, p/ W0 [# F  ]- j/ D# y
        ar >> nId;
, L4 e2 p0 ~9 E$ i+ F, u& |6 w' I        ar >> nPart;                , \. y# n* g% a5 @- m, ]2 W' p
       
5 d9 ^& H: l; e4 P& }        if( nPart >= MAX_HUMAN_PARTS )       
- z# u+ K; m' Y5 N: b. T                return;" V3 _5 X% I& h* T
1 W8 {# k1 |! L. U- C
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it$ D* h* M5 l8 ^0 j( d  d& }5 t

# B1 u1 a8 E: Z& t% b- {- S- A7 Y( R' h2 w  E3 m
Code:( |/ a8 x: u/ l3 j9 D, [
#ifdef __QUGET_SWAP_FIX
3 T  m4 b3 o$ i( N5 v2 R* v1 A' j; N* K8 ~
                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
4 I6 a6 T. n1 ^  x                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());! i2 p7 {& W  m* |
2 D1 W  `# @+ `. s! J9 k
                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )  i9 ~" K6 U6 e
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );. B" n  U1 g3 e: h1 r9 _
# [5 d: j6 v, r3 z
                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
' N' ]7 J8 l6 U2 J6 G/ r3 b: l" z                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );& f4 Z& F3 q( e" ^. ^7 K
' O3 j% A, M/ L+ [* k' O
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp
2 {2 p5 \1 B; n' v" M( y8 Jand add under
5 ^' z8 ]6 N/ F4 [& l- j1 a
2 s3 U7 V6 W- E% v' z* Y: RCode:
+ y8 `1 T: e& h. d$ g' B0 kif( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
* S. a' V; S/ C5 y8 Z3 o                        {
4 E9 x+ H# Z# 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 );0 O; r! ]5 D7 F/ b# L8 C- I: A& q
                        }this8 n0 |& N. n# h2 g8 P  ?, B
# k' I6 n- f3 u8 Y
Code:* \& Q2 J6 {3 Z* p# \% t
#ifdef __QUGET_SWAP_FIX
- Y! S7 i2 b, S                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
8 p* K: v1 g' s                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());
! I0 E& c8 z# P% }) d
3 @* y6 D/ [4 }5 q                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
" @% G" J* h. F  L, W                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );0 g" Y1 w# ]/ f- r# R% \8 r$ X

! B0 A. d  l/ j                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )% {- Z, g2 z& F* T" U$ j/ {
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
- t2 o4 O3 z/ S: P/ c+ Z& C; `
- Z, ~4 |- L) Y8 g, l#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver 7 B2 R0 H5 F  E* C: V  W

- W& f( ]/ O2 Y/ l! t( E7 a- H/ l2 i: b

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 14:57 , Processed in 0.061216 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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