飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17041|回复: 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
" L4 e. t$ b0 ]' L+ S, z% ~9 hI posted this because someone kinda posted a youtube thingy about it :O.
9 S0 H, t* `+ m% e, R/ }
$ b9 d& Z( g9 g% WFind this in DPSrv.cpp @ worldserver1 |* x0 \/ N  w8 L1 [

1 j* L5 Z, A0 M- a  j; lCode:
  \, J( ^6 v# r; _8 Zvoid CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )% A; R9 v& p3 g2 U1 U
{6 {' Y4 \" A* J5 P, O0 g
        DWORD nId;& k2 G9 F1 p7 I- H1 H
        int nPart;
+ X2 u; J$ y% z: g7 N; X5 i3 L8 h, C* D  j
        ar >> nId;5 `2 d" f3 E: E& U  A
        ar >> nPart;                6 H  A/ u% [# f" g8 {( c
       
1 G6 M. D5 z( Y        if( nPart >= MAX_HUMAN_PARTS )       
- n8 o, r: m* O! m* d+ E                return;
  m5 c# X+ d) r4 B0 Z
( L0 E# T. r7 Y. b6 {7 m% W) r        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it# b# J; l) O" i' t. E

3 H# g7 W! T& m0 d  ]7 k6 z8 V  E4 W2 d6 u; P
Code:
2 B6 _+ |% t/ t% c; y& c3 r#ifdef __QUGET_SWAP_FIX
. w9 W8 c. ?. A0 K  I" c
; E/ p% J; P7 ~- ^                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )$ `/ h2 F/ Z+ K
                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
" x8 u' L+ T$ C3 p
1 m, _. z9 H. c9 d! O$ k: T$ A) o                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )  r; Z; C  _9 J' c! R
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );7 a* q1 [6 \8 m& p" {) G6 X

2 D4 W: p/ a% `. B% k2 P+ o( C8 R                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
- q5 M" @% o, T; }; p* \5 w                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );- R- p* M* R) D3 h7 L2 l$ q

6 q+ ?) `& {; i: b0 V/ ^#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp7 [* r( F1 U9 ]! l$ U, m
and add under
1 j$ r% n/ Z( s* Q) ]
  A0 w7 [( u- M+ D% LCode:. a: g7 k5 v3 m- ~8 V
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )
5 m/ F( J: @1 G! i                        {
* m. Y' ?/ f% a5 r4 ^                                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 Q# S# f' W# M
                        }this# x$ Y7 y' a: Q3 g8 @& ?

6 x8 C' C% E9 c) ?2 S# j' B7 OCode:: i! E5 J4 O3 y6 s0 G9 O1 o
#ifdef __QUGET_SWAP_FIX
6 P9 N9 l9 r% K: K3 h+ D! a                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
! J# K. x) W  @+ ]( s9 X  W( x                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());$ F$ y& E. h8 i' f7 x- d

: r  a6 m- A# ]0 n                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )* R4 q+ [. T0 k  v6 X
                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
" m3 V6 Z2 X+ B. x0 ?* J  _
+ T1 \5 {! Y1 z; T# p- e                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )6 [& A3 [+ S" B5 y0 H4 v: J
                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
1 i* |. t+ S: U% B9 @" `5 Q; R% ^6 R3 w" I; b7 }- U
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver * S% H, ^# {7 H& t( m/ w: j

' y5 @7 j. N- d/ f- {' _5 h  w5 z, q4 y, k

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 10:57 , Processed in 0.065539 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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