飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 16443|回复: 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
7 S9 t- P8 a. G6 A2 D# z; u* CI posted this because someone kinda posted a youtube thingy about it :O.
+ Z! R& c$ `1 ?; O4 _  d
, y1 R) @; D! Y$ ~" G2 K) y- B$ RFind this in DPSrv.cpp @ worldserver. d; N* y8 f, ~

: u4 d1 W% z8 I8 }# VCode:6 \/ A, Q6 l1 E+ T1 u
void CDPSrvr::OnDoEquip( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )' t2 Q2 A. X# B0 l& H( F( r
{5 p1 F8 j7 m) f# F+ R
        DWORD nId;
9 O2 e2 Z  M6 v% n- y        int nPart;. B" n) [: \9 F

4 A- f$ Q4 ~, H/ ?+ s4 y, u        ar >> nId;
) I. g) C7 \5 l$ D, Y' y        ar >> nPart;               
3 i- q$ K8 g; }        2 N) J$ t3 G/ A2 j0 U9 Q. D
        if( nPart >= MAX_HUMAN_PARTS )        $ x* x: l. c/ M
                return;
6 P! r& A9 @2 d$ O/ W7 k& Z! o6 k. i0 X, l$ O  m% e
        CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );And put this under it6 a1 W5 A- Q' @; h1 S
2 O3 O- q2 T7 U
$ S) s+ O7 C5 j) f  `
Code:
) @. R$ P. Z4 V& w# Z% v" @7 k! c#ifdef __QUGET_SWAP_FIX, S0 k$ m  A4 S: R1 R

+ g( }# S- A" b* b$ @                                if( pUser->GetHitPoint() >  pUser->GetMaxHitPoint() )
  p8 J' O2 `' G: F                                         pUser->SetHitPoint( pUser->GetMaxHitPoint());
- t+ R+ `  [% |, a4 I1 l: u
( h% z* I) l6 h: N                                if( pUser->GetManaPoint() >  pUser->GetMaxManaPoint() )" Z2 [; z- H" E+ \" s
                                         pUser->SetManaPoint( pUser->GetMaxManaPoint() );8 v8 T" E7 T% [

" @& M1 X% ^6 K                                if( pUser->GetFatiguePoint() >  pUser->GetMaxFatiguePoint() )
4 D( w5 a# m  ?* l3 A6 j4 {                                         pUser->SetFatiguePoint( pUser->GetMaxFatiguePoint() );
1 s" I) a# D, o0 J' Z7 i. q0 g' T* m' P0 K4 u$ c. E9 y9 i3 V
#endiffind this in function void CDPClient::OnDoEquip( OBJID objid, CAr & ar ) @ DPClient.cpp- i8 d! j4 c  ~* m2 \
and add under3 F: V, ~3 W) d2 e$ A7 A4 F

' @5 N3 p! y0 _  J; \4 J2 bCode:3 W0 B+ {2 a( ^0 e" O. U8 l+ q4 m
if( g_WndMng.m_pWndBeautyShop && g_WndMng.m_pWndBeautyShop->m_pModel )6 J; s+ J9 E$ S4 ?# i9 X' F5 O
                        {
2 U8 o- n7 d+ r2 S                                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 );- {& I) K6 E: j. |6 |# {/ k) u9 A/ @
                        }this
' ?6 ]  L1 _6 v/ }$ y* Y: G# Z4 {7 l0 k
& E: s3 u: ~( u, h) y1 ]9 QCode:! L% f& w9 @* f$ G  c7 n' l
#ifdef __QUGET_SWAP_FIX
  X# v8 a+ z2 Z* @* J# ?, X                                if( pPlayer->GetHitPoint() >  pPlayer->GetMaxHitPoint() )
+ p! \- l2 h2 p' ^5 p                                         pPlayer->SetHitPoint( pPlayer->GetMaxHitPoint());3 t9 Z. p( k, e; b& k1 b7 z" q# K+ j
, m: r" l9 r: h5 y: J9 M
                                if( pPlayer->GetManaPoint() >  pPlayer->GetMaxManaPoint() )
& \' m) Q0 |; {+ f8 ~5 J& v* ?8 j                                         pPlayer->SetManaPoint( pPlayer->GetMaxManaPoint() );
, P* h: J2 t8 w+ [8 Q, V( m. y3 |9 i! x2 n, }! `+ V: ^9 l
                                if( pPlayer->GetFatiguePoint() >  pPlayer->GetMaxFatiguePoint() )
+ M  d! F2 S" G6 U7 T+ B* H                                         pPlayer->SetFatiguePoint( pPlayer->GetMaxFatiguePoint() );
8 K$ A) [0 u/ s6 S$ P' Y7 i1 L3 u3 m7 L* f+ Q
#endifand then define __QUGET_SWAP_FIX in versioncommon.h @neuz and worldserver ; T' Z) X8 o5 ~4 O& F. X, t

7 Q+ d1 i* j/ a" u
" P+ ~. e4 n% L* [* P

相关帖子

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 00:10 , Processed in 0.068228 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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